@candriajs/git-neko-kit 0.7.6 → 0.7.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 ht=require('path'),url=require('url'),Ze=require('fs'),ft=require('color-convert'),O=require('dayjs'),bt=require('dayjs/plugin/relativeTime.js'),Tt=require('git-url-parse'),Rt=require('language-colors'),uuid=require('uuid'),M=require('axios'),httpProxyAgent=require('http-proxy-agent'),httpsProxyAgent=require('https-proxy-agent'),socksProxyAgent=require('socks-proxy-agent'),lodashEs=require('lodash-es'),pt=require('crypto'),$t=require('jsonwebtoken');var _documentCurrentScript=typeof document!=='undefined'?document.currentScript:null;function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var ht__default=/*#__PURE__*/_interopDefault(ht);var Ze__default=/*#__PURE__*/_interopDefault(Ze);var ft__default=/*#__PURE__*/_interopDefault(ft);var O__default=/*#__PURE__*/_interopDefault(O);var bt__default=/*#__PURE__*/_interopDefault(bt);var Tt__default=/*#__PURE__*/_interopDefault(Tt);var Rt__default=/*#__PURE__*/_interopDefault(Rt);var M__default=/*#__PURE__*/_interopDefault(M);var pt__default=/*#__PURE__*/_interopDefault(pt);var $t__default=/*#__PURE__*/_interopDefault($t);var _t=Object.defineProperty;var w=(d,e)=>()=>(d&&(e=d(d=0)),e);var P=(d,e)=>{for(var a in e)_t(d,a,{get:e[a],enumerable:true});};var Pe,Y,I,Ee,L,E,Ie,ve,xe,c,X,U,Q,N,Ae,x,A,$e,Me,Z,Le,_,Ue,Ne,Se,qe,ee,f,R,Oe,De,Be,He,S,q,C,ze,te,$,We,ae,v,Ge=w(()=>{Pe="\u55B5\u545C~ \u5E94\u7528\u6807\u8BC6\u7B26\u4E0D\u80FD\u4E3A\u7A7A",Y="\u55B5\u545C~ \u6388\u6743\u7801\u4E0D\u80FD\u4E3A\u7A7A",I="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u4E0D\u80FD\u4E3A\u7A7A",Ee="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A\u54E6",L="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",E="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",Ie="\u55B5\u545C~ \u8BAE\u9898\u6807\u9898\u4E0D\u80FD\u4E3A\u7A7A",ve="\u55B5\u545C~ \u7EC4\u7EC7\u540D\u6216\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A",xe="\u55B5\u545C~ \u7EC4\u7EC7\u540D\u4E0D\u80FD\u4E3A\u7A7A",c="\u55B5\u545C~ \u8BF7\u63D0\u4F9B\u4ED3\u5E93\u62E5\u6709\u8005\u548C\u4ED3\u5E93\u540D\u79F0",X="\u55B5\u545C~ \u8BF7\u63D0\u4F9B\u4ED3\u5E93\u4FE1\u606F(\u4ED3\u5E93\u62E5\u6709\u8005/\u4ED3\u5E93\u540D\u6216\u5B8C\u6574URL)",U="\u55B5\u545C~ \u53C2\u6570\u597D\u50CF\u4E0D\u592A\u5BF9\u5462",Q="\u55B5\u545C~ \u4EE3\u7406\u5730\u5740\u683C\u5F0F\u4E0D\u6B63\u786E\u54E6",N="\u55B5\u545C~ \u8FD9\u4E2A\u5B50\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",Ae="\u55B5\u545C~ \u7528\u6237ID\u4E0D\u80FD\u4E3A\u7A7A",x="\u55B5\u545C~ \u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A",A="\u55B5\u545C~ \u8FD9\u4E2A\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",$e="\u55B5\u545C~ \u8FD9\u4E2A\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",Me="\u55B5\u545C~ \u6743\u9650\u4E0D\u6B63\u786E\uFF0C\u8BF7\u68C0\u67E5\u6743\u9650",Z="\u55B5\u545C~ \u8FD9\u4E2A\u5237\u65B0\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",Le="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5DF2\u8FC7\u671F",_="\u55B5\u545C~ \u8BBF\u95EE\u88AB\u62D2\u7EDD\u5566\uFF0C\u53EF\u80FD\u662F\u4EE4\u724C\u8FC7\u671F\u4E86\u6216\u6743\u9650\u4E0D\u8DB3",Ue="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u5931\u8D25",Ne="\u55B5\u545C~ \u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25",Se="\u55B5\u545C~ \u7EC4\u7EC7\u8D26\u53F7\u6682\u4E0D\u652F\u6301",qe="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u4E0D\u5B58\u5728\u54E6",ee="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",f="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u4E0D\u5B58\u5728\u54E6",R="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u4E0D\u5B58\u5728\u54E6",Oe="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u5DF2\u88AB\u79FB\u52A8",De="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u9501\u5B9A\u5931\u8D25\u54E6",Be="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u521B\u5EFA\u5931\u8D25\u54E6",He="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u89E3\u9501\u5931\u8D25\u54E6",S="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u4E0D\u5B58\u5728\u54E6",q="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u6216\u7528\u6237\u4E0D\u5B58\u5728\u54E6",C="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",ze="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u5DF2\u88AB\u79FB\u52A8",te="\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",$="\u55B5\u545C~ \u8FD9\u4E2A\u7528\u6237\u4E0D\u5B58\u5728\u54E6",We="\u55B5\u545C~ WebHook \u7B7E\u540D\u683C\u5F0F\u4E0D\u6B63\u786E",ae="\u55B5\u545C~ WebHook \u7B7E\u540D\u9A8C\u8BC1\u5931\u8D25",v="\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 je,se,Fe,Je,Ke,Ve,Ye=w(()=>{je="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u6210\u529F",se="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u6709\u6548",Fe="\u55B5\u545C~ WebHook \u7B7E\u540D\u6210\u529F",Je="\u55B5\u545C~ \u8BAE\u9898\u9501\u5B9A\u6210\u529F",Ke="\u55B5\u545C~ \u8BAE\u9898\u89E3\u9501\u6210\u529F",Ve="\u55B5\u545C~ \u8BAE\u9898\u8BC4\u8BBA\u521B\u5EFA\u6210\u529F";});var wt,Xe,Qe=w(()=>{wt=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))),Xe=Object.freeze(ht__default.default.join(wt,"../..").replace(/\\/g,"/"));});function et(d="",e=""){e=e||Xe;try{let a=`${e}/${d}`;if(!Ze__default.default.existsSync(a))return console.warn(`\u6587\u4EF6\u4E0D\u5B58\u5728: ${a}`),{};let r=Ze__default.default.readFileSync(a,"utf8");return JSON.parse(r)}catch(a){return console.error(`\u8BFB\u53D6 JSON \u6587\u4EF6\u5931\u8D25: ${d}`,a),{}}}async function tt(d="zh-cn"){let e=String(d).toLowerCase();await import(`dayjs/locale/${e}.js`),O__default.default.locale(e);}async function h(d,e="zh-cn",a="YYYY-MM-DD HH:mm:ss"){return await tt(e),O__default.default(d).format(a)}async function Ct(d,e="zh-cn"){return await tt(e),O__default.default.extend(bt__default.default),O__default.default(d).fromNow()}function re(d){let e=/^https?:\/\/[^/]+\/(?:https?:\/\/)?([^/]+\/[^/]+\/[^/]+)/,a=d.match(e);if(a){let o=a[1];d=o.startsWith("https")?o:`https://${o}`;}let r=Tt__default.default(d);return {owner:r.owner,repo:r.name}}function kt(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 `#${ft__default.default.rgb.hex(d)}`}function oe(d){return d=String(d).toLowerCase(),kt(Rt__default.default[d].color)??"#ededed"}async function Pt(d,e){return Promise.resolve(Array.from({length:Math.ceil(d.length/e)},(a,r)=>d.slice(r*e,r*e+e)))}async function at(d){let e=/data-date="(.*?)" id="contribution-day-component/g,a=/<tool-tip .*?class="sr-only position-absolute">(.*?) contribution/g,r=Array.from(d.matchAll(e),i=>i[1]),o=Array.from(d.matchAll(a),i=>String(i[1]).toLowerCase()==="no"?0:parseInt(i[1]));if(!r.length||!o.length)return {total:0,contributions:[]};let t=r.map((i,u)=>({date:i,count:o[u]})).sort((i,u)=>i.date.localeCompare(u.date)),s=await Pt(t,7);return {total:o.reduce((i,u)=>i+u,0),contributions:s}}var ne=w(()=>{Qe();});var ie,st=w(()=>{ne();ie=et("package.json");});var b=w(()=>{Ge();Ye();ne();st();});function ue(d="github",e,a="common"){let r={github:"api.github.com",gitee:"gitee.com/api/v5",gitcode:"api.gitcode.com/api/v5"};if(!e)return `https://${r[d??"github"]}`.replace(/\/$/,"");let t=`${e.match(/^(https?):/)?.[1]??"https"}://${e.replace(/^https?:\/\/|\/$/g,"")}`;return a==="common"?t:`${t}/${r[d]}`}function le(d="github",e,a="common"){let r={github:"github.com",gitee:"gitee.com",gitcode:"gitcode.com"};if(!e)return `https://${r[d??"github"]}`.replace(/\/$/,"");let t=`${e.match(/^(https?):/)?.[1]??"https"}://${e.replace(/^https?:\/\/|\/$/g,"")}`;return a==="common"?t:`${t}/${r[d]}`}async function It(){return Promise.resolve(uuid.v4().replace(/-/g,""))}var de=w(()=>{});var D,pe=w(()=>{b();D=class{baseUrl;tokenType;authorization;proxy;defaultHeaders;constructor(e,a="Bearer",r,o,t){this.baseUrl=e.replace(/\/$/,""),this.authorization=r,this.proxy=o,this.tokenType=a,this.defaultHeaders=t;}async request(e,a,r,o,t){let s=`${this.baseUrl}/${a}`.replace(/\/+/g,"/"),i={headers:this.createHeaders(t),params:r,validateStatus:()=>true};if(this.proxy){let u=this.proxy.type,n=this.proxy.address;switch(u){case "http":i.httpAgent=new httpProxyAgent.HttpProxyAgent(n),i.httpsAgent=new httpsProxyAgent.HttpsProxyAgent(n);break;case "https":i.httpsAgent=new httpsProxyAgent.HttpsProxyAgent(n);break;case "socks":case "socks5":{let l=new socksProxyAgent.SocksProxyAgent(n);i.httpAgent=l,i.httpsAgent=l;break}}}try{let u;switch(e){case "get":u=await M__default.default.get(s,i);break;case "post":u=await M__default.default.post(s,o,i);break;case "patch":u=await M__default.default.patch(s,o,i);break;case "put":u=await M__default.default.put(s,o,i);break;case "delete":u=await M__default.default.delete(s,{...i,data:o});break;default:throw new Error(`\u4E0D\u652F\u6301\u7684\u8BF7\u6C42\u65B9\u6CD5: ${e}`)}let n=Object.fromEntries(Object.entries(u.headers).filter(([l,g])=>g!==void 0).map(([l,g])=>[l.toLowerCase(),g]));return {success:!0,statusCode:u.status,headers:n,data:u.data,msg:u.status>=200&&u.status<500?"\u8BF7\u6C42\u6210\u529F":"\u8BF7\u6C42\u5F02\u5E38"}}catch(u){let n=u,l=n.response?.headers?Object.fromEntries(Object.entries(n.response.headers).filter(([g,p])=>p!==void 0).map(([g,p])=>[g,p])):{};return {success:false,statusCode:n.response?.status??500,headers:l,msg:n.message??"\u7F51\u7EDC\u8FDE\u63A5\u5931\u8D25",data:null}}}async get(e,a,r){return this.request("get",e,a,null,r)}async post(e,a,r,o){return this.request("post",e,a,r,o)}async patch(e,a=null,r,o){return this.request("patch",e,a,r,o)}async put(e,a,r,o){return this.request("put",e,a,r,o)}async delete(e,a=null,r,o){return this.request("delete",e,a,r,o)}createHeaders(e){let a={"Content-Type":"application/json","User-Agent":`${ie.name}/v${ie.version}`,...this.defaultHeaders??{}};if(this.authorization)if(this.tokenType==="Basic"){let r=Buffer.from(this.authorization).toString("base64");a.Authorization=`Basic ${r}`;}else this.tokenType==="Bearer"?a.Authorization=`Bearer ${this.authorization}`:a.Authorization=`${this.tokenType} ${this.authorization}`;return e&&Object.assign(a,e),a}};});var ot={};P(ot,{Auth:()=>B});var B,ce=w(()=>{b();k();B=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_token_by_code(e){try{if(!e.code)throw new Error(Y);this.setRequestConfig({url:this.BaseUrl});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"}),r=a.status==="ok"&&a.statusCode===200&&!a.data.error;if(a.data){if(!r)throw new Error(Ne);let o={success:r,info:se,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=o;}return a}catch(a){throw new Error(`\u8BF7\u6C42\u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${a.message}`)}}async check_token_status(e){try{let a=e?.access_token??this.userToken;if(!a)throw new Error(I);if(!a.startsWith("ghu_"))throw new Error($e);this.setRequestConfig({url:this.ApiUrl,tokenType:"Basic",token:`${this.Client_ID}:${this.Client_Secret}`});let r=await this.post(`/applications/${this.Client_ID}/token`,{access_token:a});if(r.data){let o=!(r.status==="ok"&&(r.statusCode===404||r.statusCode===422));r.data={success:o,info:o?se:Le};}return r}catch(a){throw new Error(`\u8BF7\u6C42\u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u72B6\u6001\u5931\u8D25: ${a.message}`)}}async refresh_token(e){try{if(!e.refresh_token)throw new Error(Y);if(!e.refresh_token.startsWith("ghr_"))throw new Error(Z);this.setRequestConfig({url:this.BaseUrl});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"}),r=a.status==="ok"&&a.statusCode===200&&!a.data.error,o=Ue;switch(a.data.error){case "bad_refresh_token":o=Z;break;case "unauthorized":o=_;break}if(a.data){if(!r)throw new Error(o);let t={success:r,info:je,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(`\u8BF7\u6C42\u5237\u65B0\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${a.message}`)}}async create_auth_link(e){try{let a=new URL("/login/oauth/authorize",this.BaseUrl);return a.search=new URLSearchParams({client_id:this.Client_ID,...e&&{state:e}}).toString(),Promise.resolve(a.toString())}catch(a){throw new Error(`\u751F\u6210\u6388\u6743\u94FE\u63A5\u5931\u8D25: ${a.message}`)}}};});var nt={};P(nt,{Commit:()=>z});var z,me=w(()=>{b();k();z=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_commit_info(e){try{this.setRequestConfig({token:this.userToken});let a,r,o,t;if("url"in e){o=e.url;let u=re(o);a=u?.owner,r=u?.repo;}else if("owner"in e&&"repo"in e)a=e.owner,r=e.repo;else throw new Error(X);e.sha?t=e.sha:t=await(await this.get_repo()).get_repo_default_branch({owner:a,repo:r});let s=await this.get(`/repos/${a}/${r}/commits/${t}`);switch(s.statusCode){case 401:throw new Error(_);case 404:throw new Error(ee);case 422:throw new Error(qe)}let i=e.format??this.format;if(s.data){let u=s.data?.commit?.message??"",[n,...l]=u.split(`
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var ht=require('path'),url=require('url'),Ze=require('fs'),ft=require('color-convert'),O=require('dayjs'),bt=require('dayjs/plugin/relativeTime.js'),Tt=require('git-url-parse'),Rt=require('language-colors'),uuid=require('uuid'),M=require('axios'),httpProxyAgent=require('http-proxy-agent'),httpsProxyAgent=require('https-proxy-agent'),socksProxyAgent=require('socks-proxy-agent'),lodashEs=require('lodash-es'),pt=require('crypto'),$t=require('jsonwebtoken');var _documentCurrentScript=typeof document!=='undefined'?document.currentScript:null;function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var ht__default=/*#__PURE__*/_interopDefault(ht);var Ze__default=/*#__PURE__*/_interopDefault(Ze);var ft__default=/*#__PURE__*/_interopDefault(ft);var O__default=/*#__PURE__*/_interopDefault(O);var bt__default=/*#__PURE__*/_interopDefault(bt);var Tt__default=/*#__PURE__*/_interopDefault(Tt);var Rt__default=/*#__PURE__*/_interopDefault(Rt);var M__default=/*#__PURE__*/_interopDefault(M);var pt__default=/*#__PURE__*/_interopDefault(pt);var $t__default=/*#__PURE__*/_interopDefault($t);var _t=Object.defineProperty;var w=(d,e)=>()=>(d&&(e=d(d=0)),e);var P=(d,e)=>{for(var a in e)_t(d,a,{get:e[a],enumerable:true});};var Pe,Y,I,Ee,L,E,Ie,ve,xe,c,X,U,Q,N,Ae,x,A,$e,Me,Z,Le,_,Ue,Ne,Se,qe,ee,f,R,Oe,De,Be,He,S,q,C,ze,te,$,We,ae,v,Ge=w(()=>{Pe="\u55B5\u545C~ \u5E94\u7528\u6807\u8BC6\u7B26\u4E0D\u80FD\u4E3A\u7A7A",Y="\u55B5\u545C~ \u6388\u6743\u7801\u4E0D\u80FD\u4E3A\u7A7A",I="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u4E0D\u80FD\u4E3A\u7A7A",Ee="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A\u54E6",L="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",E="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",Ie="\u55B5\u545C~ \u8BAE\u9898\u6807\u9898\u4E0D\u80FD\u4E3A\u7A7A",ve="\u55B5\u545C~ \u7EC4\u7EC7\u540D\u6216\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A",xe="\u55B5\u545C~ \u7EC4\u7EC7\u540D\u4E0D\u80FD\u4E3A\u7A7A",c="\u55B5\u545C~ \u8BF7\u63D0\u4F9B\u4ED3\u5E93\u62E5\u6709\u8005\u548C\u4ED3\u5E93\u540D\u79F0",X="\u55B5\u545C~ \u8BF7\u63D0\u4F9B\u4ED3\u5E93\u4FE1\u606F(\u4ED3\u5E93\u62E5\u6709\u8005/\u4ED3\u5E93\u540D\u6216\u5B8C\u6574URL)",U="\u55B5\u545C~ \u53C2\u6570\u597D\u50CF\u4E0D\u592A\u5BF9\u5462",Q="\u55B5\u545C~ \u4EE3\u7406\u5730\u5740\u683C\u5F0F\u4E0D\u6B63\u786E\u54E6",N="\u55B5\u545C~ \u8FD9\u4E2A\u5B50\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",Ae="\u55B5\u545C~ \u7528\u6237ID\u4E0D\u80FD\u4E3A\u7A7A",x="\u55B5\u545C~ \u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A",A="\u55B5\u545C~ \u8FD9\u4E2A\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",$e="\u55B5\u545C~ \u8FD9\u4E2A\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",Me="\u55B5\u545C~ \u6743\u9650\u4E0D\u6B63\u786E\uFF0C\u8BF7\u68C0\u67E5\u6743\u9650",Z="\u55B5\u545C~ \u8FD9\u4E2A\u5237\u65B0\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",Le="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5DF2\u8FC7\u671F",_="\u55B5\u545C~ \u8BBF\u95EE\u88AB\u62D2\u7EDD\u5566\uFF0C\u53EF\u80FD\u662F\u4EE4\u724C\u8FC7\u671F\u4E86\u6216\u6743\u9650\u4E0D\u8DB3",Ue="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u5931\u8D25",Ne="\u55B5\u545C~ \u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25",Se="\u55B5\u545C~ \u7EC4\u7EC7\u8D26\u53F7\u6682\u4E0D\u652F\u6301",qe="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u4E0D\u5B58\u5728\u54E6",ee="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",f="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u4E0D\u5B58\u5728\u54E6",R="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u4E0D\u5B58\u5728\u54E6",Oe="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u5DF2\u88AB\u79FB\u52A8",De="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u9501\u5B9A\u5931\u8D25\u54E6",Be="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u521B\u5EFA\u5931\u8D25\u54E6",He="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u89E3\u9501\u5931\u8D25\u54E6",S="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u4E0D\u5B58\u5728\u54E6",q="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u6216\u7528\u6237\u4E0D\u5B58\u5728\u54E6",C="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",ze="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u5DF2\u88AB\u79FB\u52A8",te="\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",$="\u55B5\u545C~ \u8FD9\u4E2A\u7528\u6237\u4E0D\u5B58\u5728\u54E6",We="\u55B5\u545C~ WebHook \u7B7E\u540D\u683C\u5F0F\u4E0D\u6B63\u786E",ae="\u55B5\u545C~ WebHook \u7B7E\u540D\u9A8C\u8BC1\u5931\u8D25",v="\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 je,se,Fe,Je,Ke,Ve,Ye=w(()=>{je="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u6210\u529F",se="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u6709\u6548",Fe="\u55B5\u545C~ WebHook \u7B7E\u540D\u6210\u529F",Je="\u55B5\u545C~ \u8BAE\u9898\u9501\u5B9A\u6210\u529F",Ke="\u55B5\u545C~ \u8BAE\u9898\u89E3\u9501\u6210\u529F",Ve="\u55B5\u545C~ \u8BAE\u9898\u8BC4\u8BBA\u521B\u5EFA\u6210\u529F";});var wt,Xe,Qe=w(()=>{wt=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))),Xe=Object.freeze(ht__default.default.join(wt,"../..").replace(/\\/g,"/"));});function et(d="",e=""){e=e||Xe;try{let a=`${e}/${d}`;if(!Ze__default.default.existsSync(a))return console.warn(`\u6587\u4EF6\u4E0D\u5B58\u5728: ${a}`),{};let r=Ze__default.default.readFileSync(a,"utf8");return JSON.parse(r)}catch(a){return console.error(`\u8BFB\u53D6 JSON \u6587\u4EF6\u5931\u8D25: ${d}`,a),{}}}async function tt(d="zh-cn"){let e=String(d).toLowerCase();await import(`dayjs/locale/${e}.js`),O__default.default.locale(e);}async function h(d,e="zh-cn",a="YYYY-MM-DD HH:mm:ss"){return await tt(e),O__default.default(d).format(a)}async function Ct(d,e="zh-cn"){return await tt(e),O__default.default.extend(bt__default.default),O__default.default(d).fromNow()}function re(d){let e=/^https?:\/\/[^/]+\/(?:https?:\/\/)?([^/]+\/[^/]+\/[^/]+)/,a=d.match(e);if(a){let o=a[1];d=o.startsWith("https")?o:`https://${o}`;}let r=Tt__default.default(d);return {owner:r.owner,repo:r.name}}function kt(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 `#${ft__default.default.rgb.hex(d)}`}function oe(d){return d=String(d).toLowerCase(),kt(Rt__default.default[d].color)??"#ededed"}async function Pt(d,e){return Promise.resolve(Array.from({length:Math.ceil(d.length/e)},(a,r)=>d.slice(r*e,r*e+e)))}async function at(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,r=Array.from(d.matchAll(e),i=>i[1]),o=Array.from(d.matchAll(a),i=>String(i[1]).toLowerCase()==="no"?0:parseInt(i[1]));if(!r.length||!o.length)return {total:0,contributions:[]};let t=r.map((i,u)=>({date:i,count:o[u]})).sort((i,u)=>i.date.localeCompare(u.date)),s=await Pt(t,7);return {total:o.reduce((i,u)=>i+u,0),contributions:s}}catch(e){throw new Error(`\u89E3\u6790\u8D21\u732E\u6570\u636E\u5931\u8D25: ${e}`)}}var ne=w(()=>{Qe();});var ie,st=w(()=>{ne();ie=et("package.json");});var b=w(()=>{Ge();Ye();ne();st();});function ue(d="github",e,a="common"){let r={github:"api.github.com",gitee:"gitee.com/api/v5",gitcode:"api.gitcode.com/api/v5"};if(!e)return `https://${r[d??"github"]}`.replace(/\/$/,"");let t=`${e.match(/^(https?):/)?.[1]??"https"}://${e.replace(/^https?:\/\/|\/$/g,"")}`;return a==="common"?t:`${t}/${r[d]}`}function le(d="github",e,a="common"){let r={github:"github.com",gitee:"gitee.com",gitcode:"gitcode.com"};if(!e)return `https://${r[d??"github"]}`.replace(/\/$/,"");let t=`${e.match(/^(https?):/)?.[1]??"https"}://${e.replace(/^https?:\/\/|\/$/g,"")}`;return a==="common"?t:`${t}/${r[d]}`}async function It(){return Promise.resolve(uuid.v4().replace(/-/g,""))}var de=w(()=>{});var D,pe=w(()=>{b();D=class{baseUrl;tokenType;authorization;proxy;defaultHeaders;constructor(e,a="Bearer",r,o,t){this.baseUrl=e.replace(/\/$/,""),this.authorization=r,this.proxy=o,this.tokenType=a,this.defaultHeaders=t;}async request(e,a,r,o,t){let s=`${this.baseUrl}/${a}`.replace(/\/+/g,"/"),i={headers:this.createHeaders(t),params:r,validateStatus:()=>true};if(this.proxy){let u=this.proxy.type,n=this.proxy.address;switch(u){case "http":i.httpAgent=new httpProxyAgent.HttpProxyAgent(n),i.httpsAgent=new httpsProxyAgent.HttpsProxyAgent(n);break;case "https":i.httpsAgent=new httpsProxyAgent.HttpsProxyAgent(n);break;case "socks":case "socks5":{let l=new socksProxyAgent.SocksProxyAgent(n);i.httpAgent=l,i.httpsAgent=l;break}}}try{let u;switch(e){case "get":u=await M__default.default.get(s,i);break;case "post":u=await M__default.default.post(s,o,i);break;case "patch":u=await M__default.default.patch(s,o,i);break;case "put":u=await M__default.default.put(s,o,i);break;case "delete":u=await M__default.default.delete(s,{...i,data:o});break;default:throw new Error(`\u4E0D\u652F\u6301\u7684\u8BF7\u6C42\u65B9\u6CD5: ${e}`)}let n=Object.fromEntries(Object.entries(u.headers).filter(([l,g])=>g!==void 0).map(([l,g])=>[l.toLowerCase(),g]));return {success:!0,statusCode:u.status,headers:n,data:u.data,msg:u.status>=200&&u.status<500?"\u8BF7\u6C42\u6210\u529F":"\u8BF7\u6C42\u5F02\u5E38"}}catch(u){let n=u,l=n.response?.headers?Object.fromEntries(Object.entries(n.response.headers).filter(([g,p])=>p!==void 0).map(([g,p])=>[g,p])):{};return {success:false,statusCode:n.response?.status??500,headers:l,msg:n.message??"\u7F51\u7EDC\u8FDE\u63A5\u5931\u8D25",data:null}}}async get(e,a,r){return this.request("get",e,a,null,r)}async post(e,a,r,o){return this.request("post",e,a,r,o)}async patch(e,a=null,r,o){return this.request("patch",e,a,r,o)}async put(e,a,r,o){return this.request("put",e,a,r,o)}async delete(e,a=null,r,o){return this.request("delete",e,a,r,o)}createHeaders(e){let a={"Content-Type":"application/json","User-Agent":`${ie.name}/v${ie.version}`,...this.defaultHeaders??{}};if(this.authorization)if(this.tokenType==="Basic"){let r=Buffer.from(this.authorization).toString("base64");a.Authorization=`Basic ${r}`;}else this.tokenType==="Bearer"?a.Authorization=`Bearer ${this.authorization}`:a.Authorization=`${this.tokenType} ${this.authorization}`;return e&&Object.assign(a,e),a}};});var ot={};P(ot,{Auth:()=>B});var B,ce=w(()=>{b();k();B=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_token_by_code(e){try{if(!e.code)throw new Error(Y);this.setRequestConfig({url:this.BaseUrl});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"}),r=a.status==="ok"&&a.statusCode===200&&!a.data.error;if(a.data){if(!r)throw new Error(Ne);let o={success:r,info:se,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=o;}return a}catch(a){throw new Error(`\u8BF7\u6C42\u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${a.message}`)}}async check_token_status(e){try{let a=e?.access_token??this.userToken;if(!a)throw new Error(I);if(!a.startsWith("ghu_"))throw new Error($e);this.setRequestConfig({url:this.ApiUrl,tokenType:"Basic",token:`${this.Client_ID}:${this.Client_Secret}`});let r=await this.post(`/applications/${this.Client_ID}/token`,{access_token:a});if(r.data){let o=!(r.status==="ok"&&(r.statusCode===404||r.statusCode===422));r.data={success:o,info:o?se:Le};}return r}catch(a){throw new Error(`\u8BF7\u6C42\u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u72B6\u6001\u5931\u8D25: ${a.message}`)}}async refresh_token(e){try{if(!e.refresh_token)throw new Error(Y);if(!e.refresh_token.startsWith("ghr_"))throw new Error(Z);this.setRequestConfig({url:this.BaseUrl});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"}),r=a.status==="ok"&&a.statusCode===200&&!a.data.error,o=Ue;switch(a.data.error){case "bad_refresh_token":o=Z;break;case "unauthorized":o=_;break}if(a.data){if(!r)throw new Error(o);let t={success:r,info:je,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(`\u8BF7\u6C42\u5237\u65B0\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${a.message}`)}}async create_auth_link(e){try{let a=new URL("/login/oauth/authorize",this.BaseUrl);return a.search=new URLSearchParams({client_id:this.Client_ID,...e&&{state:e}}).toString(),Promise.resolve(a.toString())}catch(a){throw new Error(`\u751F\u6210\u6388\u6743\u94FE\u63A5\u5931\u8D25: ${a.message}`)}}};});var nt={};P(nt,{Commit:()=>z});var z,me=w(()=>{b();k();z=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_commit_info(e){try{this.setRequestConfig({token:this.userToken});let a,r,o,t;if("url"in e){o=e.url;let u=re(o);a=u?.owner,r=u?.repo;}else if("owner"in e&&"repo"in e)a=e.owner,r=e.repo;else throw new Error(X);e.sha?t=e.sha:t=await(await this.get_repo()).get_repo_default_branch({owner:a,repo:r});let s=await this.get(`/repos/${a}/${r}/commits/${t}`);switch(s.statusCode){case 401:throw new Error(_);case 404:throw new Error(ee);case 422:throw new Error(qe)}let i=e.format??this.format;if(s.data){let u=s.data?.commit?.message??"",[n,...l]=u.split(`
2
2
  `),g={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:i?await h(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:i?await h(s.data.commit.committer.date):s.data.commit.committer.date},message:s.data.commit.message,...i&&{title:n,body:l<0?l.join(`
3
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=g;}return s}catch(a){throw new Error(`\u83B7\u53D6\u63D0\u4EA4\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async get_commit_list(e){try{this.setRequestConfig({token:this.userToken});let a,r,o,t;if("url"in e){o=e.url;let g=re(o);a=g?.owner,r=g?.repo;}else if("owner"in e&&"repo"in e)a=e.owner,r=e.repo;else throw new Error(X);e.sha?t=e.sha:t=await(await this.get_repo()).get_repo_default_branch({owner:a,repo:r});let{...s}=e,i={};s.sha&&(i.sha=s.sha),s.path&&(i.path=s.path),s.author&&(i.author=s.author),s.since&&(i.since=s.since),s.until&&(i.until=s.until),s.per_page&&(i.per_page=s.per_page.toString()),s.page&&(i.page=s.page.toString());let u=`/repos/${a}/${r}/commits`,n=await this.get(u,i);switch(n.statusCode){case 401:throw new Error(_);case 404:throw new Error(ee)}let l=e?.format??this.format;if(n.data){let g=await Promise.all(n.data.map(async p=>{let[gt,...ke]=p.commit.message.split(`
4
4
  `);return {html_url:p.html_url,sha:p.sha,comments_url:p.comments_url,commit:{url:p.commit.url,author:{id:p.author.id,login:p.author.login,name:p.commit.author.name,avatar_url:p.author.avatar_url,email:p.commit.author.email,html_url:p.author.html_url,type:lodashEs.capitalize(String(p.author.type).toLowerCase()),date:l?await h(p.commit.author.date):p.commit.author.date},committer:{id:p.committer.id,login:p.committer.login,name:p.commit.committer.name,avatar_url:p.committer.avatar_url,email:p.commit.committer.email,html_url:p.committer.html_url,type:lodashEs.capitalize(String(p.committer.type).toLowerCase()),date:l?await h(p.commit.committer.date):p.commit.committer.date},message:p.commit.message,...l&&{title:gt,body:ke.length>0?ke.join(`
5
- `):null},tree:{url:p.commit.tree.url,sha:p.commit.tree.sha}},parents:p.parents.map(T=>({sha:T.sha,url:T.url})),stats:{additions:p.stats.additions,deletions:p.stats.deletions,total:p.stats.total},files:p.files.map(T=>({sha:T.sha,filename:T.filename,status:T.status,additions:T.additions,deletions:T.deletions,changes:T.changes,blob_url:T.blob_url,raw_url:T.raw_url}))}}));n.data=g;}return n}catch(a){throw new Error(`\u83B7\u53D6\u63D0\u4EA4\u5217\u8868\u5931\u8D25: ${a.message}`)}}};});var it={};P(it,{Issue:()=>W});var W,ge=w(()=>{b();k();W=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_issue_info(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o}=e,t=await this.get(`/repos/${a}/${r}/issues/${Number(o)}`);switch(t.statusCode){case 404:throw new Error(R);case 301:throw new Error(Oe)}if(t.data){let s={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,type:lodashEs.capitalize(t.data.user.type.toLowerCase())},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,type:lodashEs.capitalize(t.data.assignee.type.toLowerCase())}: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(`\u83B7\u53D6Issue\u8BE6\u60C5\u5931\u8D25: ${a.message}`)}}async get_issues_list(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,...o}=e,t={};o.milestone&&(t.milestone=o.milestone.toString()),o.state&&(t.state=o.state),o.assignee&&(t.assignee=o.assignee),o.creator&&(t.creator=o.creator),o.labels&&(t.labels=o.labels),o.sort&&(t.sort=o.sort),o.direction&&(t.direction=o.direction),o.since&&(t.since=o.since),o.per_page&&(t.per_page=o.per_page.toString()),o.page&&(t.page=o.page.toString());let s=`/repos/${a}/${r}/issues`,i=await this.get(s,t);if(i.statusCode===401)throw new Error(_);if(i.data){let u=i.data.map(n=>({id:n.id,html_url:n.html_url,number:n.number,comments:n.comments,state:n.state,state_reason:n.state_reason,title:n.title,body:n.body,user:{id:n.user.id,login:n.user.login,name:n.user.name,email:n.user.email,html_url:n.user.html_url,avatar_url:n.user.avatar_url,type:lodashEs.capitalize(n.user.type.toLowerCase())},labels:n.labels?n.labels.map(l=>({id:l.id,name:l.name,color:l.color})):null,assignee:n.assignee?{id:n.assignee.id,login:n.assignee.login,name:n.assignee.name,email:n.assignee.email,html_url:n.assignee.html_url,avatar_url:n.assignee.avatar_url,type:lodashEs.capitalize(n.assignee.type.toLowerCase())}: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,closed_at:n.closed_at,created_at:n.created_at,updated_at:n.updated_at}));i.data=u;}return i}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u7684Issue\u5217\u8868\u5931\u8D25: ${a.message}`)}}async create_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.title)throw new Error(Ie);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,...o}=e,t={...o,...o.labels&&{labels:Array.isArray(o.labels)?o.labels:[o.labels]},...o.assignees&&{assignees:Array.isArray(o.assignees)?o.assignees:[o.assignees]}},s=await this.post(`/repos/${a}/${r}/issues`,t);switch(s.statusCode){case 403:throw new Error(_);case 301:throw new Error(C)}if(s.data&&s.data){let i={id:s.data.id,html_url:s.data.html_url,number:s.data.number,comments:s.data.comments,state:s.data.state,state_reason:s.data.state_reason,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,type:lodashEs.capitalize(s.data.user.type.toLowerCase())},labels:s.data.labels?s.data.labels.map(u=>({id:u.id,name:u.name,color:u.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,type:lodashEs.capitalize(s.data.assignee.type.toLowerCase())}: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(`\u521B\u5EFAIssue\u5931\u8D25: ${a.message}`)}}async update_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,...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}/${r}/issues/${Number(o)}`,null,s);switch(i.statusCode){case 404:throw new Error(R);case 403:throw new Error(_);case 301:throw new Error(C)}if(i.data&&i.data){let u={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,type:lodashEs.capitalize(i.data.user.type.toLowerCase())},labels:i.data.labels?i.data.labels.map(n=>({id:n.id,name:n.name,color:n.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,type:lodashEs.capitalize(i.data.assignee.type.toLowerCase())}: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=u;}return i}catch(a){throw new Error(`\u66F4\u65B0Issue\u5931\u8D25: ${a.message}`)}}async open_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o}=e,t=await this.patch(`/repos/${a}/${r}/issues/${o}`,null,{state:"open"});switch(t.statusCode){case 404:throw new Error(R);case 403:throw new Error(_);case 301:throw new Error(C)}if(t.data&&t.data){let s={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,type:lodashEs.capitalize(t.data.user.type.toLowerCase())},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,type:lodashEs.capitalize(t.data.assignee.type.toLowerCase())}: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(`\u6253\u5F00Issue\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(c);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o}=e,t=await this.patch(`/repos/${a}/${r}/issues/${o}`,null,{state:"closed"});switch(t.statusCode){case 404:throw new Error(R);case 403:throw new Error(_);case 301:throw new Error(C)}if(t.data&&t.data){let s={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,type:lodashEs.capitalize(t.data.user.type.toLowerCase())},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,type:lodashEs.capitalize(t.data.assignee.type.toLowerCase())}: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(`\u5173\u95EDIssue\u5931\u8D25: ${a.message}`)}}async lock_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,lock_reason:t}=e,s=await this.put(`/repos/${a}/${r}/issues/${Number(o)}`,{locked:!0,lock_reason:t});switch(s.statusCode){case 404:throw new Error(R);case 403:throw new Error(_);case 301:throw new Error(C)}let i;return s.statusCode===204?i={info:Je}:i={info:De},s.data=i,s}catch(a){throw new Error(`\u9501\u5B9AIssue${e.issue_number}\u5931\u8D25: ${a.message}`)}}async unlock_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o}=e,t=await this.delete(`/repos/${a}/${r}/issues/${o}/lock`);switch(t.statusCode){case 404:throw new Error(R);case 403:throw new Error(_);case 301:throw new Error(C)}let s;return t.statusCode===204?s={info:Ke}:s={info:He},t.data=s,t}catch(a){throw new Error(`\u89E3\u9501Issue\u5931\u8D25: ${a.message}`)}}async get_comments_list(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,...o}=e,t={};o.sort&&(t.sort=o.sort),o.direction&&o.direction&&(t.direction=o.direction),o.since&&(t.since=o.since),o.per_page&&(t.per_page=o.per_page.toString()),o.page&&(t.page=o.page.toString());let s=`/repos/${a}/${r}/issues/comments/`,i=await this.get(s,t);if(i.statusCode===404)throw new Error(f);if(i.data){let u=i.data.map(n=>({id:n.id,html_url:n.html_url,body:n.body,user:{id:n.user.id,login:n.user.login,name:n.user.name,email:n.user.email,html_url:n.user.html_url,avatar_url:n.user.avatar_url,type:lodashEs.capitalize(n.user.type.toLowerCase())},created_at:n.created_at,updated_at:n.updated_at}));i.data=u;}return i}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93${e.owner}/${e.repo}\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_issue_comments_list(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,...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}/${r}/issues/${Number(o)}/comments`,u=await this.get(i,s);if(u.statusCode===404)throw new Error(f);if(u.data){let n=u.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,type:lodashEs.capitalize(l.user.type.toLowerCase())},created_at:l.created_at,updated_at:l.updated_at}));u.data=n;}return u}catch(a){throw new Error(`\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(c);if(!e.comment_id)throw new Error(L);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,comment_id:o}=e,t=await this.get(`/repos/${a}/${r}/issues/comments/${Number(o)}`);if(t.statusCode===404)throw new Error(f);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,type:lodashEs.capitalize(t.data.user.type.toLowerCase())},created_at:t.data.created_at,updated_at:t.data.updated_at};t.data=s;}return t}catch(a){throw new Error(`\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(c);if(!e.issue_number)throw new Error(f);if(!e.body)throw new Error(Ee);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,body:t}=e,s=await this.post(`/repos/${a}/${r}/issues/${Number(o)}/comments`,{body:t});if(s.statusCode===404)throw new Error(f);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,type:lodashEs.capitalize(s.data.user.type.toLowerCase())},created_at:s.data.created_at,updated_at:s.data.updated_at};s.data=i;}return s}catch(a){throw new Error(`\u521B\u5EFA\u8BAE\u9898\u8BC4\u8BBA\u5931\u8D25: ${a.message}`)}}async update_issue_comment(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.comment_id)throw new Error(L);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,comment_id:o,...t}=e,s=await this.patch(`/repos/${a}/${r}/issues/comments/${Number(o)}`,null,t);if(s.statusCode===404)throw new Error(f);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,type:lodashEs.capitalize(s.data.user.type.toLowerCase())},created_at:s.data.created_at,updated_at:s.data.updated_at};s.data=i;}return s}catch(a){throw new Error(`\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(c);if(!e.comment_id)throw new Error(L);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,comment_id:o}=e,t=await this.delete(`/repos/${a}/${r}/issues/comments/${Number(o)}`);if(t.statusCode===404)throw new Error(f);let s;return t.statusCode===204?s={info:Ve}:s={info:Be},t.data=s,t}catch(a){throw new Error(`\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(c);if(!e.issue_number)throw new Error(f);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,...t}=e,s={};t.per_page&&(s.per_page=t.per_page.toString()),t.page&&(s.page=t.page.toString());let i=`/repos/${a}/${r}/issues/${Number(o)}/sub_issues`,u=await this.get(i,s);if(u.statusCode===404)throw new Error(R);if(u.data){let n=u.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,type:lodashEs.capitalize(l.user.type.toLowerCase())},labels:l.labels?l.labels.map(g=>({id:g.id,name:g.name,color:g.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,type:lodashEs.capitalize(l.assignee.type.toLowerCase())}: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}));u.data=n;}return u}catch(a){throw new Error(`\u83B7\u53D6\u5B50\u8BAE\u9898\u5217\u8868\u5931\u8D25: ${a.message}`)}}async add_sub_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(f);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,sub_issue_id:t,replace_parent:s}=e,i=await this.post(`/repos/${a}/${r}/issues/${o}/sub_issues`,{sub_issue_id:t,replace_parent:s});if(i.statusCode===404)throw new Error(R);if(i.data){let u={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,type:lodashEs.capitalize(i.data.user.type.toLowerCase())},labels:i.data.labels?i.data.labels.map(n=>({id:n.id,name:n.name,color:n.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,type:lodashEs.capitalize(i.data.assignee.type.toLowerCase())}: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=u;}return i}catch(a){throw new Error(`\u6DFB\u52A0\u5B50\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}async remove_sub_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(f);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,sub_issue_id:t}=e,s=await this.delete(`/repos/${a}/${r}/issues/${o}/sub_issue`,null,{sub_issue_id:t});if(s.statusCode===404)throw new Error(R);if(s.data){let i={id:s.data.id,html_url:s.data.html_url,number:s.data.number,comments:s.data.comments,state:s.data.state,state_reason:s.data.state_reason,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,type:lodashEs.capitalize(s.data.user.type.toLowerCase())},labels:s.data.labels?s.data.labels.map(u=>({id:u.id,name:u.name,color:u.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,type:lodashEs.capitalize(s.data.assignee.type.toLowerCase())}: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(`\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(c);if(!e.issue_number)throw new Error(f);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,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 u=`/repos/${a}/${r}/issues/${o}/sub_issues/priority`,n=await this.patch(u,i,{sub_issue_id:String(t)});if(n.statusCode===404)throw new Error(R);if(n.data){let l={id:n.data.id,html_url:n.data.html_url,number:n.data.number,comments:n.data.comments,state:n.data.state,state_reason:n.data.state_reason,title:n.data.title,body:n.data.body,user:{id:n.data.user.id,login:n.data.user.login,name:n.data.user.name,email:n.data.user.email,html_url:n.data.user.html_url,avatar_url:n.data.user.avatar_url,type:lodashEs.capitalize(n.data.user.type.toLowerCase())},labels:n.data.labels?n.data.labels.map(g=>({id:g.id,name:g.name,color:g.color})):null,assignee:n.data.assignee?{id:n.data.assignee.id,login:n.data.assignee.login,name:n.data.assignee.name,email:n.data.assignee.email,html_url:n.data.assignee.html_url,avatar_url:n.data.assignee.avatar_url,type:lodashEs.capitalize(n.data.assignee.type.toLowerCase())}:null,milestone:n.data.milestone?{id:n.data.milestone.id,url:n.data.milestone.url,number:n.data.milestone.number,state:n.data.milestone.state,title:n.data.milestone.title,description:n.data.milestone.description,open_issues:n.data.milestone.open_issues,closed_issues:n.data.milestone.closed_issues,created_at:n.data.milestone.created_at,updated_at:n.data.milestone.updated_at,closed_at:n.data.milestone.closed_at,due_on:n.data.milestone.due_on}:null,closed_at:n.data.closed_at,created_at:n.data.created_at,updated_at:n.data.updated_at};n.data=l;}return n}catch(a){throw new Error(`\u91CD\u65B0\u6392\u5E8F\u5B50\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}};});var ut={};P(ut,{Repo:()=>G});var G,_e=w(()=>{b();k();G=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_org_repos_list(e){if(!e.org)throw new Error(U);try{this.setRequestConfig({token:this.userToken});let{org:a,...r}=e,o={};r?.type&&(o.type=r.type),r?.sort&&(o.sort=r.sort),r?.direction&&(o.direction=r.direction),r?.per_page&&(o.per_page=r.per_page.toString()),r?.page&&(o.page=r.page.toString());let t=`/orgs/${a}/repos`,s=await this.get(t,o);switch(s.statusCode){case 404:throw new Error(S);case 401:throw new Error(_)}let i=e.format??this.format;if(s.data){let u=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:i?await h(n.created_at):n.created_at,updated_at:i?await h(n.updated_at):n.updated_at,pushed_at:i?await h(n.pushed_at):n.pushed_at})));s.data=u;}return s}catch(a){throw new Error(`\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,r={};!e?.visibility&&!e?.affiliation&&a?.type&&(r.type=a.type),a?.visibility&&(r.visibility=a.visibility),a?.affiliation&&(r.affiliation=a.affiliation),a?.sort&&(r.sort=a.sort),a?.direction&&(r.direction=a.direction),a?.per_page&&(r.per_page=a.per_page.toString()),a?.page&&(r.page=a.page.toString());let t=await this.get("/uses/repos",r);if(t.statusCode===401)throw new Error(_);let s=e?.format??this.format;if(t.data){let i=await Promise.all(t.data.map(async u=>({id:u.id,name:u.name,full_name:u.full_name,owner:{id:u.owner.id,login:u.owner.login,name:u.owner.name,avatar_url:u.owner.avatar_url,type:u.owner.type,html_url:u.owner.html_url,email:u.owner.email},public:!u.private,private:u.private,visibility:u.private?"private":"public",fork:u.fork,archived:u.archived,disabled:u.disabled,html_url:u.html_url,description:u.description,stargazers_count:u.stargazers_count,watchers_count:u.watchers_count,language:u.language,forks_count:u.forks_count,open_issues_count:u.open_issues_count,default_branch:u.default_branch,created_at:s?await h(u.created_at):u.created_at,updated_at:s?await h(u.updated_at):u.updated_at,pushed_at:s?await h(u.pushed_at):u.pushed_at})));t.data=i;}return t}catch(a){throw new Error(`\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(x);this.setRequestConfig({token:this.userToken});let{username:a,...r}=e,o={};r?.type&&(o.type=r.type),r?.sort&&(o.sort=r.sort),r?.direction&&(o.direction=r.direction),r?.per_page&&(o.per_page=r.per_page.toString()),r?.page&&(o.page=r.page.toString());let t=e?.format??this.format,s=`/users/${a}/repos`,i=await this.get(s,o);switch(i.statusCode){case 404:throw new Error($);case 401:throw new Error(_)}if(i.data){let u=await Promise.all(i.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:t?await h(n.created_at):n.created_at,updated_at:t?await h(n.updated_at):n.updated_at,pushed_at:t?await h(n.pushed_at):n.pushed_at})));i.data=u;}return i}catch(a){throw new Error(`\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(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r}=e,o=await this.get(`/repos/${a}/${r}`);switch(o.statusCode){case 401:throw new Error(_);case 404:throw new Error(q)}let t=e?.format??this.format;if(o.data){let s={id:o.data.id,name:o.data.name,full_name:o.data.full_name,owner:{id:o.data.owner.id,login:o.data.owner.login,name:o.data.owner.name,avatar_url:o.data.owner.avatar_url,type:o.data.owner.type,html_url:o.data.owner.html_url,email:o.data.owner.email},public:!o.data.private,private:o.data.private,visibility:o.data.private?"private":"public",fork:o.data.fork,archived:o.data.archived,disabled:o.data.disabled,html_url:o.data.html_url,description:o.data.description,stargazers_count:o.data.stargazers_count,watchers_count:o.data.watchers_count,language:o.data.language,forks_count:o.data.forks_count,open_issues_count:o.data.open_issues_count,default_branch:o.data.default_branch,created_at:t?await h(o.data.created_at):o.data.created_at,updated_at:t?await h(o.data.updated_at):o.data.updated_at,pushed_at:t?await h(o.data.pushed_at):o.data.pushed_at};o.data=s;}return o}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async get_repo_languages_list(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r}=e,o=await this.get(`/repos/${a}/${r}/languages`);switch(o.statusCode){case 401:throw new Error(_);case 404:throw new Error(C)}if(o.data){let t=Object.entries(o.data),s=t.reduce((n,[,l])=>n+l,0),u={languages:t.map(([n,l])=>({language:n,color:oe(n.toLowerCase()),percent:Number((l/s*100).toFixed(2)),bytes:l}))};o.data=u;}return o}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5217\u8868\u5931\u8D25: ${a.message}`)}}async create_org_repo(e){try{let{owner:a,...r}=e,o={...r},t=await this.post(`/orgs/${a}/repos`,o);if(t.statusCode===401)throw new Error(_);let s=e?.format??this.format;if(t.data){let i={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:s?await h(t.data.created_at):t.data.created_at,updated_at:s?await h(t.data.updated_at):t.data.updated_at,pushed_at:s?await h(t.data.pushed_at):t.data.pushed_at};t.data=i;}return t}catch(a){throw new Error(`\u521B\u5EFA\u7EC4\u7EC7\u4ED3\u5E93\u5931\u8D25: ${a.message}`)}}async get_collaborators_list(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r}=e,{...o}=e,t={};o.affiliation&&(t.milestone=o.affiliation.toString()),o.permission&&(t.permission=o.permission.toString()),o.per_page&&(t.per_page=o.per_page.toString()),o.page&&(t.page=o.page.toString());let s=await this.get(`/repos/${a}/${r}/collaborators`,t);if(s.data){let i=await Promise.all(s.data.map(u=>({id:u.id,login:u.login,avatar_url:u.avatar_url,email:u.email,name:u.name,permissions:u.permissions,role_name:u.role_name})));s.data=i;}return s}catch(a){throw new Error(`\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(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,username:o}=e,t=await this.put(`/repos/${a}/${r}/collaborators/${o}`,{permission:e.permission??"pull"});if(t.statusCode===404)throw new Error(te);if(t.statusCode===422){let s=t.data.message;if(s&&s.includes("is not a valid permission"))throw new Error(Me)}if(t.data){let s={id:t.data.inviter.id,login:t.data.inviter.login,name:t.data.inviter.name,avatar_url:t.data.inviter.avatar_url,html_url:t.data.repository.html_url,permissions:t.data.permissions};t.data=s;}return t}catch(a){throw new Error(`\u6DFB\u52A0\u534F\u4F5C\u8005\u5931\u8D25: ${a.message}`)}}async remove_collaborator(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,username:o}=e,t=await this.delete(`/repos/${a}/${r}/collaborators/${o}`);if(t.statusCode===404)throw new Error(te);return t.status&&t.statusCode===204?t.data={info:`\u79FB\u9664\u534F\u4F5C\u8005${o}\u6210\u529F`}:t.data={info:`\u79FB\u9664\u534F\u4F5C\u8005${o}\u5931\u8D25`},t}catch(a){throw new Error(`\u79FB\u9664\u534F\u4F5C\u8005\u5931\u8D25: ${a.message}`)}}async delete_collaborator(e){return this.remove_collaborator(e)}async get_repo_visibility(e){if(!e.owner||!e.repo)throw new Error(c);try{let{owner:a,repo:r}=e;return (await this.get_repo_info({owner:a,repo:r})).data.visibility}catch(a){throw new Error(`\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(c);try{let{owner:a,repo:r}=e;return (await this.get_repo_info({owner:a,repo:r})).data.default_branch}catch(a){throw new Error(`\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(c);try{let{owner:a,repo:r}=e;return (await this.get_repo_info({owner:a,repo:r})).data.language}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5931\u8D25: ${a.message}`)}}};});var lt={};P(lt,{User:()=>j});var j,ye=w(()=>{b();k();j=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_user_info(e){let a=e.access_token??this.userToken;if(!e.username)throw new Error(ve);if(!a?.startsWith("ghu_"))throw new Error(A);try{this.setRequestConfig({token:a});let r=await this.get(`/users/${e.username}`);if(r.statusCode===401)throw new Error(_);if(r.statusCode===404)throw new Error(q);if(r.data){let o={id:r.data.id,login:r.data.login,name:r.data.name||null,type:lodashEs.capitalize(r.data.type.toLowerCase()),html_url:r.data.html_url,avatar_url:r.data.avatar_url,company:r.data.company||null,email:r.data.email||null,bio:r.data.bio||null,blog:r.data.blog||null,followers:r.data.followers,following:r.data.following};r.data=o;}return r}catch(r){throw new Error(`\u83B7\u53D6\u7528\u6237\u6216\u7EC4\u7EC7\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_user_info_by_user_id(e){let a=e.access_token??this.userToken;if(!e.user_id)throw new Error(Ae);if(!a?.startsWith("ghu_"))throw new Error(A);try{this.setRequestConfig({token:this.userToken});let r=await this.get(`/user/${e.user_id}`);if(r.statusCode===401)throw new Error(_);if(r.statusCode===404)throw new Error($);if(r.data){let o={id:r.data.id,login:r.data.login,name:r.data.name||null,type:lodashEs.capitalize(r.data.type.toLowerCase()),html_url:r.data.html_url,avatar_url:r.data.avatar_url,company:r.data.company||null,email:r.data.email||null,bio:r.data.bio||null,blog:r.data.blog||null,followers:r.data.followers,following:r.data.following};r.data=o;}return r}catch(r){throw new Error(`\u901A\u8FC7\u7528\u6237id\u83B7\u53D6\u7528\u6237\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_user_info_by_auth(e){let a=e?.access_token??this.userToken;if(!a)throw new Error(I);try{this.setRequestConfig({token:a});let r=await this.get("/user");switch(r.statusCode){case 401:throw new Error(_);case 404:throw new Error($)}if(r.data){let o={id:r.data.id,login:r.data.login,name:r.data.name||null,type:lodashEs.capitalize(r.data.type.toLowerCase()),html_url:r.data.html_url,avatar_url:r.data.avatar_url,company:r.data.company||null,email:r.data.email||null,bio:r.data.bio||null,blog:r.data.blog||null,followers:r.data.followers,following:r.data.following};r.data=o;}return r}catch(r){throw new Error(`\u83B7\u53D6\u6388\u6743\u7528\u6237\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_user_info_by_token(e){return this.get_user_info_by_auth(e)}async get_user_contribution(e){try{if(!e.username)throw new Error(x);if((await this.get_user_info({username:e.username})).data.type==="Organization")throw new Error(`${Se}\u83B7\u53D6\u8D21\u732E\u65E5\u5386`);this.setRequestConfig({url:this.BaseUrl});let r=await this.get(`/${e.username}`,{action:"show",controller:"profiles",tab:"contributions",user_id:e.username},{"X-Requested-With":"XMLHttpRequest"});if(r.statusCode===404)throw new Error(x);let o=await at(r.data);return {...r,data:o}}catch(a){throw new Error(`\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}async get_user_email(){return (await this.get_user_info_by_auth()).data.email}async get_avatar_url(){return (await this.get_user_info_by_auth()).data.avatar_url}};});var dt={};P(dt,{Org:()=>F});var F,we=w(()=>{b();k();F=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_org_info(e){if(!e.org)throw new Error(xe);try{this.setRequestConfig({token:this.userToken});let a=await this.get(`/orgs/${e.org}`);if(a.statusCode===404)throw new Error(S);if(a.data){let r={id:a.data.id,login:a.data.login,name:a.data.name,avatar_url:a.data.avatar_url,description:a.data.description,html_url:a.data.html_url};a.data=r;}return a}catch(a){throw new Error(`\u83B7\u53D6\u7EC4\u7EC7\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}};});var ct={};P(ct,{WebHook:()=>J});var J,fe=w(()=>{b();k();J=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async check_webhook_signature(e){let a=e.secret??this.WebHook_Secret;if(!a||!e.payload||!e.signature)throw new Error(U);if(!e.signature.startsWith("sha256="))throw new Error(We);let r=false,o="error",t=400,s=ae,i;try{let u=pt__default.default.createHmac("sha256",a),n=typeof e.payload=="string"?e.payload:JSON.stringify(e.payload);u.update(n,"utf8");let l=u.digest("hex"),g=e.signature.replace("sha256=","");pt__default.default.timingSafeEqual(Buffer.from(l),Buffer.from(g))?(r=!0,o="ok",t=200,s="\u8BF7\u6C42\u6210\u529F",i={success:r,info:Fe}):(r=!1,o="error",t=403,s="\u8BF7\u6C42\u5931\u8D25",i={success:r,info:ae});}catch(u){throw new Error(`\u8BF7\u6C42\u9A8C\u8BC1WebHook\u7B7E\u540D\u5931\u8D25: ${u.message}`)}return Promise.resolve({success:r,status:o,statusCode:t,msg:s,data:i})}};});var K;exports.GitHubClient=void 0;var k=w(()=>{b();de();pe();K="github",exports.GitHubClient=class{BaseUrl;ApiUrl;jwtToken;userToken;format;Private_Key;Client_ID;Client_Secret;WebHook_Secret;currentRequestConfig;proxy;constructor(e){this.Private_Key=e.Private_Key,this.Client_ID=e.Client_ID,this.Client_Secret=e.Client_Secret,this.WebHook_Secret=e.WebHook_Secret,this.jwtToken=this.generate_jwt(),this.BaseUrl=le(K),this.ApiUrl=ue(K),this.userToken=null,this.currentRequestConfig={url:this.ApiUrl,token:null,tokenType:"Bearer"},this.format=e.format??false;}async get_app(){let{App:e}=await Promise.resolve().then(()=>(be(),mt));return this.app=new e(this),this.app}async get_auth(){let{Auth:e}=await Promise.resolve().then(()=>(ce(),ot));return this.auth=new e(this),this.auth}async get_commit(){let{Commit:e}=await Promise.resolve().then(()=>(me(),nt));return this.commit=new e(this),this.commit}async get_issue(){let{Issue:e}=await Promise.resolve().then(()=>(ge(),it));return this.issue=new e(this),this.issue}async get_repo(){let{Repo:e}=await Promise.resolve().then(()=>(_e(),ut));return this.repo=new e(this),this.repo}async get_user(){let{User:e}=await Promise.resolve().then(()=>(ye(),lt));return this.user=new e(this),this.user}async get_org(){let{Org:e}=await Promise.resolve().then(()=>(we(),dt));return this.org=new e(this),this.org}async get_webhook(){let{WebHook:e}=await Promise.resolve().then(()=>(fe(),ct));return this.webhook=new e(this),this.webhook}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(Q)}switch(e?.type){case "common":case "reverse":this.BaseUrl=le(K,e.address,e.type),this.ApiUrl=ue(K,e.address,e.type);break}this.proxy=e;}catch{throw this.proxy=null,new Error(Q)}}setToken(e){if(!e.startsWith("ghu_"))throw this.userToken=null,new Error(A);return this.userToken=e,this}generate_jwt(){let e=this.Private_Key,a={exp:Math.floor(Date.now()/1e3)+10*60,iat:Math.floor(Date.now()/1e3),iss:this.Client_ID};return $t__default.default.sign(a,e,{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:r}=this.currentRequestConfig,o=this.proxy?.type!=="common"?this.proxy:null,t={"X-GitHub-Api-Version":"2022-11-28",Accept:"application/vnd.github+json"};return new D(e,r,a??null,o,t)}async get(e,a,r){try{let t=await this.createRequest().get(e,a,r);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(o){throw new Error(`GET \u8BF7\u6C42${e}\u5931\u8D25: ${o.message}`)}}async post(e,a,r){try{let t=await this.createRequest().post(e,a,r);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(o){throw new Error(`POST \u8BF7\u6C42${e}\u5931\u8D25: ${o.message}`)}}async patch(e,a=null,r,o){try{let s=await this.createRequest().patch(e,a,r,o);if((s.statusCode===403||s.statusCode===429)&&s.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:s.success,status:s.success?"ok":"error",statusCode:s.statusCode,msg:s.msg,data:s.data}}catch(t){throw new Error(`PATCH \u8BF7\u6C42${e}\u5931\u8D25: ${t.message}`)}}async put(e,a,r){try{let t=await this.createRequest().put(e,a,r);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(o){throw new Error(`PUT \u8BF7\u6C42${e}\u5931\u8D25: ${o.message}`)}}async delete(e,a=null,r,o){try{let s=await this.createRequest().delete(e,a,r,o);if((s.statusCode===403||s.statusCode===429)&&s.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:s.success,status:s.success?"ok":"error",statusCode:s.statusCode,msg:s.msg,data:s.data}}catch(t){throw new Error(`DELETE \u8BF7\u6C42${e}\u5931\u8D25: ${t.message}`)}}};});var mt={};P(mt,{App:()=>V});var V,be=w(()=>{b();k();V=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_app_info(e){let a=e.access_token??this.userToken;if(!e.app_slug)throw new Error(Pe);if(!a)throw new Error(I);try{this.setRequestConfig({token:a});let r=await this.get(`/apps/${e.app_slug}`);if(r.statusCode===200){let o={id:r.data.id,name:r.data.name,client_id:r.data.client_id,slug:r.data.slug,owner:{id:r.data.owner.id,login:r.data.owner.login,name:r.data.owner.name,email:r.data.owner.email,html_url:r.data.owner.html_url,avatar_url:r.data.owner.avatar_url,type:lodashEs.capitalize(r.data.owner.type.toLowerCase())},description:r.data.description,external_url:r.data.external_url,html_url:r.data.html_url,permissions:r.data.permissions,events:r.data.events,created_at:r.data.created_at,updated_at:r.data.updated_at};r.data=o;}return r}catch(r){throw new Error(`\u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_app_info_by_auth(){try{this.setRequestConfig({url:this.ApiUrl,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(`\u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${e.message}`)}}async get_app_installation_by_repo(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.jwtToken});let{owner:a,repo:r}=e,o=await this.get(`/repos/${a}/${r}/installation`);switch(o.statusCode){case 404:throw new Error(C);case 301:throw new Error(ze)}if(o.data){let t={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:o.data.created_at,updated_at:o.data.updated_at};o.data=t;}return o}catch(a){throw new Error(`\u83B7\u53D6\u5B58\u50A8\u5E93\u5B89\u88C5\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async create_install_link(e){try{let a=new URL(`apps/${await this.get_app_name()}/installations/new`,this.BaseUrl);return a.search=new URLSearchParams({...e&&{state:e}}).toString(),a.toString()}catch(a){throw new Error(`\u751F\u6210\u5E94\u7528\u5B89\u88C5\u94FE\u63A5\u5931\u8D25: ${a.message}`)}}async create_config_install_link(e){try{let a=new URL(`apps/${await this.get_app_name()}/installations/new`,this.BaseUrl);return a.search=new URLSearchParams({...e&&{state:e}}).toString(),a.toString()}catch(a){throw new Error(`\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}};});b();de();pe();var Re={};P(Re,{App:()=>V,Auth:()=>B,Commit:()=>z,GitHubClient:()=>exports.GitHubClient,Issue:()=>W,Org:()=>F,Repo:()=>G,User:()=>j,WebHook:()=>J});be();ce();k();me();ge();we();_e();ye();fe();var Ce=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=Ce;
5
+ `):null},tree:{url:p.commit.tree.url,sha:p.commit.tree.sha}},parents:p.parents.map(T=>({sha:T.sha,url:T.url})),stats:{additions:p.stats.additions,deletions:p.stats.deletions,total:p.stats.total},files:p.files.map(T=>({sha:T.sha,filename:T.filename,status:T.status,additions:T.additions,deletions:T.deletions,changes:T.changes,blob_url:T.blob_url,raw_url:T.raw_url}))}}));n.data=g;}return n}catch(a){throw new Error(`\u83B7\u53D6\u63D0\u4EA4\u5217\u8868\u5931\u8D25: ${a.message}`)}}};});var it={};P(it,{Issue:()=>W});var W,ge=w(()=>{b();k();W=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_issue_info(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o}=e,t=await this.get(`/repos/${a}/${r}/issues/${Number(o)}`);switch(t.statusCode){case 404:throw new Error(R);case 301:throw new Error(Oe)}if(t.data){let s={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,type:lodashEs.capitalize(t.data.user.type.toLowerCase())},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,type:lodashEs.capitalize(t.data.assignee.type.toLowerCase())}: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(`\u83B7\u53D6Issue\u8BE6\u60C5\u5931\u8D25: ${a.message}`)}}async get_issues_list(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,...o}=e,t={};o.milestone&&(t.milestone=o.milestone.toString()),o.state&&(t.state=o.state),o.assignee&&(t.assignee=o.assignee),o.creator&&(t.creator=o.creator),o.labels&&(t.labels=o.labels),o.sort&&(t.sort=o.sort),o.direction&&(t.direction=o.direction),o.since&&(t.since=o.since),o.per_page&&(t.per_page=o.per_page.toString()),o.page&&(t.page=o.page.toString());let s=`/repos/${a}/${r}/issues`,i=await this.get(s,t);if(i.statusCode===401)throw new Error(_);if(i.data){let u=i.data.map(n=>({id:n.id,html_url:n.html_url,number:n.number,comments:n.comments,state:n.state,state_reason:n.state_reason,title:n.title,body:n.body,user:{id:n.user.id,login:n.user.login,name:n.user.name,email:n.user.email,html_url:n.user.html_url,avatar_url:n.user.avatar_url,type:lodashEs.capitalize(n.user.type.toLowerCase())},labels:n.labels?n.labels.map(l=>({id:l.id,name:l.name,color:l.color})):null,assignee:n.assignee?{id:n.assignee.id,login:n.assignee.login,name:n.assignee.name,email:n.assignee.email,html_url:n.assignee.html_url,avatar_url:n.assignee.avatar_url,type:lodashEs.capitalize(n.assignee.type.toLowerCase())}: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,closed_at:n.closed_at,created_at:n.created_at,updated_at:n.updated_at}));i.data=u;}return i}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u7684Issue\u5217\u8868\u5931\u8D25: ${a.message}`)}}async create_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.title)throw new Error(Ie);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,...o}=e,t={...o,...o.labels&&{labels:Array.isArray(o.labels)?o.labels:[o.labels]},...o.assignees&&{assignees:Array.isArray(o.assignees)?o.assignees:[o.assignees]}},s=await this.post(`/repos/${a}/${r}/issues`,t);switch(s.statusCode){case 403:throw new Error(_);case 301:throw new Error(C)}if(s.data&&s.data){let i={id:s.data.id,html_url:s.data.html_url,number:s.data.number,comments:s.data.comments,state:s.data.state,state_reason:s.data.state_reason,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,type:lodashEs.capitalize(s.data.user.type.toLowerCase())},labels:s.data.labels?s.data.labels.map(u=>({id:u.id,name:u.name,color:u.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,type:lodashEs.capitalize(s.data.assignee.type.toLowerCase())}: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(`\u521B\u5EFAIssue\u5931\u8D25: ${a.message}`)}}async update_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,...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}/${r}/issues/${Number(o)}`,null,s);switch(i.statusCode){case 404:throw new Error(R);case 403:throw new Error(_);case 301:throw new Error(C)}if(i.data&&i.data){let u={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,type:lodashEs.capitalize(i.data.user.type.toLowerCase())},labels:i.data.labels?i.data.labels.map(n=>({id:n.id,name:n.name,color:n.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,type:lodashEs.capitalize(i.data.assignee.type.toLowerCase())}: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=u;}return i}catch(a){throw new Error(`\u66F4\u65B0Issue\u5931\u8D25: ${a.message}`)}}async open_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o}=e,t=await this.patch(`/repos/${a}/${r}/issues/${o}`,null,{state:"open"});switch(t.statusCode){case 404:throw new Error(R);case 403:throw new Error(_);case 301:throw new Error(C)}if(t.data&&t.data){let s={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,type:lodashEs.capitalize(t.data.user.type.toLowerCase())},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,type:lodashEs.capitalize(t.data.assignee.type.toLowerCase())}: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(`\u6253\u5F00Issue\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(c);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o}=e,t=await this.patch(`/repos/${a}/${r}/issues/${o}`,null,{state:"closed"});switch(t.statusCode){case 404:throw new Error(R);case 403:throw new Error(_);case 301:throw new Error(C)}if(t.data&&t.data){let s={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,type:lodashEs.capitalize(t.data.user.type.toLowerCase())},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,type:lodashEs.capitalize(t.data.assignee.type.toLowerCase())}: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(`\u5173\u95EDIssue\u5931\u8D25: ${a.message}`)}}async lock_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,lock_reason:t}=e,s=await this.put(`/repos/${a}/${r}/issues/${Number(o)}`,{locked:!0,lock_reason:t});switch(s.statusCode){case 404:throw new Error(R);case 403:throw new Error(_);case 301:throw new Error(C)}let i;return s.statusCode===204?i={info:Je}:i={info:De},s.data=i,s}catch(a){throw new Error(`\u9501\u5B9AIssue${e.issue_number}\u5931\u8D25: ${a.message}`)}}async unlock_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o}=e,t=await this.delete(`/repos/${a}/${r}/issues/${o}/lock`);switch(t.statusCode){case 404:throw new Error(R);case 403:throw new Error(_);case 301:throw new Error(C)}let s;return t.statusCode===204?s={info:Ke}:s={info:He},t.data=s,t}catch(a){throw new Error(`\u89E3\u9501Issue\u5931\u8D25: ${a.message}`)}}async get_comments_list(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,...o}=e,t={};o.sort&&(t.sort=o.sort),o.direction&&o.direction&&(t.direction=o.direction),o.since&&(t.since=o.since),o.per_page&&(t.per_page=o.per_page.toString()),o.page&&(t.page=o.page.toString());let s=`/repos/${a}/${r}/issues/comments/`,i=await this.get(s,t);if(i.statusCode===404)throw new Error(f);if(i.data){let u=i.data.map(n=>({id:n.id,html_url:n.html_url,body:n.body,user:{id:n.user.id,login:n.user.login,name:n.user.name,email:n.user.email,html_url:n.user.html_url,avatar_url:n.user.avatar_url,type:lodashEs.capitalize(n.user.type.toLowerCase())},created_at:n.created_at,updated_at:n.updated_at}));i.data=u;}return i}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93${e.owner}/${e.repo}\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_issue_comments_list(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,...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}/${r}/issues/${Number(o)}/comments`,u=await this.get(i,s);if(u.statusCode===404)throw new Error(f);if(u.data){let n=u.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,type:lodashEs.capitalize(l.user.type.toLowerCase())},created_at:l.created_at,updated_at:l.updated_at}));u.data=n;}return u}catch(a){throw new Error(`\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(c);if(!e.comment_id)throw new Error(L);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,comment_id:o}=e,t=await this.get(`/repos/${a}/${r}/issues/comments/${Number(o)}`);if(t.statusCode===404)throw new Error(f);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,type:lodashEs.capitalize(t.data.user.type.toLowerCase())},created_at:t.data.created_at,updated_at:t.data.updated_at};t.data=s;}return t}catch(a){throw new Error(`\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(c);if(!e.issue_number)throw new Error(f);if(!e.body)throw new Error(Ee);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,body:t}=e,s=await this.post(`/repos/${a}/${r}/issues/${Number(o)}/comments`,{body:t});if(s.statusCode===404)throw new Error(f);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,type:lodashEs.capitalize(s.data.user.type.toLowerCase())},created_at:s.data.created_at,updated_at:s.data.updated_at};s.data=i;}return s}catch(a){throw new Error(`\u521B\u5EFA\u8BAE\u9898\u8BC4\u8BBA\u5931\u8D25: ${a.message}`)}}async update_issue_comment(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.comment_id)throw new Error(L);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,comment_id:o,...t}=e,s=await this.patch(`/repos/${a}/${r}/issues/comments/${Number(o)}`,null,t);if(s.statusCode===404)throw new Error(f);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,type:lodashEs.capitalize(s.data.user.type.toLowerCase())},created_at:s.data.created_at,updated_at:s.data.updated_at};s.data=i;}return s}catch(a){throw new Error(`\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(c);if(!e.comment_id)throw new Error(L);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,comment_id:o}=e,t=await this.delete(`/repos/${a}/${r}/issues/comments/${Number(o)}`);if(t.statusCode===404)throw new Error(f);let s;return t.statusCode===204?s={info:Ve}:s={info:Be},t.data=s,t}catch(a){throw new Error(`\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(c);if(!e.issue_number)throw new Error(f);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,...t}=e,s={};t.per_page&&(s.per_page=t.per_page.toString()),t.page&&(s.page=t.page.toString());let i=`/repos/${a}/${r}/issues/${Number(o)}/sub_issues`,u=await this.get(i,s);if(u.statusCode===404)throw new Error(R);if(u.data){let n=u.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,type:lodashEs.capitalize(l.user.type.toLowerCase())},labels:l.labels?l.labels.map(g=>({id:g.id,name:g.name,color:g.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,type:lodashEs.capitalize(l.assignee.type.toLowerCase())}: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}));u.data=n;}return u}catch(a){throw new Error(`\u83B7\u53D6\u5B50\u8BAE\u9898\u5217\u8868\u5931\u8D25: ${a.message}`)}}async add_sub_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(f);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,sub_issue_id:t,replace_parent:s}=e,i=await this.post(`/repos/${a}/${r}/issues/${o}/sub_issues`,{sub_issue_id:t,replace_parent:s});if(i.statusCode===404)throw new Error(R);if(i.data){let u={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,type:lodashEs.capitalize(i.data.user.type.toLowerCase())},labels:i.data.labels?i.data.labels.map(n=>({id:n.id,name:n.name,color:n.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,type:lodashEs.capitalize(i.data.assignee.type.toLowerCase())}: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=u;}return i}catch(a){throw new Error(`\u6DFB\u52A0\u5B50\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}async remove_sub_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(f);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,sub_issue_id:t}=e,s=await this.delete(`/repos/${a}/${r}/issues/${o}/sub_issue`,null,{sub_issue_id:t});if(s.statusCode===404)throw new Error(R);if(s.data){let i={id:s.data.id,html_url:s.data.html_url,number:s.data.number,comments:s.data.comments,state:s.data.state,state_reason:s.data.state_reason,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,type:lodashEs.capitalize(s.data.user.type.toLowerCase())},labels:s.data.labels?s.data.labels.map(u=>({id:u.id,name:u.name,color:u.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,type:lodashEs.capitalize(s.data.assignee.type.toLowerCase())}: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(`\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(c);if(!e.issue_number)throw new Error(f);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,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 u=`/repos/${a}/${r}/issues/${o}/sub_issues/priority`,n=await this.patch(u,i,{sub_issue_id:String(t)});if(n.statusCode===404)throw new Error(R);if(n.data){let l={id:n.data.id,html_url:n.data.html_url,number:n.data.number,comments:n.data.comments,state:n.data.state,state_reason:n.data.state_reason,title:n.data.title,body:n.data.body,user:{id:n.data.user.id,login:n.data.user.login,name:n.data.user.name,email:n.data.user.email,html_url:n.data.user.html_url,avatar_url:n.data.user.avatar_url,type:lodashEs.capitalize(n.data.user.type.toLowerCase())},labels:n.data.labels?n.data.labels.map(g=>({id:g.id,name:g.name,color:g.color})):null,assignee:n.data.assignee?{id:n.data.assignee.id,login:n.data.assignee.login,name:n.data.assignee.name,email:n.data.assignee.email,html_url:n.data.assignee.html_url,avatar_url:n.data.assignee.avatar_url,type:lodashEs.capitalize(n.data.assignee.type.toLowerCase())}:null,milestone:n.data.milestone?{id:n.data.milestone.id,url:n.data.milestone.url,number:n.data.milestone.number,state:n.data.milestone.state,title:n.data.milestone.title,description:n.data.milestone.description,open_issues:n.data.milestone.open_issues,closed_issues:n.data.milestone.closed_issues,created_at:n.data.milestone.created_at,updated_at:n.data.milestone.updated_at,closed_at:n.data.milestone.closed_at,due_on:n.data.milestone.due_on}:null,closed_at:n.data.closed_at,created_at:n.data.created_at,updated_at:n.data.updated_at};n.data=l;}return n}catch(a){throw new Error(`\u91CD\u65B0\u6392\u5E8F\u5B50\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}};});var ut={};P(ut,{Repo:()=>G});var G,_e=w(()=>{b();k();G=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_org_repos_list(e){if(!e.org)throw new Error(U);try{this.setRequestConfig({token:this.userToken});let{org:a,...r}=e,o={};r?.type&&(o.type=r.type),r?.sort&&(o.sort=r.sort),r?.direction&&(o.direction=r.direction),r?.per_page&&(o.per_page=r.per_page.toString()),r?.page&&(o.page=r.page.toString());let t=`/orgs/${a}/repos`,s=await this.get(t,o);switch(s.statusCode){case 404:throw new Error(S);case 401:throw new Error(_)}let i=e.format??this.format;if(s.data){let u=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:i?await h(n.created_at):n.created_at,updated_at:i?await h(n.updated_at):n.updated_at,pushed_at:i?await h(n.pushed_at):n.pushed_at})));s.data=u;}return s}catch(a){throw new Error(`\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,r={};!e?.visibility&&!e?.affiliation&&a?.type&&(r.type=a.type),a?.visibility&&(r.visibility=a.visibility),a?.affiliation&&(r.affiliation=a.affiliation),a?.sort&&(r.sort=a.sort),a?.direction&&(r.direction=a.direction),a?.per_page&&(r.per_page=a.per_page.toString()),a?.page&&(r.page=a.page.toString());let t=await this.get("/uses/repos",r);if(t.statusCode===401)throw new Error(_);let s=e?.format??this.format;if(t.data){let i=await Promise.all(t.data.map(async u=>({id:u.id,name:u.name,full_name:u.full_name,owner:{id:u.owner.id,login:u.owner.login,name:u.owner.name,avatar_url:u.owner.avatar_url,type:u.owner.type,html_url:u.owner.html_url,email:u.owner.email},public:!u.private,private:u.private,visibility:u.private?"private":"public",fork:u.fork,archived:u.archived,disabled:u.disabled,html_url:u.html_url,description:u.description,stargazers_count:u.stargazers_count,watchers_count:u.watchers_count,language:u.language,forks_count:u.forks_count,open_issues_count:u.open_issues_count,default_branch:u.default_branch,created_at:s?await h(u.created_at):u.created_at,updated_at:s?await h(u.updated_at):u.updated_at,pushed_at:s?await h(u.pushed_at):u.pushed_at})));t.data=i;}return t}catch(a){throw new Error(`\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(x);this.setRequestConfig({token:this.userToken});let{username:a,...r}=e,o={};r?.type&&(o.type=r.type),r?.sort&&(o.sort=r.sort),r?.direction&&(o.direction=r.direction),r?.per_page&&(o.per_page=r.per_page.toString()),r?.page&&(o.page=r.page.toString());let t=e?.format??this.format,s=`/users/${a}/repos`,i=await this.get(s,o);switch(i.statusCode){case 404:throw new Error($);case 401:throw new Error(_)}if(i.data){let u=await Promise.all(i.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:t?await h(n.created_at):n.created_at,updated_at:t?await h(n.updated_at):n.updated_at,pushed_at:t?await h(n.pushed_at):n.pushed_at})));i.data=u;}return i}catch(a){throw new Error(`\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(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r}=e,o=await this.get(`/repos/${a}/${r}`);switch(o.statusCode){case 401:throw new Error(_);case 404:throw new Error(q)}let t=e?.format??this.format;if(o.data){let s={id:o.data.id,name:o.data.name,full_name:o.data.full_name,owner:{id:o.data.owner.id,login:o.data.owner.login,name:o.data.owner.name,avatar_url:o.data.owner.avatar_url,type:o.data.owner.type,html_url:o.data.owner.html_url,email:o.data.owner.email},public:!o.data.private,private:o.data.private,visibility:o.data.private?"private":"public",fork:o.data.fork,archived:o.data.archived,disabled:o.data.disabled,html_url:o.data.html_url,description:o.data.description,stargazers_count:o.data.stargazers_count,watchers_count:o.data.watchers_count,language:o.data.language,forks_count:o.data.forks_count,open_issues_count:o.data.open_issues_count,default_branch:o.data.default_branch,created_at:t?await h(o.data.created_at):o.data.created_at,updated_at:t?await h(o.data.updated_at):o.data.updated_at,pushed_at:t?await h(o.data.pushed_at):o.data.pushed_at};o.data=s;}return o}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async get_repo_languages_list(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r}=e,o=await this.get(`/repos/${a}/${r}/languages`);switch(o.statusCode){case 401:throw new Error(_);case 404:throw new Error(C)}if(o.data){let t=Object.entries(o.data),s=t.reduce((n,[,l])=>n+l,0),u={languages:t.map(([n,l])=>({language:n,color:oe(n.toLowerCase()),percent:Number((l/s*100).toFixed(2)),bytes:l}))};o.data=u;}return o}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5217\u8868\u5931\u8D25: ${a.message}`)}}async create_org_repo(e){try{let{owner:a,...r}=e,o={...r},t=await this.post(`/orgs/${a}/repos`,o);if(t.statusCode===401)throw new Error(_);let s=e?.format??this.format;if(t.data){let i={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:s?await h(t.data.created_at):t.data.created_at,updated_at:s?await h(t.data.updated_at):t.data.updated_at,pushed_at:s?await h(t.data.pushed_at):t.data.pushed_at};t.data=i;}return t}catch(a){throw new Error(`\u521B\u5EFA\u7EC4\u7EC7\u4ED3\u5E93\u5931\u8D25: ${a.message}`)}}async get_collaborators_list(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r}=e,{...o}=e,t={};o.affiliation&&(t.milestone=o.affiliation.toString()),o.permission&&(t.permission=o.permission.toString()),o.per_page&&(t.per_page=o.per_page.toString()),o.page&&(t.page=o.page.toString());let s=await this.get(`/repos/${a}/${r}/collaborators`,t);if(s.data){let i=await Promise.all(s.data.map(u=>({id:u.id,login:u.login,avatar_url:u.avatar_url,email:u.email,name:u.name,permissions:u.permissions,role_name:u.role_name})));s.data=i;}return s}catch(a){throw new Error(`\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(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,username:o}=e,t=await this.put(`/repos/${a}/${r}/collaborators/${o}`,{permission:e.permission??"pull"});if(t.statusCode===404)throw new Error(te);if(t.statusCode===422){let s=t.data.message;if(s&&s.includes("is not a valid permission"))throw new Error(Me)}if(t.data){let s={id:t.data.inviter.id,login:t.data.inviter.login,name:t.data.inviter.name,avatar_url:t.data.inviter.avatar_url,html_url:t.data.repository.html_url,permissions:t.data.permissions};t.data=s;}return t}catch(a){throw new Error(`\u6DFB\u52A0\u534F\u4F5C\u8005\u5931\u8D25: ${a.message}`)}}async remove_collaborator(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,username:o}=e,t=await this.delete(`/repos/${a}/${r}/collaborators/${o}`);if(t.statusCode===404)throw new Error(te);return t.status&&t.statusCode===204?t.data={info:`\u79FB\u9664\u534F\u4F5C\u8005${o}\u6210\u529F`}:t.data={info:`\u79FB\u9664\u534F\u4F5C\u8005${o}\u5931\u8D25`},t}catch(a){throw new Error(`\u79FB\u9664\u534F\u4F5C\u8005\u5931\u8D25: ${a.message}`)}}async delete_collaborator(e){return this.remove_collaborator(e)}async get_repo_visibility(e){if(!e.owner||!e.repo)throw new Error(c);try{let{owner:a,repo:r}=e;return (await this.get_repo_info({owner:a,repo:r})).data.visibility}catch(a){throw new Error(`\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(c);try{let{owner:a,repo:r}=e;return (await this.get_repo_info({owner:a,repo:r})).data.default_branch}catch(a){throw new Error(`\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(c);try{let{owner:a,repo:r}=e;return (await this.get_repo_info({owner:a,repo:r})).data.language}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5931\u8D25: ${a.message}`)}}};});var lt={};P(lt,{User:()=>j});var j,ye=w(()=>{b();k();j=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_user_info(e){let a=e.access_token??this.userToken;if(!e.username)throw new Error(ve);if(a&&!a?.startsWith("ghu_"))throw new Error(A);try{this.setRequestConfig({token:a});let r=await this.get(`/users/${e.username}`);if(r.statusCode===401)throw new Error(_);if(r.statusCode===404)throw new Error(q);if(r.data){let o={id:r.data.id,login:r.data.login,name:r.data.name||null,type:lodashEs.capitalize(r.data.type.toLowerCase()),html_url:r.data.html_url,avatar_url:r.data.avatar_url,email:r.data.email||null,bio:r.data.bio||null,blog:r.data.blog||null,public_repos:r.data.public_repos,followers:r.data.followers,following:r.data.following};r.data=o;}return r}catch(r){throw new Error(`\u83B7\u53D6\u7528\u6237\u6216\u7EC4\u7EC7\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_user_info_by_user_id(e){let a=e.access_token??this.userToken;if(!e.user_id)throw new Error(Ae);if(a&&!a?.startsWith("ghu_"))throw new Error(A);try{this.setRequestConfig({token:this.userToken});let r=await this.get(`/user/${e.user_id}`);if(r.statusCode===401)throw new Error(_);if(r.statusCode===404)throw new Error($);if(r.data){let o={id:r.data.id,login:r.data.login,name:r.data.name||null,type:lodashEs.capitalize(r.data.type.toLowerCase()),html_url:r.data.html_url,avatar_url:r.data.avatar_url,email:r.data.email||null,bio:r.data.bio||null,blog:r.data.blog||null,public_repos:r.data.public_repos,followers:r.data.followers,following:r.data.following};r.data=o;}return r}catch(r){throw new Error(`\u901A\u8FC7\u7528\u6237id\u83B7\u53D6\u7528\u6237\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_user_info_by_auth(e){let a=e?.access_token??this.userToken;if(!a)throw new Error(I);try{this.setRequestConfig({token:a});let r=await this.get("/user");switch(r.statusCode){case 401:throw new Error(_);case 404:throw new Error($)}if(r.data){let o={id:r.data.id,login:r.data.login,name:r.data.name||null,type:lodashEs.capitalize(r.data.type.toLowerCase()),html_url:r.data.html_url,avatar_url:r.data.avatar_url,email:r.data.email||null,bio:r.data.bio||null,blog:r.data.blog||null,public_repos:r.data.public_repos,followers:r.data.followers,following:r.data.following};r.data=o;}return r}catch(r){throw new Error(`\u83B7\u53D6\u6388\u6743\u7528\u6237\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_user_info_by_token(e){return this.get_user_info_by_auth(e)}async get_user_contribution(e){try{if(!e.username)throw new Error(x);if((await this.get_user_info({username:e.username})).data.type==="Organization")throw new Error(`${Se}\u83B7\u53D6\u8D21\u732E\u65E5\u5386`);this.setRequestConfig({url:this.BaseUrl});let r=await this.get(`/${e.username}`,{action:"show",controller:"profiles",tab:"contributions",user_id:e.username},{"X-Requested-With":"XMLHttpRequest"});if(!r.success)throw new Error("\u83B7\u53D6\u7528\u6237\u8D21\u732E\u6570\u636E\u5931\u8D25");if(r.statusCode===404)throw new Error(x);let o=await at(r.data);return {...r,data:o}}catch(a){throw new Error(`\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}async get_user_email(){return (await this.get_user_info_by_auth()).data.email}async get_avatar_url(){return (await this.get_user_info_by_auth()).data.avatar_url}};});var dt={};P(dt,{Org:()=>F});var F,we=w(()=>{b();k();F=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_org_info(e){if(!e.org)throw new Error(xe);try{this.setRequestConfig({token:this.userToken});let a=await this.get(`/orgs/${e.org}`);if(a.statusCode===404)throw new Error(S);if(a.data){let r={id:a.data.id,login:a.data.login,name:a.data.name,avatar_url:a.data.avatar_url,description:a.data.description,html_url:a.data.html_url};a.data=r;}return a}catch(a){throw new Error(`\u83B7\u53D6\u7EC4\u7EC7\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}};});var ct={};P(ct,{WebHook:()=>J});var J,fe=w(()=>{b();k();J=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async check_webhook_signature(e){let a=e.secret??this.WebHook_Secret;if(!a||!e.payload||!e.signature)throw new Error(U);if(!e.signature.startsWith("sha256="))throw new Error(We);let r=false,o="error",t=400,s=ae,i;try{let u=pt__default.default.createHmac("sha256",a),n=typeof e.payload=="string"?e.payload:JSON.stringify(e.payload);u.update(n,"utf8");let l=u.digest("hex"),g=e.signature.replace("sha256=","");pt__default.default.timingSafeEqual(Buffer.from(l),Buffer.from(g))?(r=!0,o="ok",t=200,s="\u8BF7\u6C42\u6210\u529F",i={success:r,info:Fe}):(r=!1,o="error",t=403,s="\u8BF7\u6C42\u5931\u8D25",i={success:r,info:ae});}catch(u){throw new Error(`\u8BF7\u6C42\u9A8C\u8BC1WebHook\u7B7E\u540D\u5931\u8D25: ${u.message}`)}return Promise.resolve({success:r,status:o,statusCode:t,msg:s,data:i})}};});var K;exports.GitHubClient=void 0;var k=w(()=>{b();de();pe();K="github",exports.GitHubClient=class{BaseUrl;ApiUrl;jwtToken;userToken;format;Private_Key;Client_ID;Client_Secret;WebHook_Secret;currentRequestConfig;proxy;constructor(e){this.Private_Key=e.Private_Key,this.Client_ID=e.Client_ID,this.Client_Secret=e.Client_Secret,this.WebHook_Secret=e.WebHook_Secret,this.jwtToken=this.generate_jwt(),this.BaseUrl=le(K),this.ApiUrl=ue(K),this.userToken=null,this.currentRequestConfig={url:this.ApiUrl,token:null,tokenType:"Bearer"},this.format=e.format??false;}async get_app(){let{App:e}=await Promise.resolve().then(()=>(be(),mt));return this.app=new e(this),this.app}async get_auth(){let{Auth:e}=await Promise.resolve().then(()=>(ce(),ot));return this.auth=new e(this),this.auth}async get_commit(){let{Commit:e}=await Promise.resolve().then(()=>(me(),nt));return this.commit=new e(this),this.commit}async get_issue(){let{Issue:e}=await Promise.resolve().then(()=>(ge(),it));return this.issue=new e(this),this.issue}async get_repo(){let{Repo:e}=await Promise.resolve().then(()=>(_e(),ut));return this.repo=new e(this),this.repo}async get_user(){let{User:e}=await Promise.resolve().then(()=>(ye(),lt));return this.user=new e(this),this.user}async get_org(){let{Org:e}=await Promise.resolve().then(()=>(we(),dt));return this.org=new e(this),this.org}async get_webhook(){let{WebHook:e}=await Promise.resolve().then(()=>(fe(),ct));return this.webhook=new e(this),this.webhook}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(Q)}switch(e?.type){case "common":case "reverse":this.BaseUrl=le(K,e.address,e.type),this.ApiUrl=ue(K,e.address,e.type);break}this.proxy=e;}catch{throw this.proxy=null,new Error(Q)}}setToken(e){if(!e.startsWith("ghu_"))throw this.userToken=null,new Error(A);return this.userToken=e,this}generate_jwt(){let e=this.Private_Key,a={exp:Math.floor(Date.now()/1e3)+10*60,iat:Math.floor(Date.now()/1e3),iss:this.Client_ID};return $t__default.default.sign(a,e,{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:r}=this.currentRequestConfig,o=this.proxy?.type!=="common"?this.proxy:null,t={"X-GitHub-Api-Version":"2022-11-28",Accept:"application/vnd.github+json"};return new D(e,r,a??null,o,t)}async get(e,a,r){try{let t=await this.createRequest().get(e,a,r);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(o){throw new Error(`GET \u8BF7\u6C42${e}\u5931\u8D25: ${o.message}`)}}async post(e,a,r){try{let t=await this.createRequest().post(e,a,r);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(o){throw new Error(`POST \u8BF7\u6C42${e}\u5931\u8D25: ${o.message}`)}}async patch(e,a=null,r,o){try{let s=await this.createRequest().patch(e,a,r,o);if((s.statusCode===403||s.statusCode===429)&&s.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:s.success,status:s.success?"ok":"error",statusCode:s.statusCode,msg:s.msg,data:s.data}}catch(t){throw new Error(`PATCH \u8BF7\u6C42${e}\u5931\u8D25: ${t.message}`)}}async put(e,a,r){try{let t=await this.createRequest().put(e,a,r);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(o){throw new Error(`PUT \u8BF7\u6C42${e}\u5931\u8D25: ${o.message}`)}}async delete(e,a=null,r,o){try{let s=await this.createRequest().delete(e,a,r,o);if((s.statusCode===403||s.statusCode===429)&&s.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:s.success,status:s.success?"ok":"error",statusCode:s.statusCode,msg:s.msg,data:s.data}}catch(t){throw new Error(`DELETE \u8BF7\u6C42${e}\u5931\u8D25: ${t.message}`)}}};});var mt={};P(mt,{App:()=>V});var V,be=w(()=>{b();k();V=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_app_info(e){let a=e.access_token??this.userToken;if(!e.app_slug)throw new Error(Pe);if(!a)throw new Error(I);try{this.setRequestConfig({token:a});let r=await this.get(`/apps/${e.app_slug}`);if(r.statusCode===200){let o={id:r.data.id,name:r.data.name,client_id:r.data.client_id,slug:r.data.slug,owner:{id:r.data.owner.id,login:r.data.owner.login,name:r.data.owner.name,email:r.data.owner.email,html_url:r.data.owner.html_url,avatar_url:r.data.owner.avatar_url,type:lodashEs.capitalize(r.data.owner.type.toLowerCase())},description:r.data.description,external_url:r.data.external_url,html_url:r.data.html_url,permissions:r.data.permissions,events:r.data.events,created_at:r.data.created_at,updated_at:r.data.updated_at};r.data=o;}return r}catch(r){throw new Error(`\u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_app_info_by_auth(){try{this.setRequestConfig({url:this.ApiUrl,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(`\u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${e.message}`)}}async get_app_installation_by_repo(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.jwtToken});let{owner:a,repo:r}=e,o=await this.get(`/repos/${a}/${r}/installation`);switch(o.statusCode){case 404:throw new Error(C);case 301:throw new Error(ze)}if(o.data){let t={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:o.data.created_at,updated_at:o.data.updated_at};o.data=t;}return o}catch(a){throw new Error(`\u83B7\u53D6\u5B58\u50A8\u5E93\u5B89\u88C5\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async create_install_link(e){try{let a=new URL(`apps/${await this.get_app_name()}/installations/new`,this.BaseUrl);return a.search=new URLSearchParams({...e&&{state:e}}).toString(),a.toString()}catch(a){throw new Error(`\u751F\u6210\u5E94\u7528\u5B89\u88C5\u94FE\u63A5\u5931\u8D25: ${a.message}`)}}async create_config_install_link(e){try{let a=new URL(`apps/${await this.get_app_name()}/installations/new`,this.BaseUrl);return a.search=new URLSearchParams({...e&&{state:e}}).toString(),a.toString()}catch(a){throw new Error(`\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}};});b();de();pe();var Re={};P(Re,{App:()=>V,Auth:()=>B,Commit:()=>z,GitHubClient:()=>exports.GitHubClient,Issue:()=>W,Org:()=>F,Repo:()=>G,User:()=>j,WebHook:()=>J});be();ce();k();me();ge();we();_e();ye();fe();var Ce=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=Ce;
6
6
  exports.Client=Ce;exports.create_state_id=It;exports.default=bs;exports.formatDate=h;exports.get_langage_color=oe;exports.get_relative_time=Ct;exports.github=Re;
package/dist/index.d.ts CHANGED
@@ -232,19 +232,19 @@ interface UserInfoResponseType {
232
232
  html_url: string;
233
233
  /** 账号头像URL */
234
234
  avatar_url: string;
235
- /** 公司 */
236
- company: string | null;
237
235
  /** 个人简介 */
238
236
  bio: string | null;
239
237
  /** 博客URL */
240
238
  blog: string | null;
239
+ /** 公开仓库数量 */
240
+ public_repos: number;
241
241
  /** 粉丝数 */
242
242
  followers: number;
243
243
  /** 关注数 */
244
244
  following: number;
245
245
  }
246
246
 
247
- type AppUser = Omit<UserInfoResponseType, 'company' | 'bio' | 'blog' | 'followers' | 'following'>;
247
+ type AppUser = Omit<UserInfoResponseType, 'bio' | 'blog' | 'followers' | 'following' | 'public_repos'>;
248
248
  /**
249
249
  * 定义 Base 应用所需的权限
250
250
  */
@@ -383,7 +383,7 @@ interface CommitInfoCommonParamType {
383
383
  format?: formatParamType['format'];
384
384
  }
385
385
  /** Git提交用户信息 */
386
- interface GitUser extends Omit<UserInfoResponseType, 'company' | 'bio' | 'blog' | 'followers' | 'following'> {
386
+ interface GitUser extends Omit<UserInfoResponseType, 'bio' | 'blog' | 'followers' | 'following' | 'public_repos'> {
387
387
  /** 日期字符串 */
388
388
  date: string;
389
389
  }
@@ -493,7 +493,7 @@ type CommitListParamType = RepoParamType & {
493
493
  type CommitListResponseType = CommitInfoResponseType[];
494
494
 
495
495
  /** 议题用户信息响应类型 */
496
- type IssueUser = Omit<UserInfoResponseType, 'company' | 'bio' | 'blog' | 'followers' | 'following'>;
496
+ type IssueUser = Omit<UserInfoResponseType, 'bio' | 'blog' | 'followers' | 'following' | 'public_repos'>;
497
497
  /** 议题标签类型 */
498
498
  interface IssueLabelType {
499
499
  /** 标签ID */
@@ -913,7 +913,7 @@ interface OrgInfoResponseType {
913
913
  html_url: string;
914
914
  }
915
915
 
916
- type ReleaseUser = Omit<UserInfoResponseType, 'company' | 'bio' | 'blog' | 'followers' | 'following'>;
916
+ type ReleaseUser = Omit<UserInfoResponseType, 'bio' | 'blog' | 'followers' | 'following' | 'public_repos'>;
917
917
  /** 反应信息类型 */
918
918
  interface ReactionInfoType {
919
919
  /** 反应 API URL */
@@ -953,9 +953,9 @@ type ReleaseInfoParamType = RepoBaseParamType & {
953
953
  interface ReleaseInfoResponseType {
954
954
  /**
955
955
  * 发布版本的 ID
956
- * 该字段在gitcode平台同target_commitish一致
956
+ * 该字段在gitcode平台为null
957
957
  */
958
- id: number | string;
958
+ id: number | null;
959
959
  /** 标签名称 */
960
960
  tag_name: string;
961
961
  /** 目标分支或提交 */
@@ -1021,7 +1021,7 @@ interface DeleteReleaseResponseType {
1021
1021
  }
1022
1022
 
1023
1023
  /** 仓库所有者参数类型 */
1024
- type RepoUser = Omit<UserInfoResponseType, 'followers' | 'following' | 'blog' | 'bio' | 'company'>;
1024
+ type RepoUser = Omit<UserInfoResponseType, 'followers' | 'following' | 'blog' | 'bio' | 'public_repos'>;
1025
1025
  /** 仓库列表参数类型 */
1026
1026
  interface RepoListBaseParamType {
1027
1027
  /** 排序方式,可选created, updated, pushed, full_name, 默认为 full_name */
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
- import ht from'path';import {URL as URL$1,fileURLToPath}from'url';import Ze from'fs';import ft from'color-convert';import O from'dayjs';import bt from'dayjs/plugin/relativeTime.js';import Tt from'git-url-parse';import Rt from'language-colors';import {v4}from'uuid';import M from'axios';import {HttpProxyAgent}from'http-proxy-agent';import {HttpsProxyAgent}from'https-proxy-agent';import {SocksProxyAgent}from'socks-proxy-agent';import {capitalize}from'lodash-es';import pt from'crypto';import $t from'jsonwebtoken';var _t=Object.defineProperty;var w=(d,e)=>()=>(d&&(e=d(d=0)),e);var P=(d,e)=>{for(var a in e)_t(d,a,{get:e[a],enumerable:true});};var Pe,Y,I,Ee,L,E,Ie,ve,xe,c,X,U,Q,N,Ae,x,A,$e,Me,Z,Le,_,Ue,Ne,Se,qe,ee,f,R,Oe,De,Be,He,S,q,C,ze,te,$,We,ae,v,Ge=w(()=>{Pe="\u55B5\u545C~ \u5E94\u7528\u6807\u8BC6\u7B26\u4E0D\u80FD\u4E3A\u7A7A",Y="\u55B5\u545C~ \u6388\u6743\u7801\u4E0D\u80FD\u4E3A\u7A7A",I="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u4E0D\u80FD\u4E3A\u7A7A",Ee="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A\u54E6",L="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",E="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",Ie="\u55B5\u545C~ \u8BAE\u9898\u6807\u9898\u4E0D\u80FD\u4E3A\u7A7A",ve="\u55B5\u545C~ \u7EC4\u7EC7\u540D\u6216\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A",xe="\u55B5\u545C~ \u7EC4\u7EC7\u540D\u4E0D\u80FD\u4E3A\u7A7A",c="\u55B5\u545C~ \u8BF7\u63D0\u4F9B\u4ED3\u5E93\u62E5\u6709\u8005\u548C\u4ED3\u5E93\u540D\u79F0",X="\u55B5\u545C~ \u8BF7\u63D0\u4F9B\u4ED3\u5E93\u4FE1\u606F(\u4ED3\u5E93\u62E5\u6709\u8005/\u4ED3\u5E93\u540D\u6216\u5B8C\u6574URL)",U="\u55B5\u545C~ \u53C2\u6570\u597D\u50CF\u4E0D\u592A\u5BF9\u5462",Q="\u55B5\u545C~ \u4EE3\u7406\u5730\u5740\u683C\u5F0F\u4E0D\u6B63\u786E\u54E6",N="\u55B5\u545C~ \u8FD9\u4E2A\u5B50\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",Ae="\u55B5\u545C~ \u7528\u6237ID\u4E0D\u80FD\u4E3A\u7A7A",x="\u55B5\u545C~ \u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A",A="\u55B5\u545C~ \u8FD9\u4E2A\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",$e="\u55B5\u545C~ \u8FD9\u4E2A\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",Me="\u55B5\u545C~ \u6743\u9650\u4E0D\u6B63\u786E\uFF0C\u8BF7\u68C0\u67E5\u6743\u9650",Z="\u55B5\u545C~ \u8FD9\u4E2A\u5237\u65B0\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",Le="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5DF2\u8FC7\u671F",_="\u55B5\u545C~ \u8BBF\u95EE\u88AB\u62D2\u7EDD\u5566\uFF0C\u53EF\u80FD\u662F\u4EE4\u724C\u8FC7\u671F\u4E86\u6216\u6743\u9650\u4E0D\u8DB3",Ue="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u5931\u8D25",Ne="\u55B5\u545C~ \u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25",Se="\u55B5\u545C~ \u7EC4\u7EC7\u8D26\u53F7\u6682\u4E0D\u652F\u6301",qe="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u4E0D\u5B58\u5728\u54E6",ee="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",f="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u4E0D\u5B58\u5728\u54E6",R="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u4E0D\u5B58\u5728\u54E6",Oe="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u5DF2\u88AB\u79FB\u52A8",De="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u9501\u5B9A\u5931\u8D25\u54E6",Be="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u521B\u5EFA\u5931\u8D25\u54E6",He="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u89E3\u9501\u5931\u8D25\u54E6",S="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u4E0D\u5B58\u5728\u54E6",q="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u6216\u7528\u6237\u4E0D\u5B58\u5728\u54E6",C="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",ze="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u5DF2\u88AB\u79FB\u52A8",te="\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",$="\u55B5\u545C~ \u8FD9\u4E2A\u7528\u6237\u4E0D\u5B58\u5728\u54E6",We="\u55B5\u545C~ WebHook \u7B7E\u540D\u683C\u5F0F\u4E0D\u6B63\u786E",ae="\u55B5\u545C~ WebHook \u7B7E\u540D\u9A8C\u8BC1\u5931\u8D25",v="\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 je,se,Fe,Je,Ke,Ve,Ye=w(()=>{je="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u6210\u529F",se="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u6709\u6548",Fe="\u55B5\u545C~ WebHook \u7B7E\u540D\u6210\u529F",Je="\u55B5\u545C~ \u8BAE\u9898\u9501\u5B9A\u6210\u529F",Ke="\u55B5\u545C~ \u8BAE\u9898\u89E3\u9501\u6210\u529F",Ve="\u55B5\u545C~ \u8BAE\u9898\u8BC4\u8BBA\u521B\u5EFA\u6210\u529F";});var wt,Xe,Qe=w(()=>{wt=fileURLToPath(import.meta.url),Xe=Object.freeze(ht.join(wt,"../..").replace(/\\/g,"/"));});function et(d="",e=""){e=e||Xe;try{let a=`${e}/${d}`;if(!Ze.existsSync(a))return console.warn(`\u6587\u4EF6\u4E0D\u5B58\u5728: ${a}`),{};let r=Ze.readFileSync(a,"utf8");return JSON.parse(r)}catch(a){return console.error(`\u8BFB\u53D6 JSON \u6587\u4EF6\u5931\u8D25: ${d}`,a),{}}}async function tt(d="zh-cn"){let e=String(d).toLowerCase();await import(`dayjs/locale/${e}.js`),O.locale(e);}async function h(d,e="zh-cn",a="YYYY-MM-DD HH:mm:ss"){return await tt(e),O(d).format(a)}async function Ct(d,e="zh-cn"){return await tt(e),O.extend(bt),O(d).fromNow()}function re(d){let e=/^https?:\/\/[^/]+\/(?:https?:\/\/)?([^/]+\/[^/]+\/[^/]+)/,a=d.match(e);if(a){let o=a[1];d=o.startsWith("https")?o:`https://${o}`;}let r=Tt(d);return {owner:r.owner,repo:r.name}}function kt(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 `#${ft.rgb.hex(d)}`}function oe(d){return d=String(d).toLowerCase(),kt(Rt[d].color)??"#ededed"}async function Pt(d,e){return Promise.resolve(Array.from({length:Math.ceil(d.length/e)},(a,r)=>d.slice(r*e,r*e+e)))}async function at(d){let e=/data-date="(.*?)" id="contribution-day-component/g,a=/<tool-tip .*?class="sr-only position-absolute">(.*?) contribution/g,r=Array.from(d.matchAll(e),i=>i[1]),o=Array.from(d.matchAll(a),i=>String(i[1]).toLowerCase()==="no"?0:parseInt(i[1]));if(!r.length||!o.length)return {total:0,contributions:[]};let t=r.map((i,u)=>({date:i,count:o[u]})).sort((i,u)=>i.date.localeCompare(u.date)),s=await Pt(t,7);return {total:o.reduce((i,u)=>i+u,0),contributions:s}}var ne=w(()=>{Qe();});var ie,st=w(()=>{ne();ie=et("package.json");});var b=w(()=>{Ge();Ye();ne();st();});function ue(d="github",e,a="common"){let r={github:"api.github.com",gitee:"gitee.com/api/v5",gitcode:"api.gitcode.com/api/v5"};if(!e)return `https://${r[d??"github"]}`.replace(/\/$/,"");let t=`${e.match(/^(https?):/)?.[1]??"https"}://${e.replace(/^https?:\/\/|\/$/g,"")}`;return a==="common"?t:`${t}/${r[d]}`}function le(d="github",e,a="common"){let r={github:"github.com",gitee:"gitee.com",gitcode:"gitcode.com"};if(!e)return `https://${r[d??"github"]}`.replace(/\/$/,"");let t=`${e.match(/^(https?):/)?.[1]??"https"}://${e.replace(/^https?:\/\/|\/$/g,"")}`;return a==="common"?t:`${t}/${r[d]}`}async function It(){return Promise.resolve(v4().replace(/-/g,""))}var de=w(()=>{});var D,pe=w(()=>{b();D=class{baseUrl;tokenType;authorization;proxy;defaultHeaders;constructor(e,a="Bearer",r,o,t){this.baseUrl=e.replace(/\/$/,""),this.authorization=r,this.proxy=o,this.tokenType=a,this.defaultHeaders=t;}async request(e,a,r,o,t){let s=`${this.baseUrl}/${a}`.replace(/\/+/g,"/"),i={headers:this.createHeaders(t),params:r,validateStatus:()=>true};if(this.proxy){let u=this.proxy.type,n=this.proxy.address;switch(u){case "http":i.httpAgent=new HttpProxyAgent(n),i.httpsAgent=new HttpsProxyAgent(n);break;case "https":i.httpsAgent=new HttpsProxyAgent(n);break;case "socks":case "socks5":{let l=new SocksProxyAgent(n);i.httpAgent=l,i.httpsAgent=l;break}}}try{let u;switch(e){case "get":u=await M.get(s,i);break;case "post":u=await M.post(s,o,i);break;case "patch":u=await M.patch(s,o,i);break;case "put":u=await M.put(s,o,i);break;case "delete":u=await M.delete(s,{...i,data:o});break;default:throw new Error(`\u4E0D\u652F\u6301\u7684\u8BF7\u6C42\u65B9\u6CD5: ${e}`)}let n=Object.fromEntries(Object.entries(u.headers).filter(([l,g])=>g!==void 0).map(([l,g])=>[l.toLowerCase(),g]));return {success:!0,statusCode:u.status,headers:n,data:u.data,msg:u.status>=200&&u.status<500?"\u8BF7\u6C42\u6210\u529F":"\u8BF7\u6C42\u5F02\u5E38"}}catch(u){let n=u,l=n.response?.headers?Object.fromEntries(Object.entries(n.response.headers).filter(([g,p])=>p!==void 0).map(([g,p])=>[g,p])):{};return {success:false,statusCode:n.response?.status??500,headers:l,msg:n.message??"\u7F51\u7EDC\u8FDE\u63A5\u5931\u8D25",data:null}}}async get(e,a,r){return this.request("get",e,a,null,r)}async post(e,a,r,o){return this.request("post",e,a,r,o)}async patch(e,a=null,r,o){return this.request("patch",e,a,r,o)}async put(e,a,r,o){return this.request("put",e,a,r,o)}async delete(e,a=null,r,o){return this.request("delete",e,a,r,o)}createHeaders(e){let a={"Content-Type":"application/json","User-Agent":`${ie.name}/v${ie.version}`,...this.defaultHeaders??{}};if(this.authorization)if(this.tokenType==="Basic"){let r=Buffer.from(this.authorization).toString("base64");a.Authorization=`Basic ${r}`;}else this.tokenType==="Bearer"?a.Authorization=`Bearer ${this.authorization}`:a.Authorization=`${this.tokenType} ${this.authorization}`;return e&&Object.assign(a,e),a}};});var ot={};P(ot,{Auth:()=>B});var B,ce=w(()=>{b();k();B=class extends y{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_token_by_code(e){try{if(!e.code)throw new Error(Y);this.setRequestConfig({url:this.BaseUrl});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"}),r=a.status==="ok"&&a.statusCode===200&&!a.data.error;if(a.data){if(!r)throw new Error(Ne);let o={success:r,info:se,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=o;}return a}catch(a){throw new Error(`\u8BF7\u6C42\u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${a.message}`)}}async check_token_status(e){try{let a=e?.access_token??this.userToken;if(!a)throw new Error(I);if(!a.startsWith("ghu_"))throw new Error($e);this.setRequestConfig({url:this.ApiUrl,tokenType:"Basic",token:`${this.Client_ID}:${this.Client_Secret}`});let r=await this.post(`/applications/${this.Client_ID}/token`,{access_token:a});if(r.data){let o=!(r.status==="ok"&&(r.statusCode===404||r.statusCode===422));r.data={success:o,info:o?se:Le};}return r}catch(a){throw new Error(`\u8BF7\u6C42\u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u72B6\u6001\u5931\u8D25: ${a.message}`)}}async refresh_token(e){try{if(!e.refresh_token)throw new Error(Y);if(!e.refresh_token.startsWith("ghr_"))throw new Error(Z);this.setRequestConfig({url:this.BaseUrl});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"}),r=a.status==="ok"&&a.statusCode===200&&!a.data.error,o=Ue;switch(a.data.error){case "bad_refresh_token":o=Z;break;case "unauthorized":o=_;break}if(a.data){if(!r)throw new Error(o);let t={success:r,info:je,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(`\u8BF7\u6C42\u5237\u65B0\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${a.message}`)}}async create_auth_link(e){try{let a=new URL("/login/oauth/authorize",this.BaseUrl);return a.search=new URLSearchParams({client_id:this.Client_ID,...e&&{state:e}}).toString(),Promise.resolve(a.toString())}catch(a){throw new Error(`\u751F\u6210\u6388\u6743\u94FE\u63A5\u5931\u8D25: ${a.message}`)}}};});var nt={};P(nt,{Commit:()=>z});var z,me=w(()=>{b();k();z=class extends y{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_commit_info(e){try{this.setRequestConfig({token:this.userToken});let a,r,o,t;if("url"in e){o=e.url;let u=re(o);a=u?.owner,r=u?.repo;}else if("owner"in e&&"repo"in e)a=e.owner,r=e.repo;else throw new Error(X);e.sha?t=e.sha:t=await(await this.get_repo()).get_repo_default_branch({owner:a,repo:r});let s=await this.get(`/repos/${a}/${r}/commits/${t}`);switch(s.statusCode){case 401:throw new Error(_);case 404:throw new Error(ee);case 422:throw new Error(qe)}let i=e.format??this.format;if(s.data){let u=s.data?.commit?.message??"",[n,...l]=u.split(`
1
+ import ht from'path';import {URL as URL$1,fileURLToPath}from'url';import Ze from'fs';import ft from'color-convert';import O from'dayjs';import bt from'dayjs/plugin/relativeTime.js';import Tt from'git-url-parse';import Rt from'language-colors';import {v4}from'uuid';import M from'axios';import {HttpProxyAgent}from'http-proxy-agent';import {HttpsProxyAgent}from'https-proxy-agent';import {SocksProxyAgent}from'socks-proxy-agent';import {capitalize}from'lodash-es';import pt from'crypto';import $t from'jsonwebtoken';var _t=Object.defineProperty;var w=(d,e)=>()=>(d&&(e=d(d=0)),e);var P=(d,e)=>{for(var a in e)_t(d,a,{get:e[a],enumerable:true});};var Pe,Y,I,Ee,L,E,Ie,ve,xe,c,X,U,Q,N,Ae,x,A,$e,Me,Z,Le,_,Ue,Ne,Se,qe,ee,f,R,Oe,De,Be,He,S,q,C,ze,te,$,We,ae,v,Ge=w(()=>{Pe="\u55B5\u545C~ \u5E94\u7528\u6807\u8BC6\u7B26\u4E0D\u80FD\u4E3A\u7A7A",Y="\u55B5\u545C~ \u6388\u6743\u7801\u4E0D\u80FD\u4E3A\u7A7A",I="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u4E0D\u80FD\u4E3A\u7A7A",Ee="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A\u54E6",L="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",E="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",Ie="\u55B5\u545C~ \u8BAE\u9898\u6807\u9898\u4E0D\u80FD\u4E3A\u7A7A",ve="\u55B5\u545C~ \u7EC4\u7EC7\u540D\u6216\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A",xe="\u55B5\u545C~ \u7EC4\u7EC7\u540D\u4E0D\u80FD\u4E3A\u7A7A",c="\u55B5\u545C~ \u8BF7\u63D0\u4F9B\u4ED3\u5E93\u62E5\u6709\u8005\u548C\u4ED3\u5E93\u540D\u79F0",X="\u55B5\u545C~ \u8BF7\u63D0\u4F9B\u4ED3\u5E93\u4FE1\u606F(\u4ED3\u5E93\u62E5\u6709\u8005/\u4ED3\u5E93\u540D\u6216\u5B8C\u6574URL)",U="\u55B5\u545C~ \u53C2\u6570\u597D\u50CF\u4E0D\u592A\u5BF9\u5462",Q="\u55B5\u545C~ \u4EE3\u7406\u5730\u5740\u683C\u5F0F\u4E0D\u6B63\u786E\u54E6",N="\u55B5\u545C~ \u8FD9\u4E2A\u5B50\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",Ae="\u55B5\u545C~ \u7528\u6237ID\u4E0D\u80FD\u4E3A\u7A7A",x="\u55B5\u545C~ \u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A",A="\u55B5\u545C~ \u8FD9\u4E2A\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",$e="\u55B5\u545C~ \u8FD9\u4E2A\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",Me="\u55B5\u545C~ \u6743\u9650\u4E0D\u6B63\u786E\uFF0C\u8BF7\u68C0\u67E5\u6743\u9650",Z="\u55B5\u545C~ \u8FD9\u4E2A\u5237\u65B0\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",Le="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5DF2\u8FC7\u671F",_="\u55B5\u545C~ \u8BBF\u95EE\u88AB\u62D2\u7EDD\u5566\uFF0C\u53EF\u80FD\u662F\u4EE4\u724C\u8FC7\u671F\u4E86\u6216\u6743\u9650\u4E0D\u8DB3",Ue="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u5931\u8D25",Ne="\u55B5\u545C~ \u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25",Se="\u55B5\u545C~ \u7EC4\u7EC7\u8D26\u53F7\u6682\u4E0D\u652F\u6301",qe="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u4E0D\u5B58\u5728\u54E6",ee="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",f="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u4E0D\u5B58\u5728\u54E6",R="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u4E0D\u5B58\u5728\u54E6",Oe="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u5DF2\u88AB\u79FB\u52A8",De="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u9501\u5B9A\u5931\u8D25\u54E6",Be="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u521B\u5EFA\u5931\u8D25\u54E6",He="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u89E3\u9501\u5931\u8D25\u54E6",S="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u4E0D\u5B58\u5728\u54E6",q="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u6216\u7528\u6237\u4E0D\u5B58\u5728\u54E6",C="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",ze="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u5DF2\u88AB\u79FB\u52A8",te="\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",$="\u55B5\u545C~ \u8FD9\u4E2A\u7528\u6237\u4E0D\u5B58\u5728\u54E6",We="\u55B5\u545C~ WebHook \u7B7E\u540D\u683C\u5F0F\u4E0D\u6B63\u786E",ae="\u55B5\u545C~ WebHook \u7B7E\u540D\u9A8C\u8BC1\u5931\u8D25",v="\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 je,se,Fe,Je,Ke,Ve,Ye=w(()=>{je="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u6210\u529F",se="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u6709\u6548",Fe="\u55B5\u545C~ WebHook \u7B7E\u540D\u6210\u529F",Je="\u55B5\u545C~ \u8BAE\u9898\u9501\u5B9A\u6210\u529F",Ke="\u55B5\u545C~ \u8BAE\u9898\u89E3\u9501\u6210\u529F",Ve="\u55B5\u545C~ \u8BAE\u9898\u8BC4\u8BBA\u521B\u5EFA\u6210\u529F";});var wt,Xe,Qe=w(()=>{wt=fileURLToPath(import.meta.url),Xe=Object.freeze(ht.join(wt,"../..").replace(/\\/g,"/"));});function et(d="",e=""){e=e||Xe;try{let a=`${e}/${d}`;if(!Ze.existsSync(a))return console.warn(`\u6587\u4EF6\u4E0D\u5B58\u5728: ${a}`),{};let r=Ze.readFileSync(a,"utf8");return JSON.parse(r)}catch(a){return console.error(`\u8BFB\u53D6 JSON \u6587\u4EF6\u5931\u8D25: ${d}`,a),{}}}async function tt(d="zh-cn"){let e=String(d).toLowerCase();await import(`dayjs/locale/${e}.js`),O.locale(e);}async function h(d,e="zh-cn",a="YYYY-MM-DD HH:mm:ss"){return await tt(e),O(d).format(a)}async function Ct(d,e="zh-cn"){return await tt(e),O.extend(bt),O(d).fromNow()}function re(d){let e=/^https?:\/\/[^/]+\/(?:https?:\/\/)?([^/]+\/[^/]+\/[^/]+)/,a=d.match(e);if(a){let o=a[1];d=o.startsWith("https")?o:`https://${o}`;}let r=Tt(d);return {owner:r.owner,repo:r.name}}function kt(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 `#${ft.rgb.hex(d)}`}function oe(d){return d=String(d).toLowerCase(),kt(Rt[d].color)??"#ededed"}async function Pt(d,e){return Promise.resolve(Array.from({length:Math.ceil(d.length/e)},(a,r)=>d.slice(r*e,r*e+e)))}async function at(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,r=Array.from(d.matchAll(e),i=>i[1]),o=Array.from(d.matchAll(a),i=>String(i[1]).toLowerCase()==="no"?0:parseInt(i[1]));if(!r.length||!o.length)return {total:0,contributions:[]};let t=r.map((i,u)=>({date:i,count:o[u]})).sort((i,u)=>i.date.localeCompare(u.date)),s=await Pt(t,7);return {total:o.reduce((i,u)=>i+u,0),contributions:s}}catch(e){throw new Error(`\u89E3\u6790\u8D21\u732E\u6570\u636E\u5931\u8D25: ${e}`)}}var ne=w(()=>{Qe();});var ie,st=w(()=>{ne();ie=et("package.json");});var b=w(()=>{Ge();Ye();ne();st();});function ue(d="github",e,a="common"){let r={github:"api.github.com",gitee:"gitee.com/api/v5",gitcode:"api.gitcode.com/api/v5"};if(!e)return `https://${r[d??"github"]}`.replace(/\/$/,"");let t=`${e.match(/^(https?):/)?.[1]??"https"}://${e.replace(/^https?:\/\/|\/$/g,"")}`;return a==="common"?t:`${t}/${r[d]}`}function le(d="github",e,a="common"){let r={github:"github.com",gitee:"gitee.com",gitcode:"gitcode.com"};if(!e)return `https://${r[d??"github"]}`.replace(/\/$/,"");let t=`${e.match(/^(https?):/)?.[1]??"https"}://${e.replace(/^https?:\/\/|\/$/g,"")}`;return a==="common"?t:`${t}/${r[d]}`}async function It(){return Promise.resolve(v4().replace(/-/g,""))}var de=w(()=>{});var D,pe=w(()=>{b();D=class{baseUrl;tokenType;authorization;proxy;defaultHeaders;constructor(e,a="Bearer",r,o,t){this.baseUrl=e.replace(/\/$/,""),this.authorization=r,this.proxy=o,this.tokenType=a,this.defaultHeaders=t;}async request(e,a,r,o,t){let s=`${this.baseUrl}/${a}`.replace(/\/+/g,"/"),i={headers:this.createHeaders(t),params:r,validateStatus:()=>true};if(this.proxy){let u=this.proxy.type,n=this.proxy.address;switch(u){case "http":i.httpAgent=new HttpProxyAgent(n),i.httpsAgent=new HttpsProxyAgent(n);break;case "https":i.httpsAgent=new HttpsProxyAgent(n);break;case "socks":case "socks5":{let l=new SocksProxyAgent(n);i.httpAgent=l,i.httpsAgent=l;break}}}try{let u;switch(e){case "get":u=await M.get(s,i);break;case "post":u=await M.post(s,o,i);break;case "patch":u=await M.patch(s,o,i);break;case "put":u=await M.put(s,o,i);break;case "delete":u=await M.delete(s,{...i,data:o});break;default:throw new Error(`\u4E0D\u652F\u6301\u7684\u8BF7\u6C42\u65B9\u6CD5: ${e}`)}let n=Object.fromEntries(Object.entries(u.headers).filter(([l,g])=>g!==void 0).map(([l,g])=>[l.toLowerCase(),g]));return {success:!0,statusCode:u.status,headers:n,data:u.data,msg:u.status>=200&&u.status<500?"\u8BF7\u6C42\u6210\u529F":"\u8BF7\u6C42\u5F02\u5E38"}}catch(u){let n=u,l=n.response?.headers?Object.fromEntries(Object.entries(n.response.headers).filter(([g,p])=>p!==void 0).map(([g,p])=>[g,p])):{};return {success:false,statusCode:n.response?.status??500,headers:l,msg:n.message??"\u7F51\u7EDC\u8FDE\u63A5\u5931\u8D25",data:null}}}async get(e,a,r){return this.request("get",e,a,null,r)}async post(e,a,r,o){return this.request("post",e,a,r,o)}async patch(e,a=null,r,o){return this.request("patch",e,a,r,o)}async put(e,a,r,o){return this.request("put",e,a,r,o)}async delete(e,a=null,r,o){return this.request("delete",e,a,r,o)}createHeaders(e){let a={"Content-Type":"application/json","User-Agent":`${ie.name}/v${ie.version}`,...this.defaultHeaders??{}};if(this.authorization)if(this.tokenType==="Basic"){let r=Buffer.from(this.authorization).toString("base64");a.Authorization=`Basic ${r}`;}else this.tokenType==="Bearer"?a.Authorization=`Bearer ${this.authorization}`:a.Authorization=`${this.tokenType} ${this.authorization}`;return e&&Object.assign(a,e),a}};});var ot={};P(ot,{Auth:()=>B});var B,ce=w(()=>{b();k();B=class extends y{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_token_by_code(e){try{if(!e.code)throw new Error(Y);this.setRequestConfig({url:this.BaseUrl});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"}),r=a.status==="ok"&&a.statusCode===200&&!a.data.error;if(a.data){if(!r)throw new Error(Ne);let o={success:r,info:se,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=o;}return a}catch(a){throw new Error(`\u8BF7\u6C42\u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${a.message}`)}}async check_token_status(e){try{let a=e?.access_token??this.userToken;if(!a)throw new Error(I);if(!a.startsWith("ghu_"))throw new Error($e);this.setRequestConfig({url:this.ApiUrl,tokenType:"Basic",token:`${this.Client_ID}:${this.Client_Secret}`});let r=await this.post(`/applications/${this.Client_ID}/token`,{access_token:a});if(r.data){let o=!(r.status==="ok"&&(r.statusCode===404||r.statusCode===422));r.data={success:o,info:o?se:Le};}return r}catch(a){throw new Error(`\u8BF7\u6C42\u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u72B6\u6001\u5931\u8D25: ${a.message}`)}}async refresh_token(e){try{if(!e.refresh_token)throw new Error(Y);if(!e.refresh_token.startsWith("ghr_"))throw new Error(Z);this.setRequestConfig({url:this.BaseUrl});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"}),r=a.status==="ok"&&a.statusCode===200&&!a.data.error,o=Ue;switch(a.data.error){case "bad_refresh_token":o=Z;break;case "unauthorized":o=_;break}if(a.data){if(!r)throw new Error(o);let t={success:r,info:je,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(`\u8BF7\u6C42\u5237\u65B0\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${a.message}`)}}async create_auth_link(e){try{let a=new URL("/login/oauth/authorize",this.BaseUrl);return a.search=new URLSearchParams({client_id:this.Client_ID,...e&&{state:e}}).toString(),Promise.resolve(a.toString())}catch(a){throw new Error(`\u751F\u6210\u6388\u6743\u94FE\u63A5\u5931\u8D25: ${a.message}`)}}};});var nt={};P(nt,{Commit:()=>z});var z,me=w(()=>{b();k();z=class extends y{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_commit_info(e){try{this.setRequestConfig({token:this.userToken});let a,r,o,t;if("url"in e){o=e.url;let u=re(o);a=u?.owner,r=u?.repo;}else if("owner"in e&&"repo"in e)a=e.owner,r=e.repo;else throw new Error(X);e.sha?t=e.sha:t=await(await this.get_repo()).get_repo_default_branch({owner:a,repo:r});let s=await this.get(`/repos/${a}/${r}/commits/${t}`);switch(s.statusCode){case 401:throw new Error(_);case 404:throw new Error(ee);case 422:throw new Error(qe)}let i=e.format??this.format;if(s.data){let u=s.data?.commit?.message??"",[n,...l]=u.split(`
2
2
  `),g={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:capitalize(String(s.data.author.type).toLowerCase()),date:i?await h(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:capitalize(String(s.data.committer.type).toLowerCase()),date:i?await h(s.data.commit.committer.date):s.data.commit.committer.date},message:s.data.commit.message,...i&&{title:n,body:l<0?l.join(`
3
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=g;}return s}catch(a){throw new Error(`\u83B7\u53D6\u63D0\u4EA4\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async get_commit_list(e){try{this.setRequestConfig({token:this.userToken});let a,r,o,t;if("url"in e){o=e.url;let g=re(o);a=g?.owner,r=g?.repo;}else if("owner"in e&&"repo"in e)a=e.owner,r=e.repo;else throw new Error(X);e.sha?t=e.sha:t=await(await this.get_repo()).get_repo_default_branch({owner:a,repo:r});let{...s}=e,i={};s.sha&&(i.sha=s.sha),s.path&&(i.path=s.path),s.author&&(i.author=s.author),s.since&&(i.since=s.since),s.until&&(i.until=s.until),s.per_page&&(i.per_page=s.per_page.toString()),s.page&&(i.page=s.page.toString());let u=`/repos/${a}/${r}/commits`,n=await this.get(u,i);switch(n.statusCode){case 401:throw new Error(_);case 404:throw new Error(ee)}let l=e?.format??this.format;if(n.data){let g=await Promise.all(n.data.map(async p=>{let[gt,...ke]=p.commit.message.split(`
4
4
  `);return {html_url:p.html_url,sha:p.sha,comments_url:p.comments_url,commit:{url:p.commit.url,author:{id:p.author.id,login:p.author.login,name:p.commit.author.name,avatar_url:p.author.avatar_url,email:p.commit.author.email,html_url:p.author.html_url,type:capitalize(String(p.author.type).toLowerCase()),date:l?await h(p.commit.author.date):p.commit.author.date},committer:{id:p.committer.id,login:p.committer.login,name:p.commit.committer.name,avatar_url:p.committer.avatar_url,email:p.commit.committer.email,html_url:p.committer.html_url,type:capitalize(String(p.committer.type).toLowerCase()),date:l?await h(p.commit.committer.date):p.commit.committer.date},message:p.commit.message,...l&&{title:gt,body:ke.length>0?ke.join(`
5
- `):null},tree:{url:p.commit.tree.url,sha:p.commit.tree.sha}},parents:p.parents.map(T=>({sha:T.sha,url:T.url})),stats:{additions:p.stats.additions,deletions:p.stats.deletions,total:p.stats.total},files:p.files.map(T=>({sha:T.sha,filename:T.filename,status:T.status,additions:T.additions,deletions:T.deletions,changes:T.changes,blob_url:T.blob_url,raw_url:T.raw_url}))}}));n.data=g;}return n}catch(a){throw new Error(`\u83B7\u53D6\u63D0\u4EA4\u5217\u8868\u5931\u8D25: ${a.message}`)}}};});var it={};P(it,{Issue:()=>W});var W,ge=w(()=>{b();k();W=class extends y{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_issue_info(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o}=e,t=await this.get(`/repos/${a}/${r}/issues/${Number(o)}`);switch(t.statusCode){case 404:throw new Error(R);case 301:throw new Error(Oe)}if(t.data){let s={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,type:capitalize(t.data.user.type.toLowerCase())},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,type:capitalize(t.data.assignee.type.toLowerCase())}: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(`\u83B7\u53D6Issue\u8BE6\u60C5\u5931\u8D25: ${a.message}`)}}async get_issues_list(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,...o}=e,t={};o.milestone&&(t.milestone=o.milestone.toString()),o.state&&(t.state=o.state),o.assignee&&(t.assignee=o.assignee),o.creator&&(t.creator=o.creator),o.labels&&(t.labels=o.labels),o.sort&&(t.sort=o.sort),o.direction&&(t.direction=o.direction),o.since&&(t.since=o.since),o.per_page&&(t.per_page=o.per_page.toString()),o.page&&(t.page=o.page.toString());let s=`/repos/${a}/${r}/issues`,i=await this.get(s,t);if(i.statusCode===401)throw new Error(_);if(i.data){let u=i.data.map(n=>({id:n.id,html_url:n.html_url,number:n.number,comments:n.comments,state:n.state,state_reason:n.state_reason,title:n.title,body:n.body,user:{id:n.user.id,login:n.user.login,name:n.user.name,email:n.user.email,html_url:n.user.html_url,avatar_url:n.user.avatar_url,type:capitalize(n.user.type.toLowerCase())},labels:n.labels?n.labels.map(l=>({id:l.id,name:l.name,color:l.color})):null,assignee:n.assignee?{id:n.assignee.id,login:n.assignee.login,name:n.assignee.name,email:n.assignee.email,html_url:n.assignee.html_url,avatar_url:n.assignee.avatar_url,type:capitalize(n.assignee.type.toLowerCase())}: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,closed_at:n.closed_at,created_at:n.created_at,updated_at:n.updated_at}));i.data=u;}return i}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u7684Issue\u5217\u8868\u5931\u8D25: ${a.message}`)}}async create_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.title)throw new Error(Ie);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,...o}=e,t={...o,...o.labels&&{labels:Array.isArray(o.labels)?o.labels:[o.labels]},...o.assignees&&{assignees:Array.isArray(o.assignees)?o.assignees:[o.assignees]}},s=await this.post(`/repos/${a}/${r}/issues`,t);switch(s.statusCode){case 403:throw new Error(_);case 301:throw new Error(C)}if(s.data&&s.data){let i={id:s.data.id,html_url:s.data.html_url,number:s.data.number,comments:s.data.comments,state:s.data.state,state_reason:s.data.state_reason,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,type:capitalize(s.data.user.type.toLowerCase())},labels:s.data.labels?s.data.labels.map(u=>({id:u.id,name:u.name,color:u.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,type:capitalize(s.data.assignee.type.toLowerCase())}: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(`\u521B\u5EFAIssue\u5931\u8D25: ${a.message}`)}}async update_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,...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}/${r}/issues/${Number(o)}`,null,s);switch(i.statusCode){case 404:throw new Error(R);case 403:throw new Error(_);case 301:throw new Error(C)}if(i.data&&i.data){let u={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,type:capitalize(i.data.user.type.toLowerCase())},labels:i.data.labels?i.data.labels.map(n=>({id:n.id,name:n.name,color:n.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,type:capitalize(i.data.assignee.type.toLowerCase())}: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=u;}return i}catch(a){throw new Error(`\u66F4\u65B0Issue\u5931\u8D25: ${a.message}`)}}async open_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o}=e,t=await this.patch(`/repos/${a}/${r}/issues/${o}`,null,{state:"open"});switch(t.statusCode){case 404:throw new Error(R);case 403:throw new Error(_);case 301:throw new Error(C)}if(t.data&&t.data){let s={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,type:capitalize(t.data.user.type.toLowerCase())},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,type:capitalize(t.data.assignee.type.toLowerCase())}: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(`\u6253\u5F00Issue\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(c);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o}=e,t=await this.patch(`/repos/${a}/${r}/issues/${o}`,null,{state:"closed"});switch(t.statusCode){case 404:throw new Error(R);case 403:throw new Error(_);case 301:throw new Error(C)}if(t.data&&t.data){let s={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,type:capitalize(t.data.user.type.toLowerCase())},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,type:capitalize(t.data.assignee.type.toLowerCase())}: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(`\u5173\u95EDIssue\u5931\u8D25: ${a.message}`)}}async lock_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,lock_reason:t}=e,s=await this.put(`/repos/${a}/${r}/issues/${Number(o)}`,{locked:!0,lock_reason:t});switch(s.statusCode){case 404:throw new Error(R);case 403:throw new Error(_);case 301:throw new Error(C)}let i;return s.statusCode===204?i={info:Je}:i={info:De},s.data=i,s}catch(a){throw new Error(`\u9501\u5B9AIssue${e.issue_number}\u5931\u8D25: ${a.message}`)}}async unlock_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o}=e,t=await this.delete(`/repos/${a}/${r}/issues/${o}/lock`);switch(t.statusCode){case 404:throw new Error(R);case 403:throw new Error(_);case 301:throw new Error(C)}let s;return t.statusCode===204?s={info:Ke}:s={info:He},t.data=s,t}catch(a){throw new Error(`\u89E3\u9501Issue\u5931\u8D25: ${a.message}`)}}async get_comments_list(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,...o}=e,t={};o.sort&&(t.sort=o.sort),o.direction&&o.direction&&(t.direction=o.direction),o.since&&(t.since=o.since),o.per_page&&(t.per_page=o.per_page.toString()),o.page&&(t.page=o.page.toString());let s=`/repos/${a}/${r}/issues/comments/`,i=await this.get(s,t);if(i.statusCode===404)throw new Error(f);if(i.data){let u=i.data.map(n=>({id:n.id,html_url:n.html_url,body:n.body,user:{id:n.user.id,login:n.user.login,name:n.user.name,email:n.user.email,html_url:n.user.html_url,avatar_url:n.user.avatar_url,type:capitalize(n.user.type.toLowerCase())},created_at:n.created_at,updated_at:n.updated_at}));i.data=u;}return i}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93${e.owner}/${e.repo}\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_issue_comments_list(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,...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}/${r}/issues/${Number(o)}/comments`,u=await this.get(i,s);if(u.statusCode===404)throw new Error(f);if(u.data){let n=u.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,type:capitalize(l.user.type.toLowerCase())},created_at:l.created_at,updated_at:l.updated_at}));u.data=n;}return u}catch(a){throw new Error(`\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(c);if(!e.comment_id)throw new Error(L);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,comment_id:o}=e,t=await this.get(`/repos/${a}/${r}/issues/comments/${Number(o)}`);if(t.statusCode===404)throw new Error(f);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,type:capitalize(t.data.user.type.toLowerCase())},created_at:t.data.created_at,updated_at:t.data.updated_at};t.data=s;}return t}catch(a){throw new Error(`\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(c);if(!e.issue_number)throw new Error(f);if(!e.body)throw new Error(Ee);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,body:t}=e,s=await this.post(`/repos/${a}/${r}/issues/${Number(o)}/comments`,{body:t});if(s.statusCode===404)throw new Error(f);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,type:capitalize(s.data.user.type.toLowerCase())},created_at:s.data.created_at,updated_at:s.data.updated_at};s.data=i;}return s}catch(a){throw new Error(`\u521B\u5EFA\u8BAE\u9898\u8BC4\u8BBA\u5931\u8D25: ${a.message}`)}}async update_issue_comment(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.comment_id)throw new Error(L);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,comment_id:o,...t}=e,s=await this.patch(`/repos/${a}/${r}/issues/comments/${Number(o)}`,null,t);if(s.statusCode===404)throw new Error(f);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,type:capitalize(s.data.user.type.toLowerCase())},created_at:s.data.created_at,updated_at:s.data.updated_at};s.data=i;}return s}catch(a){throw new Error(`\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(c);if(!e.comment_id)throw new Error(L);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,comment_id:o}=e,t=await this.delete(`/repos/${a}/${r}/issues/comments/${Number(o)}`);if(t.statusCode===404)throw new Error(f);let s;return t.statusCode===204?s={info:Ve}:s={info:Be},t.data=s,t}catch(a){throw new Error(`\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(c);if(!e.issue_number)throw new Error(f);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,...t}=e,s={};t.per_page&&(s.per_page=t.per_page.toString()),t.page&&(s.page=t.page.toString());let i=`/repos/${a}/${r}/issues/${Number(o)}/sub_issues`,u=await this.get(i,s);if(u.statusCode===404)throw new Error(R);if(u.data){let n=u.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,type:capitalize(l.user.type.toLowerCase())},labels:l.labels?l.labels.map(g=>({id:g.id,name:g.name,color:g.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,type:capitalize(l.assignee.type.toLowerCase())}: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}));u.data=n;}return u}catch(a){throw new Error(`\u83B7\u53D6\u5B50\u8BAE\u9898\u5217\u8868\u5931\u8D25: ${a.message}`)}}async add_sub_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(f);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,sub_issue_id:t,replace_parent:s}=e,i=await this.post(`/repos/${a}/${r}/issues/${o}/sub_issues`,{sub_issue_id:t,replace_parent:s});if(i.statusCode===404)throw new Error(R);if(i.data){let u={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,type:capitalize(i.data.user.type.toLowerCase())},labels:i.data.labels?i.data.labels.map(n=>({id:n.id,name:n.name,color:n.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,type:capitalize(i.data.assignee.type.toLowerCase())}: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=u;}return i}catch(a){throw new Error(`\u6DFB\u52A0\u5B50\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}async remove_sub_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(f);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,sub_issue_id:t}=e,s=await this.delete(`/repos/${a}/${r}/issues/${o}/sub_issue`,null,{sub_issue_id:t});if(s.statusCode===404)throw new Error(R);if(s.data){let i={id:s.data.id,html_url:s.data.html_url,number:s.data.number,comments:s.data.comments,state:s.data.state,state_reason:s.data.state_reason,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,type:capitalize(s.data.user.type.toLowerCase())},labels:s.data.labels?s.data.labels.map(u=>({id:u.id,name:u.name,color:u.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,type:capitalize(s.data.assignee.type.toLowerCase())}: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(`\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(c);if(!e.issue_number)throw new Error(f);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,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 u=`/repos/${a}/${r}/issues/${o}/sub_issues/priority`,n=await this.patch(u,i,{sub_issue_id:String(t)});if(n.statusCode===404)throw new Error(R);if(n.data){let l={id:n.data.id,html_url:n.data.html_url,number:n.data.number,comments:n.data.comments,state:n.data.state,state_reason:n.data.state_reason,title:n.data.title,body:n.data.body,user:{id:n.data.user.id,login:n.data.user.login,name:n.data.user.name,email:n.data.user.email,html_url:n.data.user.html_url,avatar_url:n.data.user.avatar_url,type:capitalize(n.data.user.type.toLowerCase())},labels:n.data.labels?n.data.labels.map(g=>({id:g.id,name:g.name,color:g.color})):null,assignee:n.data.assignee?{id:n.data.assignee.id,login:n.data.assignee.login,name:n.data.assignee.name,email:n.data.assignee.email,html_url:n.data.assignee.html_url,avatar_url:n.data.assignee.avatar_url,type:capitalize(n.data.assignee.type.toLowerCase())}:null,milestone:n.data.milestone?{id:n.data.milestone.id,url:n.data.milestone.url,number:n.data.milestone.number,state:n.data.milestone.state,title:n.data.milestone.title,description:n.data.milestone.description,open_issues:n.data.milestone.open_issues,closed_issues:n.data.milestone.closed_issues,created_at:n.data.milestone.created_at,updated_at:n.data.milestone.updated_at,closed_at:n.data.milestone.closed_at,due_on:n.data.milestone.due_on}:null,closed_at:n.data.closed_at,created_at:n.data.created_at,updated_at:n.data.updated_at};n.data=l;}return n}catch(a){throw new Error(`\u91CD\u65B0\u6392\u5E8F\u5B50\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}};});var ut={};P(ut,{Repo:()=>G});var G,_e=w(()=>{b();k();G=class extends y{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_org_repos_list(e){if(!e.org)throw new Error(U);try{this.setRequestConfig({token:this.userToken});let{org:a,...r}=e,o={};r?.type&&(o.type=r.type),r?.sort&&(o.sort=r.sort),r?.direction&&(o.direction=r.direction),r?.per_page&&(o.per_page=r.per_page.toString()),r?.page&&(o.page=r.page.toString());let t=`/orgs/${a}/repos`,s=await this.get(t,o);switch(s.statusCode){case 404:throw new Error(S);case 401:throw new Error(_)}let i=e.format??this.format;if(s.data){let u=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:i?await h(n.created_at):n.created_at,updated_at:i?await h(n.updated_at):n.updated_at,pushed_at:i?await h(n.pushed_at):n.pushed_at})));s.data=u;}return s}catch(a){throw new Error(`\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,r={};!e?.visibility&&!e?.affiliation&&a?.type&&(r.type=a.type),a?.visibility&&(r.visibility=a.visibility),a?.affiliation&&(r.affiliation=a.affiliation),a?.sort&&(r.sort=a.sort),a?.direction&&(r.direction=a.direction),a?.per_page&&(r.per_page=a.per_page.toString()),a?.page&&(r.page=a.page.toString());let t=await this.get("/uses/repos",r);if(t.statusCode===401)throw new Error(_);let s=e?.format??this.format;if(t.data){let i=await Promise.all(t.data.map(async u=>({id:u.id,name:u.name,full_name:u.full_name,owner:{id:u.owner.id,login:u.owner.login,name:u.owner.name,avatar_url:u.owner.avatar_url,type:u.owner.type,html_url:u.owner.html_url,email:u.owner.email},public:!u.private,private:u.private,visibility:u.private?"private":"public",fork:u.fork,archived:u.archived,disabled:u.disabled,html_url:u.html_url,description:u.description,stargazers_count:u.stargazers_count,watchers_count:u.watchers_count,language:u.language,forks_count:u.forks_count,open_issues_count:u.open_issues_count,default_branch:u.default_branch,created_at:s?await h(u.created_at):u.created_at,updated_at:s?await h(u.updated_at):u.updated_at,pushed_at:s?await h(u.pushed_at):u.pushed_at})));t.data=i;}return t}catch(a){throw new Error(`\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(x);this.setRequestConfig({token:this.userToken});let{username:a,...r}=e,o={};r?.type&&(o.type=r.type),r?.sort&&(o.sort=r.sort),r?.direction&&(o.direction=r.direction),r?.per_page&&(o.per_page=r.per_page.toString()),r?.page&&(o.page=r.page.toString());let t=e?.format??this.format,s=`/users/${a}/repos`,i=await this.get(s,o);switch(i.statusCode){case 404:throw new Error($);case 401:throw new Error(_)}if(i.data){let u=await Promise.all(i.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:t?await h(n.created_at):n.created_at,updated_at:t?await h(n.updated_at):n.updated_at,pushed_at:t?await h(n.pushed_at):n.pushed_at})));i.data=u;}return i}catch(a){throw new Error(`\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(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r}=e,o=await this.get(`/repos/${a}/${r}`);switch(o.statusCode){case 401:throw new Error(_);case 404:throw new Error(q)}let t=e?.format??this.format;if(o.data){let s={id:o.data.id,name:o.data.name,full_name:o.data.full_name,owner:{id:o.data.owner.id,login:o.data.owner.login,name:o.data.owner.name,avatar_url:o.data.owner.avatar_url,type:o.data.owner.type,html_url:o.data.owner.html_url,email:o.data.owner.email},public:!o.data.private,private:o.data.private,visibility:o.data.private?"private":"public",fork:o.data.fork,archived:o.data.archived,disabled:o.data.disabled,html_url:o.data.html_url,description:o.data.description,stargazers_count:o.data.stargazers_count,watchers_count:o.data.watchers_count,language:o.data.language,forks_count:o.data.forks_count,open_issues_count:o.data.open_issues_count,default_branch:o.data.default_branch,created_at:t?await h(o.data.created_at):o.data.created_at,updated_at:t?await h(o.data.updated_at):o.data.updated_at,pushed_at:t?await h(o.data.pushed_at):o.data.pushed_at};o.data=s;}return o}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async get_repo_languages_list(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r}=e,o=await this.get(`/repos/${a}/${r}/languages`);switch(o.statusCode){case 401:throw new Error(_);case 404:throw new Error(C)}if(o.data){let t=Object.entries(o.data),s=t.reduce((n,[,l])=>n+l,0),u={languages:t.map(([n,l])=>({language:n,color:oe(n.toLowerCase()),percent:Number((l/s*100).toFixed(2)),bytes:l}))};o.data=u;}return o}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5217\u8868\u5931\u8D25: ${a.message}`)}}async create_org_repo(e){try{let{owner:a,...r}=e,o={...r},t=await this.post(`/orgs/${a}/repos`,o);if(t.statusCode===401)throw new Error(_);let s=e?.format??this.format;if(t.data){let i={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:s?await h(t.data.created_at):t.data.created_at,updated_at:s?await h(t.data.updated_at):t.data.updated_at,pushed_at:s?await h(t.data.pushed_at):t.data.pushed_at};t.data=i;}return t}catch(a){throw new Error(`\u521B\u5EFA\u7EC4\u7EC7\u4ED3\u5E93\u5931\u8D25: ${a.message}`)}}async get_collaborators_list(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r}=e,{...o}=e,t={};o.affiliation&&(t.milestone=o.affiliation.toString()),o.permission&&(t.permission=o.permission.toString()),o.per_page&&(t.per_page=o.per_page.toString()),o.page&&(t.page=o.page.toString());let s=await this.get(`/repos/${a}/${r}/collaborators`,t);if(s.data){let i=await Promise.all(s.data.map(u=>({id:u.id,login:u.login,avatar_url:u.avatar_url,email:u.email,name:u.name,permissions:u.permissions,role_name:u.role_name})));s.data=i;}return s}catch(a){throw new Error(`\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(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,username:o}=e,t=await this.put(`/repos/${a}/${r}/collaborators/${o}`,{permission:e.permission??"pull"});if(t.statusCode===404)throw new Error(te);if(t.statusCode===422){let s=t.data.message;if(s&&s.includes("is not a valid permission"))throw new Error(Me)}if(t.data){let s={id:t.data.inviter.id,login:t.data.inviter.login,name:t.data.inviter.name,avatar_url:t.data.inviter.avatar_url,html_url:t.data.repository.html_url,permissions:t.data.permissions};t.data=s;}return t}catch(a){throw new Error(`\u6DFB\u52A0\u534F\u4F5C\u8005\u5931\u8D25: ${a.message}`)}}async remove_collaborator(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,username:o}=e,t=await this.delete(`/repos/${a}/${r}/collaborators/${o}`);if(t.statusCode===404)throw new Error(te);return t.status&&t.statusCode===204?t.data={info:`\u79FB\u9664\u534F\u4F5C\u8005${o}\u6210\u529F`}:t.data={info:`\u79FB\u9664\u534F\u4F5C\u8005${o}\u5931\u8D25`},t}catch(a){throw new Error(`\u79FB\u9664\u534F\u4F5C\u8005\u5931\u8D25: ${a.message}`)}}async delete_collaborator(e){return this.remove_collaborator(e)}async get_repo_visibility(e){if(!e.owner||!e.repo)throw new Error(c);try{let{owner:a,repo:r}=e;return (await this.get_repo_info({owner:a,repo:r})).data.visibility}catch(a){throw new Error(`\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(c);try{let{owner:a,repo:r}=e;return (await this.get_repo_info({owner:a,repo:r})).data.default_branch}catch(a){throw new Error(`\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(c);try{let{owner:a,repo:r}=e;return (await this.get_repo_info({owner:a,repo:r})).data.language}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5931\u8D25: ${a.message}`)}}};});var lt={};P(lt,{User:()=>j});var j,ye=w(()=>{b();k();j=class extends y{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_user_info(e){let a=e.access_token??this.userToken;if(!e.username)throw new Error(ve);if(!a?.startsWith("ghu_"))throw new Error(A);try{this.setRequestConfig({token:a});let r=await this.get(`/users/${e.username}`);if(r.statusCode===401)throw new Error(_);if(r.statusCode===404)throw new Error(q);if(r.data){let o={id:r.data.id,login:r.data.login,name:r.data.name||null,type:capitalize(r.data.type.toLowerCase()),html_url:r.data.html_url,avatar_url:r.data.avatar_url,company:r.data.company||null,email:r.data.email||null,bio:r.data.bio||null,blog:r.data.blog||null,followers:r.data.followers,following:r.data.following};r.data=o;}return r}catch(r){throw new Error(`\u83B7\u53D6\u7528\u6237\u6216\u7EC4\u7EC7\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_user_info_by_user_id(e){let a=e.access_token??this.userToken;if(!e.user_id)throw new Error(Ae);if(!a?.startsWith("ghu_"))throw new Error(A);try{this.setRequestConfig({token:this.userToken});let r=await this.get(`/user/${e.user_id}`);if(r.statusCode===401)throw new Error(_);if(r.statusCode===404)throw new Error($);if(r.data){let o={id:r.data.id,login:r.data.login,name:r.data.name||null,type:capitalize(r.data.type.toLowerCase()),html_url:r.data.html_url,avatar_url:r.data.avatar_url,company:r.data.company||null,email:r.data.email||null,bio:r.data.bio||null,blog:r.data.blog||null,followers:r.data.followers,following:r.data.following};r.data=o;}return r}catch(r){throw new Error(`\u901A\u8FC7\u7528\u6237id\u83B7\u53D6\u7528\u6237\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_user_info_by_auth(e){let a=e?.access_token??this.userToken;if(!a)throw new Error(I);try{this.setRequestConfig({token:a});let r=await this.get("/user");switch(r.statusCode){case 401:throw new Error(_);case 404:throw new Error($)}if(r.data){let o={id:r.data.id,login:r.data.login,name:r.data.name||null,type:capitalize(r.data.type.toLowerCase()),html_url:r.data.html_url,avatar_url:r.data.avatar_url,company:r.data.company||null,email:r.data.email||null,bio:r.data.bio||null,blog:r.data.blog||null,followers:r.data.followers,following:r.data.following};r.data=o;}return r}catch(r){throw new Error(`\u83B7\u53D6\u6388\u6743\u7528\u6237\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_user_info_by_token(e){return this.get_user_info_by_auth(e)}async get_user_contribution(e){try{if(!e.username)throw new Error(x);if((await this.get_user_info({username:e.username})).data.type==="Organization")throw new Error(`${Se}\u83B7\u53D6\u8D21\u732E\u65E5\u5386`);this.setRequestConfig({url:this.BaseUrl});let r=await this.get(`/${e.username}`,{action:"show",controller:"profiles",tab:"contributions",user_id:e.username},{"X-Requested-With":"XMLHttpRequest"});if(r.statusCode===404)throw new Error(x);let o=await at(r.data);return {...r,data:o}}catch(a){throw new Error(`\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}async get_user_email(){return (await this.get_user_info_by_auth()).data.email}async get_avatar_url(){return (await this.get_user_info_by_auth()).data.avatar_url}};});var dt={};P(dt,{Org:()=>F});var F,we=w(()=>{b();k();F=class extends y{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_org_info(e){if(!e.org)throw new Error(xe);try{this.setRequestConfig({token:this.userToken});let a=await this.get(`/orgs/${e.org}`);if(a.statusCode===404)throw new Error(S);if(a.data){let r={id:a.data.id,login:a.data.login,name:a.data.name,avatar_url:a.data.avatar_url,description:a.data.description,html_url:a.data.html_url};a.data=r;}return a}catch(a){throw new Error(`\u83B7\u53D6\u7EC4\u7EC7\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}};});var ct={};P(ct,{WebHook:()=>J});var J,fe=w(()=>{b();k();J=class extends y{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async check_webhook_signature(e){let a=e.secret??this.WebHook_Secret;if(!a||!e.payload||!e.signature)throw new Error(U);if(!e.signature.startsWith("sha256="))throw new Error(We);let r=false,o="error",t=400,s=ae,i;try{let u=pt.createHmac("sha256",a),n=typeof e.payload=="string"?e.payload:JSON.stringify(e.payload);u.update(n,"utf8");let l=u.digest("hex"),g=e.signature.replace("sha256=","");pt.timingSafeEqual(Buffer.from(l),Buffer.from(g))?(r=!0,o="ok",t=200,s="\u8BF7\u6C42\u6210\u529F",i={success:r,info:Fe}):(r=!1,o="error",t=403,s="\u8BF7\u6C42\u5931\u8D25",i={success:r,info:ae});}catch(u){throw new Error(`\u8BF7\u6C42\u9A8C\u8BC1WebHook\u7B7E\u540D\u5931\u8D25: ${u.message}`)}return Promise.resolve({success:r,status:o,statusCode:t,msg:s,data:i})}};});var K,y,k=w(()=>{b();de();pe();K="github",y=class{BaseUrl;ApiUrl;jwtToken;userToken;format;Private_Key;Client_ID;Client_Secret;WebHook_Secret;currentRequestConfig;proxy;constructor(e){this.Private_Key=e.Private_Key,this.Client_ID=e.Client_ID,this.Client_Secret=e.Client_Secret,this.WebHook_Secret=e.WebHook_Secret,this.jwtToken=this.generate_jwt(),this.BaseUrl=le(K),this.ApiUrl=ue(K),this.userToken=null,this.currentRequestConfig={url:this.ApiUrl,token:null,tokenType:"Bearer"},this.format=e.format??false;}async get_app(){let{App:e}=await Promise.resolve().then(()=>(be(),mt));return this.app=new e(this),this.app}async get_auth(){let{Auth:e}=await Promise.resolve().then(()=>(ce(),ot));return this.auth=new e(this),this.auth}async get_commit(){let{Commit:e}=await Promise.resolve().then(()=>(me(),nt));return this.commit=new e(this),this.commit}async get_issue(){let{Issue:e}=await Promise.resolve().then(()=>(ge(),it));return this.issue=new e(this),this.issue}async get_repo(){let{Repo:e}=await Promise.resolve().then(()=>(_e(),ut));return this.repo=new e(this),this.repo}async get_user(){let{User:e}=await Promise.resolve().then(()=>(ye(),lt));return this.user=new e(this),this.user}async get_org(){let{Org:e}=await Promise.resolve().then(()=>(we(),dt));return this.org=new e(this),this.org}async get_webhook(){let{WebHook:e}=await Promise.resolve().then(()=>(fe(),ct));return this.webhook=new e(this),this.webhook}setProxy(e){if(!e?.address){this.proxy=null;return}try{let a=new URL$1(e.address);switch(a.protocol){case "http:":case "https:":case "socks:":case "socks5:":e.address=`${a.protocol}//${a.host}`;break;default:throw new Error(Q)}switch(e?.type){case "common":case "reverse":this.BaseUrl=le(K,e.address,e.type),this.ApiUrl=ue(K,e.address,e.type);break}this.proxy=e;}catch{throw this.proxy=null,new Error(Q)}}setToken(e){if(!e.startsWith("ghu_"))throw this.userToken=null,new Error(A);return this.userToken=e,this}generate_jwt(){let e=this.Private_Key,a={exp:Math.floor(Date.now()/1e3)+10*60,iat:Math.floor(Date.now()/1e3),iss:this.Client_ID};return $t.sign(a,e,{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:r}=this.currentRequestConfig,o=this.proxy?.type!=="common"?this.proxy:null,t={"X-GitHub-Api-Version":"2022-11-28",Accept:"application/vnd.github+json"};return new D(e,r,a??null,o,t)}async get(e,a,r){try{let t=await this.createRequest().get(e,a,r);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(o){throw new Error(`GET \u8BF7\u6C42${e}\u5931\u8D25: ${o.message}`)}}async post(e,a,r){try{let t=await this.createRequest().post(e,a,r);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(o){throw new Error(`POST \u8BF7\u6C42${e}\u5931\u8D25: ${o.message}`)}}async patch(e,a=null,r,o){try{let s=await this.createRequest().patch(e,a,r,o);if((s.statusCode===403||s.statusCode===429)&&s.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:s.success,status:s.success?"ok":"error",statusCode:s.statusCode,msg:s.msg,data:s.data}}catch(t){throw new Error(`PATCH \u8BF7\u6C42${e}\u5931\u8D25: ${t.message}`)}}async put(e,a,r){try{let t=await this.createRequest().put(e,a,r);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(o){throw new Error(`PUT \u8BF7\u6C42${e}\u5931\u8D25: ${o.message}`)}}async delete(e,a=null,r,o){try{let s=await this.createRequest().delete(e,a,r,o);if((s.statusCode===403||s.statusCode===429)&&s.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:s.success,status:s.success?"ok":"error",statusCode:s.statusCode,msg:s.msg,data:s.data}}catch(t){throw new Error(`DELETE \u8BF7\u6C42${e}\u5931\u8D25: ${t.message}`)}}};});var mt={};P(mt,{App:()=>V});var V,be=w(()=>{b();k();V=class extends y{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_app_info(e){let a=e.access_token??this.userToken;if(!e.app_slug)throw new Error(Pe);if(!a)throw new Error(I);try{this.setRequestConfig({token:a});let r=await this.get(`/apps/${e.app_slug}`);if(r.statusCode===200){let o={id:r.data.id,name:r.data.name,client_id:r.data.client_id,slug:r.data.slug,owner:{id:r.data.owner.id,login:r.data.owner.login,name:r.data.owner.name,email:r.data.owner.email,html_url:r.data.owner.html_url,avatar_url:r.data.owner.avatar_url,type:capitalize(r.data.owner.type.toLowerCase())},description:r.data.description,external_url:r.data.external_url,html_url:r.data.html_url,permissions:r.data.permissions,events:r.data.events,created_at:r.data.created_at,updated_at:r.data.updated_at};r.data=o;}return r}catch(r){throw new Error(`\u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_app_info_by_auth(){try{this.setRequestConfig({url:this.ApiUrl,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: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(`\u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${e.message}`)}}async get_app_installation_by_repo(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.jwtToken});let{owner:a,repo:r}=e,o=await this.get(`/repos/${a}/${r}/installation`);switch(o.statusCode){case 404:throw new Error(C);case 301:throw new Error(ze)}if(o.data){let t={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: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:o.data.created_at,updated_at:o.data.updated_at};o.data=t;}return o}catch(a){throw new Error(`\u83B7\u53D6\u5B58\u50A8\u5E93\u5B89\u88C5\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async create_install_link(e){try{let a=new URL(`apps/${await this.get_app_name()}/installations/new`,this.BaseUrl);return a.search=new URLSearchParams({...e&&{state:e}}).toString(),a.toString()}catch(a){throw new Error(`\u751F\u6210\u5E94\u7528\u5B89\u88C5\u94FE\u63A5\u5931\u8D25: ${a.message}`)}}async create_config_install_link(e){try{let a=new URL(`apps/${await this.get_app_name()}/installations/new`,this.BaseUrl);return a.search=new URLSearchParams({...e&&{state:e}}).toString(),a.toString()}catch(a){throw new Error(`\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}};});b();de();pe();var Re={};P(Re,{App:()=>V,Auth:()=>B,Commit:()=>z,GitHubClient:()=>y,Issue:()=>W,Org:()=>F,Repo:()=>G,User:()=>j,WebHook:()=>J});be();ce();k();me();ge();we();_e();ye();fe();var Ce=class{github;constructor(e){if(!e.github)throw new Error("GitHub \u5BA2\u6237\u7AEF\u672A\u914D\u7F6E");this.github=new y(e.github);}};var bs=Ce;
5
+ `):null},tree:{url:p.commit.tree.url,sha:p.commit.tree.sha}},parents:p.parents.map(T=>({sha:T.sha,url:T.url})),stats:{additions:p.stats.additions,deletions:p.stats.deletions,total:p.stats.total},files:p.files.map(T=>({sha:T.sha,filename:T.filename,status:T.status,additions:T.additions,deletions:T.deletions,changes:T.changes,blob_url:T.blob_url,raw_url:T.raw_url}))}}));n.data=g;}return n}catch(a){throw new Error(`\u83B7\u53D6\u63D0\u4EA4\u5217\u8868\u5931\u8D25: ${a.message}`)}}};});var it={};P(it,{Issue:()=>W});var W,ge=w(()=>{b();k();W=class extends y{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_issue_info(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o}=e,t=await this.get(`/repos/${a}/${r}/issues/${Number(o)}`);switch(t.statusCode){case 404:throw new Error(R);case 301:throw new Error(Oe)}if(t.data){let s={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,type:capitalize(t.data.user.type.toLowerCase())},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,type:capitalize(t.data.assignee.type.toLowerCase())}: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(`\u83B7\u53D6Issue\u8BE6\u60C5\u5931\u8D25: ${a.message}`)}}async get_issues_list(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,...o}=e,t={};o.milestone&&(t.milestone=o.milestone.toString()),o.state&&(t.state=o.state),o.assignee&&(t.assignee=o.assignee),o.creator&&(t.creator=o.creator),o.labels&&(t.labels=o.labels),o.sort&&(t.sort=o.sort),o.direction&&(t.direction=o.direction),o.since&&(t.since=o.since),o.per_page&&(t.per_page=o.per_page.toString()),o.page&&(t.page=o.page.toString());let s=`/repos/${a}/${r}/issues`,i=await this.get(s,t);if(i.statusCode===401)throw new Error(_);if(i.data){let u=i.data.map(n=>({id:n.id,html_url:n.html_url,number:n.number,comments:n.comments,state:n.state,state_reason:n.state_reason,title:n.title,body:n.body,user:{id:n.user.id,login:n.user.login,name:n.user.name,email:n.user.email,html_url:n.user.html_url,avatar_url:n.user.avatar_url,type:capitalize(n.user.type.toLowerCase())},labels:n.labels?n.labels.map(l=>({id:l.id,name:l.name,color:l.color})):null,assignee:n.assignee?{id:n.assignee.id,login:n.assignee.login,name:n.assignee.name,email:n.assignee.email,html_url:n.assignee.html_url,avatar_url:n.assignee.avatar_url,type:capitalize(n.assignee.type.toLowerCase())}: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,closed_at:n.closed_at,created_at:n.created_at,updated_at:n.updated_at}));i.data=u;}return i}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u7684Issue\u5217\u8868\u5931\u8D25: ${a.message}`)}}async create_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.title)throw new Error(Ie);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,...o}=e,t={...o,...o.labels&&{labels:Array.isArray(o.labels)?o.labels:[o.labels]},...o.assignees&&{assignees:Array.isArray(o.assignees)?o.assignees:[o.assignees]}},s=await this.post(`/repos/${a}/${r}/issues`,t);switch(s.statusCode){case 403:throw new Error(_);case 301:throw new Error(C)}if(s.data&&s.data){let i={id:s.data.id,html_url:s.data.html_url,number:s.data.number,comments:s.data.comments,state:s.data.state,state_reason:s.data.state_reason,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,type:capitalize(s.data.user.type.toLowerCase())},labels:s.data.labels?s.data.labels.map(u=>({id:u.id,name:u.name,color:u.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,type:capitalize(s.data.assignee.type.toLowerCase())}: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(`\u521B\u5EFAIssue\u5931\u8D25: ${a.message}`)}}async update_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,...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}/${r}/issues/${Number(o)}`,null,s);switch(i.statusCode){case 404:throw new Error(R);case 403:throw new Error(_);case 301:throw new Error(C)}if(i.data&&i.data){let u={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,type:capitalize(i.data.user.type.toLowerCase())},labels:i.data.labels?i.data.labels.map(n=>({id:n.id,name:n.name,color:n.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,type:capitalize(i.data.assignee.type.toLowerCase())}: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=u;}return i}catch(a){throw new Error(`\u66F4\u65B0Issue\u5931\u8D25: ${a.message}`)}}async open_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o}=e,t=await this.patch(`/repos/${a}/${r}/issues/${o}`,null,{state:"open"});switch(t.statusCode){case 404:throw new Error(R);case 403:throw new Error(_);case 301:throw new Error(C)}if(t.data&&t.data){let s={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,type:capitalize(t.data.user.type.toLowerCase())},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,type:capitalize(t.data.assignee.type.toLowerCase())}: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(`\u6253\u5F00Issue\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(c);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o}=e,t=await this.patch(`/repos/${a}/${r}/issues/${o}`,null,{state:"closed"});switch(t.statusCode){case 404:throw new Error(R);case 403:throw new Error(_);case 301:throw new Error(C)}if(t.data&&t.data){let s={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,type:capitalize(t.data.user.type.toLowerCase())},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,type:capitalize(t.data.assignee.type.toLowerCase())}: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(`\u5173\u95EDIssue\u5931\u8D25: ${a.message}`)}}async lock_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,lock_reason:t}=e,s=await this.put(`/repos/${a}/${r}/issues/${Number(o)}`,{locked:!0,lock_reason:t});switch(s.statusCode){case 404:throw new Error(R);case 403:throw new Error(_);case 301:throw new Error(C)}let i;return s.statusCode===204?i={info:Je}:i={info:De},s.data=i,s}catch(a){throw new Error(`\u9501\u5B9AIssue${e.issue_number}\u5931\u8D25: ${a.message}`)}}async unlock_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o}=e,t=await this.delete(`/repos/${a}/${r}/issues/${o}/lock`);switch(t.statusCode){case 404:throw new Error(R);case 403:throw new Error(_);case 301:throw new Error(C)}let s;return t.statusCode===204?s={info:Ke}:s={info:He},t.data=s,t}catch(a){throw new Error(`\u89E3\u9501Issue\u5931\u8D25: ${a.message}`)}}async get_comments_list(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,...o}=e,t={};o.sort&&(t.sort=o.sort),o.direction&&o.direction&&(t.direction=o.direction),o.since&&(t.since=o.since),o.per_page&&(t.per_page=o.per_page.toString()),o.page&&(t.page=o.page.toString());let s=`/repos/${a}/${r}/issues/comments/`,i=await this.get(s,t);if(i.statusCode===404)throw new Error(f);if(i.data){let u=i.data.map(n=>({id:n.id,html_url:n.html_url,body:n.body,user:{id:n.user.id,login:n.user.login,name:n.user.name,email:n.user.email,html_url:n.user.html_url,avatar_url:n.user.avatar_url,type:capitalize(n.user.type.toLowerCase())},created_at:n.created_at,updated_at:n.updated_at}));i.data=u;}return i}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93${e.owner}/${e.repo}\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_issue_comments_list(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,...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}/${r}/issues/${Number(o)}/comments`,u=await this.get(i,s);if(u.statusCode===404)throw new Error(f);if(u.data){let n=u.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,type:capitalize(l.user.type.toLowerCase())},created_at:l.created_at,updated_at:l.updated_at}));u.data=n;}return u}catch(a){throw new Error(`\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(c);if(!e.comment_id)throw new Error(L);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,comment_id:o}=e,t=await this.get(`/repos/${a}/${r}/issues/comments/${Number(o)}`);if(t.statusCode===404)throw new Error(f);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,type:capitalize(t.data.user.type.toLowerCase())},created_at:t.data.created_at,updated_at:t.data.updated_at};t.data=s;}return t}catch(a){throw new Error(`\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(c);if(!e.issue_number)throw new Error(f);if(!e.body)throw new Error(Ee);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,body:t}=e,s=await this.post(`/repos/${a}/${r}/issues/${Number(o)}/comments`,{body:t});if(s.statusCode===404)throw new Error(f);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,type:capitalize(s.data.user.type.toLowerCase())},created_at:s.data.created_at,updated_at:s.data.updated_at};s.data=i;}return s}catch(a){throw new Error(`\u521B\u5EFA\u8BAE\u9898\u8BC4\u8BBA\u5931\u8D25: ${a.message}`)}}async update_issue_comment(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.comment_id)throw new Error(L);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,comment_id:o,...t}=e,s=await this.patch(`/repos/${a}/${r}/issues/comments/${Number(o)}`,null,t);if(s.statusCode===404)throw new Error(f);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,type:capitalize(s.data.user.type.toLowerCase())},created_at:s.data.created_at,updated_at:s.data.updated_at};s.data=i;}return s}catch(a){throw new Error(`\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(c);if(!e.comment_id)throw new Error(L);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,comment_id:o}=e,t=await this.delete(`/repos/${a}/${r}/issues/comments/${Number(o)}`);if(t.statusCode===404)throw new Error(f);let s;return t.statusCode===204?s={info:Ve}:s={info:Be},t.data=s,t}catch(a){throw new Error(`\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(c);if(!e.issue_number)throw new Error(f);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,...t}=e,s={};t.per_page&&(s.per_page=t.per_page.toString()),t.page&&(s.page=t.page.toString());let i=`/repos/${a}/${r}/issues/${Number(o)}/sub_issues`,u=await this.get(i,s);if(u.statusCode===404)throw new Error(R);if(u.data){let n=u.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,type:capitalize(l.user.type.toLowerCase())},labels:l.labels?l.labels.map(g=>({id:g.id,name:g.name,color:g.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,type:capitalize(l.assignee.type.toLowerCase())}: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}));u.data=n;}return u}catch(a){throw new Error(`\u83B7\u53D6\u5B50\u8BAE\u9898\u5217\u8868\u5931\u8D25: ${a.message}`)}}async add_sub_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(f);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,sub_issue_id:t,replace_parent:s}=e,i=await this.post(`/repos/${a}/${r}/issues/${o}/sub_issues`,{sub_issue_id:t,replace_parent:s});if(i.statusCode===404)throw new Error(R);if(i.data){let u={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,type:capitalize(i.data.user.type.toLowerCase())},labels:i.data.labels?i.data.labels.map(n=>({id:n.id,name:n.name,color:n.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,type:capitalize(i.data.assignee.type.toLowerCase())}: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=u;}return i}catch(a){throw new Error(`\u6DFB\u52A0\u5B50\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}async remove_sub_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(f);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,sub_issue_id:t}=e,s=await this.delete(`/repos/${a}/${r}/issues/${o}/sub_issue`,null,{sub_issue_id:t});if(s.statusCode===404)throw new Error(R);if(s.data){let i={id:s.data.id,html_url:s.data.html_url,number:s.data.number,comments:s.data.comments,state:s.data.state,state_reason:s.data.state_reason,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,type:capitalize(s.data.user.type.toLowerCase())},labels:s.data.labels?s.data.labels.map(u=>({id:u.id,name:u.name,color:u.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,type:capitalize(s.data.assignee.type.toLowerCase())}: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(`\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(c);if(!e.issue_number)throw new Error(f);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,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 u=`/repos/${a}/${r}/issues/${o}/sub_issues/priority`,n=await this.patch(u,i,{sub_issue_id:String(t)});if(n.statusCode===404)throw new Error(R);if(n.data){let l={id:n.data.id,html_url:n.data.html_url,number:n.data.number,comments:n.data.comments,state:n.data.state,state_reason:n.data.state_reason,title:n.data.title,body:n.data.body,user:{id:n.data.user.id,login:n.data.user.login,name:n.data.user.name,email:n.data.user.email,html_url:n.data.user.html_url,avatar_url:n.data.user.avatar_url,type:capitalize(n.data.user.type.toLowerCase())},labels:n.data.labels?n.data.labels.map(g=>({id:g.id,name:g.name,color:g.color})):null,assignee:n.data.assignee?{id:n.data.assignee.id,login:n.data.assignee.login,name:n.data.assignee.name,email:n.data.assignee.email,html_url:n.data.assignee.html_url,avatar_url:n.data.assignee.avatar_url,type:capitalize(n.data.assignee.type.toLowerCase())}:null,milestone:n.data.milestone?{id:n.data.milestone.id,url:n.data.milestone.url,number:n.data.milestone.number,state:n.data.milestone.state,title:n.data.milestone.title,description:n.data.milestone.description,open_issues:n.data.milestone.open_issues,closed_issues:n.data.milestone.closed_issues,created_at:n.data.milestone.created_at,updated_at:n.data.milestone.updated_at,closed_at:n.data.milestone.closed_at,due_on:n.data.milestone.due_on}:null,closed_at:n.data.closed_at,created_at:n.data.created_at,updated_at:n.data.updated_at};n.data=l;}return n}catch(a){throw new Error(`\u91CD\u65B0\u6392\u5E8F\u5B50\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}};});var ut={};P(ut,{Repo:()=>G});var G,_e=w(()=>{b();k();G=class extends y{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_org_repos_list(e){if(!e.org)throw new Error(U);try{this.setRequestConfig({token:this.userToken});let{org:a,...r}=e,o={};r?.type&&(o.type=r.type),r?.sort&&(o.sort=r.sort),r?.direction&&(o.direction=r.direction),r?.per_page&&(o.per_page=r.per_page.toString()),r?.page&&(o.page=r.page.toString());let t=`/orgs/${a}/repos`,s=await this.get(t,o);switch(s.statusCode){case 404:throw new Error(S);case 401:throw new Error(_)}let i=e.format??this.format;if(s.data){let u=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:i?await h(n.created_at):n.created_at,updated_at:i?await h(n.updated_at):n.updated_at,pushed_at:i?await h(n.pushed_at):n.pushed_at})));s.data=u;}return s}catch(a){throw new Error(`\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,r={};!e?.visibility&&!e?.affiliation&&a?.type&&(r.type=a.type),a?.visibility&&(r.visibility=a.visibility),a?.affiliation&&(r.affiliation=a.affiliation),a?.sort&&(r.sort=a.sort),a?.direction&&(r.direction=a.direction),a?.per_page&&(r.per_page=a.per_page.toString()),a?.page&&(r.page=a.page.toString());let t=await this.get("/uses/repos",r);if(t.statusCode===401)throw new Error(_);let s=e?.format??this.format;if(t.data){let i=await Promise.all(t.data.map(async u=>({id:u.id,name:u.name,full_name:u.full_name,owner:{id:u.owner.id,login:u.owner.login,name:u.owner.name,avatar_url:u.owner.avatar_url,type:u.owner.type,html_url:u.owner.html_url,email:u.owner.email},public:!u.private,private:u.private,visibility:u.private?"private":"public",fork:u.fork,archived:u.archived,disabled:u.disabled,html_url:u.html_url,description:u.description,stargazers_count:u.stargazers_count,watchers_count:u.watchers_count,language:u.language,forks_count:u.forks_count,open_issues_count:u.open_issues_count,default_branch:u.default_branch,created_at:s?await h(u.created_at):u.created_at,updated_at:s?await h(u.updated_at):u.updated_at,pushed_at:s?await h(u.pushed_at):u.pushed_at})));t.data=i;}return t}catch(a){throw new Error(`\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(x);this.setRequestConfig({token:this.userToken});let{username:a,...r}=e,o={};r?.type&&(o.type=r.type),r?.sort&&(o.sort=r.sort),r?.direction&&(o.direction=r.direction),r?.per_page&&(o.per_page=r.per_page.toString()),r?.page&&(o.page=r.page.toString());let t=e?.format??this.format,s=`/users/${a}/repos`,i=await this.get(s,o);switch(i.statusCode){case 404:throw new Error($);case 401:throw new Error(_)}if(i.data){let u=await Promise.all(i.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:t?await h(n.created_at):n.created_at,updated_at:t?await h(n.updated_at):n.updated_at,pushed_at:t?await h(n.pushed_at):n.pushed_at})));i.data=u;}return i}catch(a){throw new Error(`\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(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r}=e,o=await this.get(`/repos/${a}/${r}`);switch(o.statusCode){case 401:throw new Error(_);case 404:throw new Error(q)}let t=e?.format??this.format;if(o.data){let s={id:o.data.id,name:o.data.name,full_name:o.data.full_name,owner:{id:o.data.owner.id,login:o.data.owner.login,name:o.data.owner.name,avatar_url:o.data.owner.avatar_url,type:o.data.owner.type,html_url:o.data.owner.html_url,email:o.data.owner.email},public:!o.data.private,private:o.data.private,visibility:o.data.private?"private":"public",fork:o.data.fork,archived:o.data.archived,disabled:o.data.disabled,html_url:o.data.html_url,description:o.data.description,stargazers_count:o.data.stargazers_count,watchers_count:o.data.watchers_count,language:o.data.language,forks_count:o.data.forks_count,open_issues_count:o.data.open_issues_count,default_branch:o.data.default_branch,created_at:t?await h(o.data.created_at):o.data.created_at,updated_at:t?await h(o.data.updated_at):o.data.updated_at,pushed_at:t?await h(o.data.pushed_at):o.data.pushed_at};o.data=s;}return o}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async get_repo_languages_list(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r}=e,o=await this.get(`/repos/${a}/${r}/languages`);switch(o.statusCode){case 401:throw new Error(_);case 404:throw new Error(C)}if(o.data){let t=Object.entries(o.data),s=t.reduce((n,[,l])=>n+l,0),u={languages:t.map(([n,l])=>({language:n,color:oe(n.toLowerCase()),percent:Number((l/s*100).toFixed(2)),bytes:l}))};o.data=u;}return o}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5217\u8868\u5931\u8D25: ${a.message}`)}}async create_org_repo(e){try{let{owner:a,...r}=e,o={...r},t=await this.post(`/orgs/${a}/repos`,o);if(t.statusCode===401)throw new Error(_);let s=e?.format??this.format;if(t.data){let i={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:s?await h(t.data.created_at):t.data.created_at,updated_at:s?await h(t.data.updated_at):t.data.updated_at,pushed_at:s?await h(t.data.pushed_at):t.data.pushed_at};t.data=i;}return t}catch(a){throw new Error(`\u521B\u5EFA\u7EC4\u7EC7\u4ED3\u5E93\u5931\u8D25: ${a.message}`)}}async get_collaborators_list(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r}=e,{...o}=e,t={};o.affiliation&&(t.milestone=o.affiliation.toString()),o.permission&&(t.permission=o.permission.toString()),o.per_page&&(t.per_page=o.per_page.toString()),o.page&&(t.page=o.page.toString());let s=await this.get(`/repos/${a}/${r}/collaborators`,t);if(s.data){let i=await Promise.all(s.data.map(u=>({id:u.id,login:u.login,avatar_url:u.avatar_url,email:u.email,name:u.name,permissions:u.permissions,role_name:u.role_name})));s.data=i;}return s}catch(a){throw new Error(`\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(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,username:o}=e,t=await this.put(`/repos/${a}/${r}/collaborators/${o}`,{permission:e.permission??"pull"});if(t.statusCode===404)throw new Error(te);if(t.statusCode===422){let s=t.data.message;if(s&&s.includes("is not a valid permission"))throw new Error(Me)}if(t.data){let s={id:t.data.inviter.id,login:t.data.inviter.login,name:t.data.inviter.name,avatar_url:t.data.inviter.avatar_url,html_url:t.data.repository.html_url,permissions:t.data.permissions};t.data=s;}return t}catch(a){throw new Error(`\u6DFB\u52A0\u534F\u4F5C\u8005\u5931\u8D25: ${a.message}`)}}async remove_collaborator(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,username:o}=e,t=await this.delete(`/repos/${a}/${r}/collaborators/${o}`);if(t.statusCode===404)throw new Error(te);return t.status&&t.statusCode===204?t.data={info:`\u79FB\u9664\u534F\u4F5C\u8005${o}\u6210\u529F`}:t.data={info:`\u79FB\u9664\u534F\u4F5C\u8005${o}\u5931\u8D25`},t}catch(a){throw new Error(`\u79FB\u9664\u534F\u4F5C\u8005\u5931\u8D25: ${a.message}`)}}async delete_collaborator(e){return this.remove_collaborator(e)}async get_repo_visibility(e){if(!e.owner||!e.repo)throw new Error(c);try{let{owner:a,repo:r}=e;return (await this.get_repo_info({owner:a,repo:r})).data.visibility}catch(a){throw new Error(`\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(c);try{let{owner:a,repo:r}=e;return (await this.get_repo_info({owner:a,repo:r})).data.default_branch}catch(a){throw new Error(`\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(c);try{let{owner:a,repo:r}=e;return (await this.get_repo_info({owner:a,repo:r})).data.language}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5931\u8D25: ${a.message}`)}}};});var lt={};P(lt,{User:()=>j});var j,ye=w(()=>{b();k();j=class extends y{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_user_info(e){let a=e.access_token??this.userToken;if(!e.username)throw new Error(ve);if(a&&!a?.startsWith("ghu_"))throw new Error(A);try{this.setRequestConfig({token:a});let r=await this.get(`/users/${e.username}`);if(r.statusCode===401)throw new Error(_);if(r.statusCode===404)throw new Error(q);if(r.data){let o={id:r.data.id,login:r.data.login,name:r.data.name||null,type:capitalize(r.data.type.toLowerCase()),html_url:r.data.html_url,avatar_url:r.data.avatar_url,email:r.data.email||null,bio:r.data.bio||null,blog:r.data.blog||null,public_repos:r.data.public_repos,followers:r.data.followers,following:r.data.following};r.data=o;}return r}catch(r){throw new Error(`\u83B7\u53D6\u7528\u6237\u6216\u7EC4\u7EC7\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_user_info_by_user_id(e){let a=e.access_token??this.userToken;if(!e.user_id)throw new Error(Ae);if(a&&!a?.startsWith("ghu_"))throw new Error(A);try{this.setRequestConfig({token:this.userToken});let r=await this.get(`/user/${e.user_id}`);if(r.statusCode===401)throw new Error(_);if(r.statusCode===404)throw new Error($);if(r.data){let o={id:r.data.id,login:r.data.login,name:r.data.name||null,type:capitalize(r.data.type.toLowerCase()),html_url:r.data.html_url,avatar_url:r.data.avatar_url,email:r.data.email||null,bio:r.data.bio||null,blog:r.data.blog||null,public_repos:r.data.public_repos,followers:r.data.followers,following:r.data.following};r.data=o;}return r}catch(r){throw new Error(`\u901A\u8FC7\u7528\u6237id\u83B7\u53D6\u7528\u6237\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_user_info_by_auth(e){let a=e?.access_token??this.userToken;if(!a)throw new Error(I);try{this.setRequestConfig({token:a});let r=await this.get("/user");switch(r.statusCode){case 401:throw new Error(_);case 404:throw new Error($)}if(r.data){let o={id:r.data.id,login:r.data.login,name:r.data.name||null,type:capitalize(r.data.type.toLowerCase()),html_url:r.data.html_url,avatar_url:r.data.avatar_url,email:r.data.email||null,bio:r.data.bio||null,blog:r.data.blog||null,public_repos:r.data.public_repos,followers:r.data.followers,following:r.data.following};r.data=o;}return r}catch(r){throw new Error(`\u83B7\u53D6\u6388\u6743\u7528\u6237\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_user_info_by_token(e){return this.get_user_info_by_auth(e)}async get_user_contribution(e){try{if(!e.username)throw new Error(x);if((await this.get_user_info({username:e.username})).data.type==="Organization")throw new Error(`${Se}\u83B7\u53D6\u8D21\u732E\u65E5\u5386`);this.setRequestConfig({url:this.BaseUrl});let r=await this.get(`/${e.username}`,{action:"show",controller:"profiles",tab:"contributions",user_id:e.username},{"X-Requested-With":"XMLHttpRequest"});if(!r.success)throw new Error("\u83B7\u53D6\u7528\u6237\u8D21\u732E\u6570\u636E\u5931\u8D25");if(r.statusCode===404)throw new Error(x);let o=await at(r.data);return {...r,data:o}}catch(a){throw new Error(`\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}async get_user_email(){return (await this.get_user_info_by_auth()).data.email}async get_avatar_url(){return (await this.get_user_info_by_auth()).data.avatar_url}};});var dt={};P(dt,{Org:()=>F});var F,we=w(()=>{b();k();F=class extends y{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_org_info(e){if(!e.org)throw new Error(xe);try{this.setRequestConfig({token:this.userToken});let a=await this.get(`/orgs/${e.org}`);if(a.statusCode===404)throw new Error(S);if(a.data){let r={id:a.data.id,login:a.data.login,name:a.data.name,avatar_url:a.data.avatar_url,description:a.data.description,html_url:a.data.html_url};a.data=r;}return a}catch(a){throw new Error(`\u83B7\u53D6\u7EC4\u7EC7\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}};});var ct={};P(ct,{WebHook:()=>J});var J,fe=w(()=>{b();k();J=class extends y{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async check_webhook_signature(e){let a=e.secret??this.WebHook_Secret;if(!a||!e.payload||!e.signature)throw new Error(U);if(!e.signature.startsWith("sha256="))throw new Error(We);let r=false,o="error",t=400,s=ae,i;try{let u=pt.createHmac("sha256",a),n=typeof e.payload=="string"?e.payload:JSON.stringify(e.payload);u.update(n,"utf8");let l=u.digest("hex"),g=e.signature.replace("sha256=","");pt.timingSafeEqual(Buffer.from(l),Buffer.from(g))?(r=!0,o="ok",t=200,s="\u8BF7\u6C42\u6210\u529F",i={success:r,info:Fe}):(r=!1,o="error",t=403,s="\u8BF7\u6C42\u5931\u8D25",i={success:r,info:ae});}catch(u){throw new Error(`\u8BF7\u6C42\u9A8C\u8BC1WebHook\u7B7E\u540D\u5931\u8D25: ${u.message}`)}return Promise.resolve({success:r,status:o,statusCode:t,msg:s,data:i})}};});var K,y,k=w(()=>{b();de();pe();K="github",y=class{BaseUrl;ApiUrl;jwtToken;userToken;format;Private_Key;Client_ID;Client_Secret;WebHook_Secret;currentRequestConfig;proxy;constructor(e){this.Private_Key=e.Private_Key,this.Client_ID=e.Client_ID,this.Client_Secret=e.Client_Secret,this.WebHook_Secret=e.WebHook_Secret,this.jwtToken=this.generate_jwt(),this.BaseUrl=le(K),this.ApiUrl=ue(K),this.userToken=null,this.currentRequestConfig={url:this.ApiUrl,token:null,tokenType:"Bearer"},this.format=e.format??false;}async get_app(){let{App:e}=await Promise.resolve().then(()=>(be(),mt));return this.app=new e(this),this.app}async get_auth(){let{Auth:e}=await Promise.resolve().then(()=>(ce(),ot));return this.auth=new e(this),this.auth}async get_commit(){let{Commit:e}=await Promise.resolve().then(()=>(me(),nt));return this.commit=new e(this),this.commit}async get_issue(){let{Issue:e}=await Promise.resolve().then(()=>(ge(),it));return this.issue=new e(this),this.issue}async get_repo(){let{Repo:e}=await Promise.resolve().then(()=>(_e(),ut));return this.repo=new e(this),this.repo}async get_user(){let{User:e}=await Promise.resolve().then(()=>(ye(),lt));return this.user=new e(this),this.user}async get_org(){let{Org:e}=await Promise.resolve().then(()=>(we(),dt));return this.org=new e(this),this.org}async get_webhook(){let{WebHook:e}=await Promise.resolve().then(()=>(fe(),ct));return this.webhook=new e(this),this.webhook}setProxy(e){if(!e?.address){this.proxy=null;return}try{let a=new URL$1(e.address);switch(a.protocol){case "http:":case "https:":case "socks:":case "socks5:":e.address=`${a.protocol}//${a.host}`;break;default:throw new Error(Q)}switch(e?.type){case "common":case "reverse":this.BaseUrl=le(K,e.address,e.type),this.ApiUrl=ue(K,e.address,e.type);break}this.proxy=e;}catch{throw this.proxy=null,new Error(Q)}}setToken(e){if(!e.startsWith("ghu_"))throw this.userToken=null,new Error(A);return this.userToken=e,this}generate_jwt(){let e=this.Private_Key,a={exp:Math.floor(Date.now()/1e3)+10*60,iat:Math.floor(Date.now()/1e3),iss:this.Client_ID};return $t.sign(a,e,{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:r}=this.currentRequestConfig,o=this.proxy?.type!=="common"?this.proxy:null,t={"X-GitHub-Api-Version":"2022-11-28",Accept:"application/vnd.github+json"};return new D(e,r,a??null,o,t)}async get(e,a,r){try{let t=await this.createRequest().get(e,a,r);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(o){throw new Error(`GET \u8BF7\u6C42${e}\u5931\u8D25: ${o.message}`)}}async post(e,a,r){try{let t=await this.createRequest().post(e,a,r);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(o){throw new Error(`POST \u8BF7\u6C42${e}\u5931\u8D25: ${o.message}`)}}async patch(e,a=null,r,o){try{let s=await this.createRequest().patch(e,a,r,o);if((s.statusCode===403||s.statusCode===429)&&s.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:s.success,status:s.success?"ok":"error",statusCode:s.statusCode,msg:s.msg,data:s.data}}catch(t){throw new Error(`PATCH \u8BF7\u6C42${e}\u5931\u8D25: ${t.message}`)}}async put(e,a,r){try{let t=await this.createRequest().put(e,a,r);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(o){throw new Error(`PUT \u8BF7\u6C42${e}\u5931\u8D25: ${o.message}`)}}async delete(e,a=null,r,o){try{let s=await this.createRequest().delete(e,a,r,o);if((s.statusCode===403||s.statusCode===429)&&s.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:s.success,status:s.success?"ok":"error",statusCode:s.statusCode,msg:s.msg,data:s.data}}catch(t){throw new Error(`DELETE \u8BF7\u6C42${e}\u5931\u8D25: ${t.message}`)}}};});var mt={};P(mt,{App:()=>V});var V,be=w(()=>{b();k();V=class extends y{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_app_info(e){let a=e.access_token??this.userToken;if(!e.app_slug)throw new Error(Pe);if(!a)throw new Error(I);try{this.setRequestConfig({token:a});let r=await this.get(`/apps/${e.app_slug}`);if(r.statusCode===200){let o={id:r.data.id,name:r.data.name,client_id:r.data.client_id,slug:r.data.slug,owner:{id:r.data.owner.id,login:r.data.owner.login,name:r.data.owner.name,email:r.data.owner.email,html_url:r.data.owner.html_url,avatar_url:r.data.owner.avatar_url,type:capitalize(r.data.owner.type.toLowerCase())},description:r.data.description,external_url:r.data.external_url,html_url:r.data.html_url,permissions:r.data.permissions,events:r.data.events,created_at:r.data.created_at,updated_at:r.data.updated_at};r.data=o;}return r}catch(r){throw new Error(`\u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_app_info_by_auth(){try{this.setRequestConfig({url:this.ApiUrl,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: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(`\u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${e.message}`)}}async get_app_installation_by_repo(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.jwtToken});let{owner:a,repo:r}=e,o=await this.get(`/repos/${a}/${r}/installation`);switch(o.statusCode){case 404:throw new Error(C);case 301:throw new Error(ze)}if(o.data){let t={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: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:o.data.created_at,updated_at:o.data.updated_at};o.data=t;}return o}catch(a){throw new Error(`\u83B7\u53D6\u5B58\u50A8\u5E93\u5B89\u88C5\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async create_install_link(e){try{let a=new URL(`apps/${await this.get_app_name()}/installations/new`,this.BaseUrl);return a.search=new URLSearchParams({...e&&{state:e}}).toString(),a.toString()}catch(a){throw new Error(`\u751F\u6210\u5E94\u7528\u5B89\u88C5\u94FE\u63A5\u5931\u8D25: ${a.message}`)}}async create_config_install_link(e){try{let a=new URL(`apps/${await this.get_app_name()}/installations/new`,this.BaseUrl);return a.search=new URLSearchParams({...e&&{state:e}}).toString(),a.toString()}catch(a){throw new Error(`\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}};});b();de();pe();var Re={};P(Re,{App:()=>V,Auth:()=>B,Commit:()=>z,GitHubClient:()=>y,Issue:()=>W,Org:()=>F,Repo:()=>G,User:()=>j,WebHook:()=>J});be();ce();k();me();ge();we();_e();ye();fe();var Ce=class{github;constructor(e){if(!e.github)throw new Error("GitHub \u5BA2\u6237\u7AEF\u672A\u914D\u7F6E");this.github=new y(e.github);}};var bs=Ce;
6
6
  export{Ce as Client,y as GitHubClient,It as create_state_id,bs as default,h as formatDate,oe as get_langage_color,Ct as get_relative_time,Re as github};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@candriajs/git-neko-kit",
3
- "version": "0.7.6",
3
+ "version": "0.7.7",
4
4
  "description": "Github, Gitee, GitCode API封装库",
5
5
  "keywords": [
6
6
  "git",