@candriajs/git-neko-kit 1.0.0 → 1.1.0
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/exports/axios.d.ts +1 -0
- package/dist/exports/markdown.cjs +1 -0
- package/dist/exports/markdown.d.ts +1 -0
- package/dist/exports/markdown.mjs +1 -0
- package/dist/index.cjs +4 -4
- package/dist/index.d.ts +41 -15
- package/dist/index.mjs +4 -4
- package/package.json +9 -1
package/dist/index.cjs
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var te=require('fs'),F=require('path'),exec=require('@candriajs/exec'),xr=require('color-convert'),ae=require('dayjs'),Ir=require('dayjs/plugin/relativeTime.js'),Er=require('git-url-parse'),vr=require('language-colors'),simpleGit=require('simple-git'),lodash=require('lodash'),url=require('url'),uuid=require('uuid'),ne=require('axios'),httpProxyAgent=require('http-proxy-agent'),httpsProxyAgent=require('https-proxy-agent'),socksProxyAgent=require('socks-proxy-agent'),hr=require('crypto'),Jr=require('jsonwebtoken');var _documentCurrentScript=typeof document!=='undefined'?document.currentScript:null;function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var te__default=/*#__PURE__*/_interopDefault(te);var F__default=/*#__PURE__*/_interopDefault(F);var xr__default=/*#__PURE__*/_interopDefault(xr);var ae__default=/*#__PURE__*/_interopDefault(ae);var Ir__default=/*#__PURE__*/_interopDefault(Ir);var Er__default=/*#__PURE__*/_interopDefault(Er);var vr__default=/*#__PURE__*/_interopDefault(vr);var ne__default=/*#__PURE__*/_interopDefault(ne);var hr__default=/*#__PURE__*/_interopDefault(hr);var Jr__default=/*#__PURE__*/_interopDefault(Jr);var kr=Object.defineProperty;var f=(m,t)=>()=>(m&&(t=m(m=0)),t);var A=(m,t)=>{for(var r in t)kr(m,r,{get:t[r],enumerable:true});};var x,ht,z,ft,wt,bt,Rt,Ge,G,Le,Tt,Pt,kt,j,Ct,Oe,De,He,xt,It,V,ue,Et,vt,Mt,At,R,qt,$t,h,Ne,I,de,C,St,Be,Y,B,Ut,Gt,Lt,Ot,Dt,Ht,Nt,X,Bt,$,Wt,Q,L,Ft,Z,We,zt,S,jt,q,Kt,Jt,O,Vt,me,Yt,ce,Xt,Qt,Zt,Fe,ge,W,ea,ta,aa,_e,ee,ra,sa,oa,na,ia,la,pa,ua,ze,K,je=f(()=>{x="\u55B5\u545C~ \u5F53\u524D\u5BA2\u6237\u7AEF\u7C7B\u578B\u4E0D\u662FApp\u7C7B\u578B, \u4E0D\u652F\u6301\u6B64\u64CD\u4F5C\u54E6",ht="\u55B5\u545C~ \u5E94\u7528\u5BA2\u6237\u7AEF\u914D\u7F6E\u4E0D\u5B8C\u6574",z="\u55B5\u545C~ \u8BF7\u6C42\u8DEF\u5F84\u4E0D\u80FD\u4E3A\u7A7A",ft="\u55B5\u545C~ \u5E94\u7528\u5BA2\u6237\u7AEFID\u4E0D\u80FD\u4E3A\u7A7A",wt="\u55B5\u545C~ \u5E94\u7528\u5BA2\u6237\u7AEFID\u4E0D\u80FD\u4E3A\u7A7A",bt="\u55B5\u545C~ \u5E94\u7528\u5BC6\u94A5\u4E0D\u80FD\u4E3A\u7A7A",Rt="\u55B5\u545C~ \u5E94\u7528\u6807\u8BC6\u7B26\u4E0D\u80FD\u4E3A\u7A7A",Ge="\u55B5\u545C~ \u6388\u6743\u7801\u4E0D\u80FD\u4E3A\u7A7A",G="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u4E0D\u80FD\u4E3A\u7A7A",Le="\u55B5\u545C~ \u5237\u65B0\u4EE4\u724C\u4E0D\u80FD\u4E3A\u7A7A",Tt="\u55B5\u545C~ \u8BF7\u63D0\u4F9B\u6807\u9898",Pt="\u55B5\u545C~ \u4EE3\u7801\u914D\u7F6E\u4E0D\u6B63\u786E\u5462",kt="\u55B5\u545C~ \u4EE3\u7406\u5730\u5740\u683C\u5F0F\u4E0D\u6B63\u786E\u54E6",j="\u55B5\u545C~ \u672C\u5730\u4ED3\u5E93\u8DEF\u5F84\u4E0D\u80FD\u4E3A\u7A7A",Ct="\u55B5\u545C~ \u8FDC\u7A0B\u4ED3\u5E93URL\u4E0D\u80FD\u4E3A\u7A7A",Oe="\u55B5\u545C~ \u4EE3\u7406URL\u4E0D\u80FD\u4E3A\u7A7A",De="\u55B5\u545C~ \u8FD9\u4E2A Git \u7C7B\u578B\u4E0D\u652F\u6301\u54E6",He="\u55B5\u545C~ \u8FD9\u4E2A URL \u534F\u8BAE\u4E0D\u652F\u6301\u54E6",xt=m=>`\u55B5\u545C~ \u4EE3\u7406\u7C7B\u578B ${m} \u4E0D\u652F\u6301\u54E6`,It=m=>`\u55B5\u545C~ \u4ED3\u5E93URL ${m} \u4E0D\u5B58\u5728\u54E6`,V=m=>`\u55B5\u545C~ \u672C\u5730\u4ED3\u5E93\u8DEF\u5F84 ${m} \u4E0D\u5B58\u5728\u54E6`,ue="\u55B5\u545C~ Git \u5BA2\u6237\u7AEF\u672A\u5B89\u88C5\u6216\u672A\u6B63\u786E\u914D\u7F6E",Et="\u55B5\u545C~ \u8FD9\u4E2A\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",vt="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5DF2\u8FC7\u671F",Mt="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u5931\u8D25",At="\u55B5\u545C~ \u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25",R="\u55B5\u545C~ \u8BBF\u95EE\u88AB\u62D2\u7EDD\u5566\uFF0C\u53EF\u80FD\u662F\u4EE4\u724C\u8FC7\u671F\u4E86\u6216\u6743\u9650\u4E0D\u8DB3",qt="\u55B5\u545C~ \u5E94\u7528\u5B89\u88C5ID\u4E0D\u80FD\u4E3A\u7A7A",$t="\u55B5\u545C~ \u64A4\u9500\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25",h="\u55B5\u545C~ \u4ED3\u5E93\u62E5\u6709\u8005\u6216\u4ED3\u5E93\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A",Ne="\u55B5\u545C~ \u8BF7\u63D0\u4F9B\u4ED3\u5E93\u4FE1\u606F(\u4ED3\u5E93\u62E5\u6709\u8005/\u4ED3\u5E93\u540D\u6216\u5B8C\u6574URL)",I="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",de="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u5DF2\u88AB\u79FB\u52A8",C="\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",St="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u4E0D\u5B58\u5728\u54E6",Be="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",Y="\u55B5\u545C~ \u5DE5\u4F5C\u6D41ID\u4E0D\u80FD\u4E3A\u7A7A",B="\u55B5\u545C~ \u8FD9\u4E2A\u5DE5\u4F5C\u6D41\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",Ut=m=>`\u55B5\u545C~ \u79FB\u9664\u534F\u4F5C\u8005\u5931\u8D25${m}\u54E6`,Gt="\u55B5\u545C~ \u5F15\u7528\u5206\u652F\u6216\u6807\u7B7E\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A\u54E6",Lt="\u55B5\u545C~ \u5DE5\u4F5C\u6D41\u4F5C\u4E1AID\u4E0D\u80FD\u4E3A\u7A7A",Ot=m=>`\u55B5\u545C~ \u5DE5\u4F5C\u6D41${m}\u624B\u52A8\u89E6\u53D1\u89E6\u53D1\u5931\u8D25`,Dt=m=>`\u55B5\u545C~ \u5DE5\u4F5C\u6D41${m}\u542F\u7528\u5931\u8D25`,Ht=m=>`\u55B5\u545C~ \u5DE5\u4F5C\u6D41${m}\u7981\u7528\u5931\u8D25`,Nt=m=>`\u55B5\u545C~ \u5DE5\u4F5C\u6D41\u4F5C\u4E1A${m}\u91CD\u65B0\u8FD0\u884C\u5931\u8D25`,X="\u55B5\u545C~ \u8FD9\u4E2A\u7528\u6237\u4E0D\u5B58\u5728\u54E6",Bt="\u55B5\u545C~ \u7528\u6237ID\u4E0D\u80FD\u4E3A\u7A7A",$="\u55B5\u545C~ \u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A",Wt="\u55B5\u545C~ \u7EC4\u7EC7\u8D26\u53F7\u6682\u4E0D\u652F\u6301",Q="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u4E0D\u5B58\u5728\u54E6",L="\u55B5\u545C~ \u7EC4\u7EC7\u540D\u4E0D\u80FD\u4E3A\u7A7A",Ft="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",Z="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u6216\u7528\u6237\u4E0D\u5B58\u5728\u54E6",We="\u55B5\u545C~ \u627E\u4E0D\u5230\u7528\u6237\u7BA1\u7406\u7684\u7EC4\u7EC7\u54E6",zt=m=>`\u55B5\u545C~ \u79FB\u9664\u7EC4\u7EC7\u6210\u5458\u5931\u8D25${m}\u54E6`,S="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u4E0D\u5B58\u5728\u54E6",jt="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u5DF2\u88AB\u79FB\u52A8",q="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u4E0D\u5B58\u5728\u54E6",Kt="\u55B5\u545C~ \u8FD9\u4E2A\u5173\u8054\u8BAE\u9898\u4E0D\u80FD\u4E3A\u7A7A\u54E6",Jt="\u55B5\u545C~ \u8FD9\u4E2A\u5173\u8054\u8BAE\u9898\u7F16\u53F7\u6216\u6807\u9898\u4E0D\u80FD\u4E3A\u7A7A\u54E6",O="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",Vt="\u55B5\u545C~ \u8BAE\u9898\u6807\u9898\u4E0D\u80FD\u4E3A\u7A7A\u54E6",me="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",Yt="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A\u54E6",ce="\u55B5\u545C~ \u8FD9\u4E2A\u5B50\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",Xt="\u55B5\u545C~ \u9501\u5B9A\u8BAE\u9898\u5931\u8D25",Qt="\u55B5\u545C~ \u89E3\u9501\u8BAE\u9898\u5931\u8D25",Zt="\u55B5\u545C~ \u5220\u9664\u8BAE\u9898\u5931\u8D25",Fe="\u55B5\u545C~ \u8FD9\u4E2A\u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A\u54E6",ge="\u55B5\u545C~ \u8FD9\u4E2A\u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",W="\u55B5\u545C~ \u8FD9\u4E2A\u62C9\u53D6\u8BF7\u6C42\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",ea="\u55B5\u545C~ \u8BF7\u63D0\u4F9B\u6E90\u5206\u652F",ta="\u55B5\u545C~ \u8BF7\u63D0\u4F9B\u76EE\u6807\u5206\u652F",aa="\u55B5\u545C~ \u62C9\u53D6\u8BF7\u6C42\u7684\u5408\u5E76\u65B9\u5F0F\u4E0D\u652F\u6301",_e="\u55B5\u545C~ \u62C9\u53D6\u8BF7\u6C42\u7F16\u53F7\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728",ee="\u55B5\u545C~ \u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u7F16\u53F7\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728",ra="\u55B5\u545C~ \u8FD9\u4E2ASHA\u503C\u4E0E\u5934\u90E8\u5206\u652F\u7684SHA\u503C\u4E0D\u5339\u914D",sa="\u55B5\u545C~ \u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u66F4\u65B0\u5931\u8D25",oa="\u55B5\u545C~ \u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u5220\u9664\u5931\u8D25",na="\u55B5\u545C~ WebHook \u7B7E\u540D\u683C\u5F0F\u4E0D\u6B63\u786E",ia="\u55B5\u545C~ WebHook \u7B7E\u540D\u9A8C\u8BC1\u5931\u8D25",la="\u55B5\u545C~ WebHook \u7B7E\u540D\u5BC6\u94A5\u4E0D\u80FD\u4E3A\u7A7A\u54E6",pa="\u55B5\u545C~ WebHook \u8BF7\u6C42\u4F53\u4E0D\u80FD\u4E3A\u7A7A\u54E6",ua="\u55B5\u545C~ WebHook \u7B7E\u540D\u5934\u4E0D\u80FD\u4E3A\u7A7A\u54E6",ze="\u55B5\u545C~ \u641C\u7D22\u67E5\u8BE2\u4E0D\u80FD\u4E3A\u7A7A\u54E6",K="\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";});async function Ke(m,t){return await exec.exec(m,t)}async function E(m){try{return await te__default.default.promises.access(m,te__default.default.constants.F_OK),!0}catch{return false}}function ma(m=""){try{let t=F__default.default.resolve(m).replace(/\\/g,"/");if(!te__default.default.existsSync(t))return {};let r=te__default.default.readFileSync(t,"utf8");return JSON.parse(r)}catch(t){return console.error(`\u8BFB\u53D6 JSON \u6587\u4EF6\u5931\u8D25: ${m}`,t),{}}}async function Je(m=""){try{let t=F__default.default.resolve(m).replace(/\\/g,"/");if(!await E(t))return {};let r=await te__default.default.promises.readFile(t,"utf8");return JSON.parse(r)}catch(t){return console.error(`\u8BFB\u53D6 JSON \u6587\u4EF6\u5931\u8D25: ${m}`,t),{}}}async function ca(m="zh-cn"){let t=String(m).toLowerCase();if(Mr.has(t)){ae__default.default.locale(t);return}await import(`dayjs/locale/${t}.js`),ae__default.default.locale(m);}async function p(m,t="zh-cn",r="YYYY-MM-DD HH:mm:ss"){return await ca(t),ae__default.default(m).locale(t).format(r)}async function Ar(m,t="zh-cn"){return await ca(t),ae__default.default.extend(Ir__default.default),ae__default.default(m).fromNow()}function D(m){let t=/^https?:\/\/[^/]+\/(?:https?:\/\/)?([^/]+\/[^/]+\/[^/]+)/,r=m.match(t);if(r){let o=r[1];m=o.startsWith("https")?o:`https://${o}`;}let s=Er__default.default(m);return {html_url:s.toString("https").replace(/\.git$/,""),owner:s.owner,repo:s.name}}function qr(m){if(!Array.isArray(m))throw new Error("RGB\u503C\u5FC5\u987B\u662F\u6570\u7EC4\u7C7B\u578B");if(m.length!==3)throw new Error("RGB\u6570\u7EC4\u5FC5\u987B\u5305\u542B\u4E14\u4EC5\u5305\u542B3\u4E2A\u503C");if(!m.every(t=>Number.isInteger(t)&&t>=0&&t<=255))throw new Error("RGB\u503C\u5FC5\u987B\u90FD\u662F0-255\u4E4B\u95F4\u7684\u6574\u6570");return `#${xr__default.default.rgb.hex(m)}`}function Ve(m){return m=String(m).toLowerCase(),qr(vr__default.default[m].color)??"#ededed"}async function $r(m,t){return Promise.resolve(Array.from({length:Math.ceil(m.length/t)},(r,s)=>m.slice(s*t,s*t+t)))}async function ga(m){try{if(!m)return {total:0,contributions:[]};let t=/data-date="(.*?)" id="contribution-day-component/g,r=/<tool-tip .*?class="sr-only position-absolute">(.*?) contribution/g,s=Array.from(m.matchAll(t),n=>n[1]),o=Array.from(m.matchAll(r),n=>String(n[1]).toLowerCase()==="no"?0:parseInt(n[1]));if(!s.length||!o.length)return {total:0,contributions:[]};let e=s.map((n,i)=>({date:n,count:o[i]})).sort((n,i)=>n.date.localeCompare(i.date)),a=await $r(e,7);return {total:o.reduce((n,i)=>n+i,0),contributions:a}}catch(t){throw new Error(`\u89E3\u6790\u8D21\u732E\u6570\u636E\u5931\u8D25: ${t.message}`)}}var Mr,ye=f(()=>{Mr=new Set(["en"]);});async function Sr(){try{return await simpleGit.simpleGit().raw(["--version"])}catch{return null}}async function Ye(){return !!await Sr()}async function ya(m){try{if(!m)throw new Error(j);if(!await E(F__default.default.join(m))||!await E(F__default.default.join(m,".git")))return null;let r=await simpleGit.simpleGit(m).getRemotes(!0);if(r.length>0){let s=r[0].refs.push,{owner:o,repo:e,html_url:a}=D(s);return {name:F__default.default.basename(m),path:F__default.default.join(m),url:s,html_url:a,owner:o,repo:e,default_branch:await ha(m)}}return null}catch(t){throw new Error(`\u83B7\u53D6\u672C\u5730\u4ED3\u5E93\u4FE1\u606F\u5931\u8D25: ${t}`)}}async function Ur(m,t={loop:false,maxDepth:5,dir:[]}){let{loop:r=false,maxDepth:s=5,dir:o=[]}=t,e=async(a,n=0)=>{try{if(!await E(a))return [];if(!(await te__default.default.promises.stat(a)).isDirectory())return [];let l=[],u=await ya(a);if(u&&l.push(u),r&&n<s){let _=await te__default.default.promises.readdir(a,{withFileTypes:!0}),T=await Promise.all(_.filter(y=>y.isDirectory()&&!o.includes(y.name)).map(async y=>{let c=F__default.default.join(a,y.name);return await e(c,n+1)}));l.push(...T.flat());}return l}catch{return []}};try{if(!m)throw new Error(j);if(m=F__default.default.resolve(m).replace(/\\/g,"/"),!await E(m))throw new Error(V(m));if(!await Ye())throw new Error(ue);let a=await e(m);return {total:a.length,items:a}}catch(a){throw new Error(`\u83B7\u53D6\u672C\u5730\u76EE\u5F55git\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${a.message}`)}}async function ha(m){if(!m)throw new Error(j);try{if(!await Ye())throw new Error(ue);let t=F__default.default.join(m);if(!await E(t))throw new Error(V(t));let o=await simpleGit.simpleGit(m).revparse(["--abbrev-ref","HEAD"]);if(!o)throw new Error("\u55B5\u545C~, \u65E0\u6CD5\u83B7\u53D6\u4ED3\u5E93\u5206\u652F\u4FE1\u606F\uFF0C\u8BF7\u786E\u4FDD\u4ED3\u5E93\u5DF2\u521D\u59CB\u5316");return o.trim()}catch(t){throw new Error(`\u83B7\u53D6\u672C\u5730\u4ED3\u5E93\u9ED8\u8BA4\u5206\u652F\u5931\u8D25: ${t.message}`)}}async function re(m){if(!m)throw new Error(Ct);try{if(!await Ye())throw new Error(ue);let t=new URL(m),{owner:r,repo:s}=D(t.href);if(!(r||s))throw new Error(It(t.href));let a=(await simpleGit.simpleGit().raw(["ls-remote","--symref",m,"HEAD"])).match(/^ref: refs\/heads\/([^\t\n]+)/m);if(!a)throw new Error("\u55B5\u545C~, \u65E0\u6CD5\u4ECE\u8FDC\u7A0B\u4ED3\u5E93\u83B7\u53D6\u9ED8\u8BA4\u5206\u652F\u4FE1\u606F");return a[1]}catch(t){throw new Error(`\u83B7\u53D6\u8FDC\u7A0B\u4ED3\u5E93\u9ED8\u8BA4\u5206\u652F\u5931\u8D25: ${t.message}`)}}var fa=f(()=>{je();ye();});function wa(m){if(lodash.isString(m))return m;if(lodash.isObject(m))return m.url}async function ba(m,t,r){let s=D(r);return {name:m.name,path:t,html_url:s.html_url,owner:s.owner,repo:s.repo,default_branch:await re(r)}}async function Ra(m){try{if(!m)return null;let t=F__default.default.join(process.cwd(),"node_modules",m);try{let{stdout:e}=await Ke(`npm view ${m} --json`);if(e&&!lodash.isEmpty(e)){let a=JSON.parse(e),n=wa(a.repository)?.replace(/^git\+/,"");if(n)return await ba(a,t,n)}}catch{}if(!await E(t))return null;let r=F__default.default.join(t,"package.json");if(!await E(r))return null;let s=await Je(r);if(lodash.isEmpty(s))return null;let o=wa(s.repository)?.replace(/^git\+/,"");return o?await ba(s,t,o):null}catch{return null}}async function Or(m,t){let{packageName:r=[],prefix:s=""}=t??{};if(!F__default.default)throw new Error(j);if(!await E(m))throw new Error(V(m));let o=F__default.default.join(m,"node_modules");if(!await E(o))return {total:0,items:[]};let e=[];try{let{stdout:l}=await Ke("npm list --prod --depth=0 --json",{cwd:m});if(l&&!lodash.isEmpty(l)){let u=JSON.parse(l);u.dependencies&&(e=Object.keys(u.dependencies));}}catch{let u=F__default.default.join(m,"package.json");if(!await E(u))return {total:0,items:[]};let _=await Je(u);if(lodash.isEmpty(_))return {total:0,items:[]};e=Object.keys(_.dependencies??{});}let n=e.filter(l=>!r.includes(l)).filter(l=>!s||l.startsWith(s)).map(l=>Ra(l)),i=(await Promise.all(n)).filter(l=>l!==null);return {total:i.length,items:i}}var Ta=f(()=>{k();});var Pa,ka,Ca,xa,Ia,Ea,va,Ma,Aa,qa,Xe,$a,Sa,Ua,Ga,La=f(()=>{Pa="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u64A4\u9500\u6210\u529F",ka="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u6210\u529F",Ca="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u83B7\u53D6\u6210\u529F",xa="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u6709\u6548",Ia=m=>`\u55B5\u545C~ \u79FB\u9664\u534F\u4F5C\u8005\u6210\u529F${m}\u54E6`,Ea=m=>`\u55B5\u545C~ \u5DE5\u4F5C\u6D41\u8FD0\u884C\u6210\u529F${m}\u54E6`,va=m=>`\u55B5\u545C~ \u5DE5\u4F5C\u6D41\u542F\u7528\u6210\u529F${m}\u54E6`,Ma=m=>`\u55B5\u545C~ \u5DE5\u4F5C\u6D41\u7981\u7528\u6210\u529F${m}\u54E6`,Aa=m=>`\u55B5\u545C~ \u5DE5\u4F5C\u6D41\u4EFB\u52A1\u91CD\u65B0\u8FD0\u884C\u6210\u529F${m}\u54E6`,qa=m=>`\u55B5\u545C~ \u79FB\u9664\u7EC4\u7EC7\u6210\u5458${m}\u6210\u529F`,Xe="\u55B5\u545C~ \u8BAE\u9898\u89E3\u9501\u6210\u529F",$a="\u55B5\u545C~ \u8BAE\u9898\u8BC4\u8BBA\u5220\u9664\u6210\u529F",Sa="\u55B5\u545C~ \u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u66F4\u65B0\u6210\u529F",Ua="\u55B5\u545C~ \u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u5220\u9664\u6210\u529F",Ga="\u55B5\u545C~ WebHook\u7B7E\u540D\u9A8C\u8BC1\u6210\u529F";});var Nr,Oa,Da=f(()=>{Nr=Object.freeze(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index.cjs', document.baseURI).href)))),Oa=Object.freeze(F__default.default.join(Nr,"../..").replace(/\\/g,"/"));});var oe,Ha=f(()=>{ye();Da();oe=ma(`${Oa}/package.json`);});var k=f(()=>{je();fa();Ta();La();ye();Ha();});function Qe(m="github",t={}){if(!["github","gitee","gitcode"].includes(m))throw new Error(De);let{proxyUrl:s,proxyType:o="original"}=t,e={github:"api.github.com",gitee:"gitee.com/api/v5",gitcode:"api.gitcode.com/api/v5"},a=`https://${e[m]}`;if(o!=="original"){if(!s)throw new Error(Oe);if(!s.startsWith("http"))throw new Error(He);let n=s.replace(/(^\/|\/$)/g,"");return o==="common"?`${n}/${e[m]}`:n}return a.replace(/\/$/,"")}function J(m="github",t={}){if(!["github","gitee","gitcode"].includes(m))throw new Error(De);let{proxyUrl:s,proxyType:o="original"}=t,e={github:"github.com",gitee:"gitee.com",gitcode:"gitcode.com"},a=`https://${e[m]}`;if(o!=="original"){if(!s)throw new Error(Oe);if(!s.startsWith("http"))throw new Error(He);let n=s.replace(/(^\/|\/$)/g,"");return o==="common"?`${n}/${e[m]}`:n}return a.replace(/\/$/,"")}async function Wr(){return Promise.resolve(uuid.v4().replace(/-/g,""))}var Ze=f(()=>{k();});var we,et=f(()=>{k();we=class{baseUrl;tokenType;authorization;proxy;defaultHeaders;constructor(t,r="Bearer",s,o,e){this.baseUrl=t.replace(/\/$/,""),this.authorization=s,this.proxy=o,this.tokenType=r,this.defaultHeaders=e;}async request(t,r,s,o,e){let a=`${this.baseUrl}/${r}`.replace(/\/+/g,"/"),n={headers:this.createHeaders(e),params:s,validateStatus:()=>true};if(this.proxy){let i=this.proxy.type,l=this.proxy.address;switch(i){case "http":n.httpAgent=new httpProxyAgent.HttpProxyAgent(l),n.httpsAgent=new httpsProxyAgent.HttpsProxyAgent(l);break;case "https":n.httpsAgent=new httpsProxyAgent.HttpsProxyAgent(l);break;case "socks":case "socks5":{let u=new socksProxyAgent.SocksProxyAgent(l);n.httpAgent=u,n.httpsAgent=u;break}}}try{let i;switch(t){case "get":i=await ne__default.default.get(a,n);break;case "post":i=await ne__default.default.post(a,o,n);break;case "patch":i=await ne__default.default.patch(a,o,n);break;case "put":i=await ne__default.default.put(a,o,n);break;case "delete":i=await ne__default.default.delete(a,{...n,data:o});break;default:throw new Error(`\u4E0D\u652F\u6301\u7684\u8BF7\u6C42\u65B9\u6CD5: ${t}`)}let l=Object.fromEntries(Object.entries(i.headers).filter(([u,_])=>_!==void 0).map(([u,_])=>[u.toLowerCase(),_]));return {success:!0,statusCode:i.status,headers:l,data:i.data,msg:i.status>=200&&i.status<500?"\u8BF7\u6C42\u6210\u529F":"\u8BF7\u6C42\u5F02\u5E38"}}catch(i){let l=i,u=l.response?.headers?Object.fromEntries(Object.entries(l.response.headers).filter(([_,T])=>T!==void 0).map(([_,T])=>[_,T])):{};return {success:false,statusCode:l.response?.status??500,headers:u,msg:l.message??"\u7F51\u7EDC\u8FDE\u63A5\u5931\u8D25",data:null}}}async get(t,r,s){return this.request("get",t,r,null,s)}async post(t,r,s,o){return this.request("post",t,r,s,o)}async patch(t,r=null,s,o){return this.request("patch",t,r,s,o)}async put(t,r,s,o){return this.request("put",t,r,s,o)}async delete(t,r=null,s,o){return this.request("delete",t,r,s,o)}createHeaders(t){let s={"Content-Type":"application/json","User-Agent":`${oe.name.includes("/")?oe.name.split("/").pop():oe.name}/v${oe.version}`,...this.defaultHeaders??{}};if(this.authorization)if(this.tokenType==="Basic"){let o=Buffer.from(this.authorization).toString("base64");s.Authorization=`Basic ${o}`;}else this.tokenType==="Bearer"?s.Authorization=`Bearer ${this.authorization}`:s.Authorization=`${this.tokenType} ${this.authorization}`;return t&&Object.assign(s,t),s}};});var be=f(()=>{Ze();et();});exports.ProxyType=void 0;exports.ProxyProtocol=void 0;var Ba=f(()=>{exports.ProxyType=(s=>(s.Reverse="reverse",s.Original="original",s.Common="common",s))(exports.ProxyType||{}),exports.ProxyProtocol=(o=>(o.HTTP="http",o.HTTPS="https",o.SOCKS="socks",o.SOCKS5="socks5",o))(exports.ProxyProtocol||{});});var Wa=f(()=>{});var Fa=f(()=>{});var za=f(()=>{});var ja=f(()=>{});var Ka=f(()=>{});var Ja=f(()=>{});var Va=f(()=>{Ba();Wa();Fa();za();ja();Ka();Ja();});var Ya=f(()=>{});var Xa=f(()=>{});var at=f(()=>{});var Qa=f(()=>{});var Za=f(()=>{});exports.WorkflowState=void 0;var er=f(()=>{exports.WorkflowState=(e=>(e.Active="active",e.Deleted="deleted",e.DisabledFork="disabled_fork",e.DisabledInactivity="disabled_inactivity",e.DisabledManually="disabled_manually",e))(exports.WorkflowState||{});});var tr=f(()=>{at();Qa();Za();er();});var ar=f(()=>{});var rr=f(()=>{});var sr=f(()=>{});var or=f(()=>{});var nr=f(()=>{});var ir=f(()=>{});var lr=f(()=>{});var pr=f(()=>{});var ur=f(()=>{Xa();at();tr();ar();rr();sr();or();nr();ir();lr();pr();});var le=f(()=>{Va();Ya();ur();});var dr={};A(dr,{Auth:()=>Re});var Re,rt=f(()=>{k();v();Re=class extends exports.GitHubClient{constructor(t){super(t),this.userToken=t.userToken,this.api_url=t.api_url,this.base_url=t.base_url;}async get_token_by_code(t){if(!this.is_app_client)throw new Error(x);if(!t.code)throw new Error(Ge);try{this.setRequestConfig({url:this.base_url});let r=await this.post("/login/oauth/access_token",{client_id:this.Client_ID,client_secret:this.Client_Secret,code:t.code},{Accept:"application/json"}),s=r.status==="ok"&&r.statusCode===200&&!r.data.error;if(!s)throw new Error(At);if(r.data){let o={success:s,message:Ca,access_token:r.data.access_token,expires_in:r.data.expires_in??null,refresh_token:r.data.refresh_token??null,refresh_token_expires_in:r.data.refresh_token_expires_in??null,scope:r.data.scope,token_type:r.data.token_type};r.data=o;}return r}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${r.message}`)}}async check_token_status(t){try{if(!this.is_app_client)throw new Error(x);let r=t?.access_token??this.userToken;if(!r)throw new Error(Et);if(!r.startsWith("ghu_"))throw new Error(G);this.setRequestConfig({url:this.api_url,tokenType:"Basic",token:`${this.Client_ID}:${this.Client_Secret}`});let s=await this.post(`/applications/${this.Client_ID}/token`,{access_token:r}),o=!(s.status==="ok"&&(s.statusCode===404||s.statusCode===422)),e={success:o,message:o?xa:vt};return s.data=e,s}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u72B6\u6001\u5931\u8D25: ${r.message}`)}}async refresh_token(t){try{if(!this.is_app_client)throw new Error(x);if(!t.refresh_token)throw new Error(Ge);if(!t.refresh_token.startsWith("ghr_"))throw new Error(Le);this.setRequestConfig({url:this.base_url});let r=await this.post("/login/oauth/access_token",{client_id:this.Client_ID,client_secret:this.Client_Secret,grant_type:"refresh_token",refresh_token:t.refresh_token},{Accept:"application/json"}),s=r.status==="ok"&&r.statusCode===200&&!r.data.error,o=Mt;switch(r.data.error){case "bad_refresh_token":o=Le;break;case "unauthorized":o=R;break}if(!s)throw new Error(o);if(r.data){let e={success:s,message:ka,access_token:r.data.access_token,expires_in:r.data.expires_in??null,refresh_token:r.data.refresh_token??null,refresh_token_expires_in:r.data.refresh_token_expires_in??null,scope:r.data.scope,token_type:r.data.token_type};r.data=e;}return r}catch(r){throw new Error(`[GitHub] \u5237\u65B0\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${r.message}`)}}async create_auth_link(t){try{if(!this.is_app_client)throw new Error(x);let r=new URL("/login/oauth/authorize",this.base_url);return r.search=new URLSearchParams({client_id:this.Client_ID,...t&&{state:t}}).toString(),Promise.resolve(r.toString())}catch(r){throw new Error(`[GitHub] \u751F\u6210\u6388\u6743\u94FE\u63A5\u5931\u8D25: ${r.message}`)}}};});var mr={};A(mr,{Commit:()=>Pe});var Pe,st=f(()=>{k();v();Pe=class extends exports.GitHubClient{constructor(t){super(t),this.userToken=t.userToken,this.api_url=t.api_url,this.base_url=t.base_url;}async get_commit_info(t){try{this.setRequestConfig({token:this.userToken});let r,s,o,e;if("url"in t){o=t.url;let n=D(o);r=n?.owner,s=n?.repo;}else if("owner"in t&&"repo"in t)r=t.owner,s=t.repo;else throw new Error(Ne);t.sha?e=t.sha:e=await(await this.get_repo()).get_repo_default_branch({owner:r,repo:s});let a=await this.get(`/repos/${r}/${s}/commits/${e}`);switch(a.statusCode){case 401:throw new Error(C);case 404:throw new Error(Be);case 422:throw new Error(St)}if(a.data){let[n,i]=await Promise.all([this.format?await p(a.data.commit.author.date):a.data.commit.author.date,this.format?await p(a.data.commit.committer.date):a.data.commit.committer.date]),l=a.data?.commit?.message,[u,..._]=l.split(`
|
1
|
+
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var ae=require('fs'),F=require('path'),exec=require('@candriajs/exec'),Er=require('color-convert'),re=require('dayjs'),vr=require('dayjs/plugin/relativeTime.js'),Mr=require('git-url-parse'),Ar=require('language-colors'),simpleGit=require('simple-git'),pluginTasklist=require('@mdit/plugin-tasklist'),Dr=require('markdown-it'),markdownItEmoji=require('markdown-it-emoji'),lodash=require('lodash'),url=require('url'),uuid=require('uuid'),ie=require('axios'),httpProxyAgent=require('http-proxy-agent'),httpsProxyAgent=require('https-proxy-agent'),socksProxyAgent=require('socks-proxy-agent'),wr=require('crypto'),ts=require('jsonwebtoken');var _documentCurrentScript=typeof document!=='undefined'?document.currentScript:null;function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var ae__default=/*#__PURE__*/_interopDefault(ae);var F__default=/*#__PURE__*/_interopDefault(F);var Er__default=/*#__PURE__*/_interopDefault(Er);var re__default=/*#__PURE__*/_interopDefault(re);var vr__default=/*#__PURE__*/_interopDefault(vr);var Mr__default=/*#__PURE__*/_interopDefault(Mr);var Ar__default=/*#__PURE__*/_interopDefault(Ar);var Dr__default=/*#__PURE__*/_interopDefault(Dr);var ie__default=/*#__PURE__*/_interopDefault(ie);var wr__default=/*#__PURE__*/_interopDefault(wr);var ts__default=/*#__PURE__*/_interopDefault(ts);var xr=Object.defineProperty;var h=(m,t)=>()=>(m&&(t=m(m=0)),t);var A=(m,t)=>{for(var r in t)xr(m,r,{get:t[r],enumerable:true});};var x,ft,z,wt,bt,Rt,Tt,Le,G,Oe,Pt,kt,Ct,j,xt,De,He,Ne,It,Et,Y,de,vt,Mt,At,qt,R,K,$t,St,f,Be,I,me,C,Ut,We,X,B,Gt,Lt,Ot,Dt,Ht,Nt,Bt,Q,Wt,$,Ft,Z,L,zt,ee,Fe,jt,S,Kt,q,Jt,Vt,O,Yt,ce,Xt,ge,Qt,Zt,ea,ze,_e,W,ta,aa,ra,ye,te,sa,oa,na,ia,la,pa,ua,da,je,J,Ke=h(()=>{x="\u55B5\u545C~ \u5F53\u524D\u5BA2\u6237\u7AEF\u7C7B\u578B\u4E0D\u662FApp\u7C7B\u578B, \u4E0D\u652F\u6301\u6B64\u64CD\u4F5C\u54E6",ft="\u55B5\u545C~ \u5E94\u7528\u5BA2\u6237\u7AEF\u914D\u7F6E\u4E0D\u5B8C\u6574",z="\u55B5\u545C~ \u8BF7\u6C42\u8DEF\u5F84\u4E0D\u80FD\u4E3A\u7A7A",wt="\u55B5\u545C~ \u5E94\u7528\u5BA2\u6237\u7AEFID\u4E0D\u80FD\u4E3A\u7A7A",bt="\u55B5\u545C~ \u5E94\u7528\u5BA2\u6237\u7AEFID\u4E0D\u80FD\u4E3A\u7A7A",Rt="\u55B5\u545C~ \u5E94\u7528\u5BC6\u94A5\u4E0D\u80FD\u4E3A\u7A7A",Tt="\u55B5\u545C~ \u5E94\u7528\u6807\u8BC6\u7B26\u4E0D\u80FD\u4E3A\u7A7A",Le="\u55B5\u545C~ \u6388\u6743\u7801\u4E0D\u80FD\u4E3A\u7A7A",G="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u4E0D\u80FD\u4E3A\u7A7A",Oe="\u55B5\u545C~ \u5237\u65B0\u4EE4\u724C\u4E0D\u80FD\u4E3A\u7A7A",Pt="\u55B5\u545C~ \u8BF7\u63D0\u4F9B\u6807\u9898",kt="\u55B5\u545C~ \u4EE3\u7801\u914D\u7F6E\u4E0D\u6B63\u786E\u5462",Ct="\u55B5\u545C~ \u4EE3\u7406\u5730\u5740\u683C\u5F0F\u4E0D\u6B63\u786E\u54E6",j="\u55B5\u545C~ \u672C\u5730\u4ED3\u5E93\u8DEF\u5F84\u4E0D\u80FD\u4E3A\u7A7A",xt="\u55B5\u545C~ \u8FDC\u7A0B\u4ED3\u5E93URL\u4E0D\u80FD\u4E3A\u7A7A",De="\u55B5\u545C~ \u4EE3\u7406URL\u4E0D\u80FD\u4E3A\u7A7A",He="\u55B5\u545C~ \u8FD9\u4E2A Git \u7C7B\u578B\u4E0D\u652F\u6301\u54E6",Ne="\u55B5\u545C~ \u8FD9\u4E2A URL \u534F\u8BAE\u4E0D\u652F\u6301\u54E6",It=m=>`\u55B5\u545C~ \u4EE3\u7406\u7C7B\u578B ${m} \u4E0D\u652F\u6301\u54E6`,Et=m=>`\u55B5\u545C~ \u4ED3\u5E93URL ${m} \u4E0D\u5B58\u5728\u54E6`,Y=m=>`\u55B5\u545C~ \u672C\u5730\u4ED3\u5E93\u8DEF\u5F84 ${m} \u4E0D\u5B58\u5728\u54E6`,de="\u55B5\u545C~ Git \u5BA2\u6237\u7AEF\u672A\u5B89\u88C5\u6216\u672A\u6B63\u786E\u914D\u7F6E",vt="\u55B5\u545C~ \u8FD9\u4E2A\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",Mt="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5DF2\u8FC7\u671F",At="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u5931\u8D25",qt="\u55B5\u545C~ \u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25",R="\u55B5\u545C~ \u8BBF\u95EE\u88AB\u62D2\u7EDD\u5566\uFF0C\u53EF\u80FD\u662F\u4EE4\u724C\u8FC7\u671F\u4E86\u6216\u6743\u9650\u4E0D\u8DB3",K="\u55B5\u545C~ \u8BBF\u95EE\u88AB\u62D2\u7EDD\uFF0C\u8BF7\u68C0\u67E5\u4EE4\u724C\u662F\u5426\u6B63\u786E",$t="\u55B5\u545C~ \u5E94\u7528\u5B89\u88C5ID\u4E0D\u80FD\u4E3A\u7A7A",St="\u55B5\u545C~ \u64A4\u9500\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25",f="\u55B5\u545C~ \u4ED3\u5E93\u62E5\u6709\u8005\u6216\u4ED3\u5E93\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A",Be="\u55B5\u545C~ \u8BF7\u63D0\u4F9B\u4ED3\u5E93\u4FE1\u606F(\u4ED3\u5E93\u62E5\u6709\u8005/\u4ED3\u5E93\u540D\u6216\u5B8C\u6574URL)",I="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",me="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u5DF2\u88AB\u79FB\u52A8",C="\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",Ut="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u4E0D\u5B58\u5728\u54E6",We="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",X="\u55B5\u545C~ \u5DE5\u4F5C\u6D41ID\u4E0D\u80FD\u4E3A\u7A7A",B="\u55B5\u545C~ \u8FD9\u4E2A\u5DE5\u4F5C\u6D41\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",Gt=m=>`\u55B5\u545C~ \u79FB\u9664\u534F\u4F5C\u8005\u5931\u8D25${m}\u54E6`,Lt="\u55B5\u545C~ \u5F15\u7528\u5206\u652F\u6216\u6807\u7B7E\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A\u54E6",Ot="\u55B5\u545C~ \u5DE5\u4F5C\u6D41\u4F5C\u4E1AID\u4E0D\u80FD\u4E3A\u7A7A",Dt=m=>`\u55B5\u545C~ \u5DE5\u4F5C\u6D41${m}\u624B\u52A8\u89E6\u53D1\u89E6\u53D1\u5931\u8D25`,Ht=m=>`\u55B5\u545C~ \u5DE5\u4F5C\u6D41${m}\u542F\u7528\u5931\u8D25`,Nt=m=>`\u55B5\u545C~ \u5DE5\u4F5C\u6D41${m}\u7981\u7528\u5931\u8D25`,Bt=m=>`\u55B5\u545C~ \u5DE5\u4F5C\u6D41\u4F5C\u4E1A${m}\u91CD\u65B0\u8FD0\u884C\u5931\u8D25`,Q="\u55B5\u545C~ \u8FD9\u4E2A\u7528\u6237\u4E0D\u5B58\u5728\u54E6",Wt="\u55B5\u545C~ \u7528\u6237ID\u4E0D\u80FD\u4E3A\u7A7A",$="\u55B5\u545C~ \u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A",Ft="\u55B5\u545C~ \u7EC4\u7EC7\u8D26\u53F7\u6682\u4E0D\u652F\u6301",Z="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u4E0D\u5B58\u5728\u54E6",L="\u55B5\u545C~ \u7EC4\u7EC7\u540D\u4E0D\u80FD\u4E3A\u7A7A",zt="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",ee="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u6216\u7528\u6237\u4E0D\u5B58\u5728\u54E6",Fe="\u55B5\u545C~ \u627E\u4E0D\u5230\u7528\u6237\u7BA1\u7406\u7684\u7EC4\u7EC7\u54E6",jt=m=>`\u55B5\u545C~ \u79FB\u9664\u7EC4\u7EC7\u6210\u5458\u5931\u8D25${m}\u54E6`,S="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u4E0D\u5B58\u5728\u54E6",Kt="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u5DF2\u88AB\u79FB\u52A8",q="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u4E0D\u5B58\u5728\u54E6",Jt="\u55B5\u545C~ \u8FD9\u4E2A\u5173\u8054\u8BAE\u9898\u4E0D\u80FD\u4E3A\u7A7A\u54E6",Vt="\u55B5\u545C~ \u8FD9\u4E2A\u5173\u8054\u8BAE\u9898\u7F16\u53F7\u6216\u6807\u9898\u4E0D\u80FD\u4E3A\u7A7A\u54E6",O="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",Yt="\u55B5\u545C~ \u8BAE\u9898\u6807\u9898\u4E0D\u80FD\u4E3A\u7A7A\u54E6",ce="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",Xt="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A\u54E6",ge="\u55B5\u545C~ \u8FD9\u4E2A\u5B50\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",Qt="\u55B5\u545C~ \u9501\u5B9A\u8BAE\u9898\u5931\u8D25",Zt="\u55B5\u545C~ \u89E3\u9501\u8BAE\u9898\u5931\u8D25",ea="\u55B5\u545C~ \u5220\u9664\u8BAE\u9898\u5931\u8D25",ze="\u55B5\u545C~ \u8FD9\u4E2A\u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A\u54E6",_e="\u55B5\u545C~ \u8FD9\u4E2A\u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",W="\u55B5\u545C~ \u8FD9\u4E2A\u62C9\u53D6\u8BF7\u6C42\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",ta="\u55B5\u545C~ \u8BF7\u63D0\u4F9B\u6E90\u5206\u652F",aa="\u55B5\u545C~ \u8BF7\u63D0\u4F9B\u76EE\u6807\u5206\u652F",ra="\u55B5\u545C~ \u62C9\u53D6\u8BF7\u6C42\u7684\u5408\u5E76\u65B9\u5F0F\u4E0D\u652F\u6301",ye="\u55B5\u545C~ \u62C9\u53D6\u8BF7\u6C42\u7F16\u53F7\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728",te="\u55B5\u545C~ \u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u7F16\u53F7\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728",sa="\u55B5\u545C~ \u8FD9\u4E2ASHA\u503C\u4E0E\u5934\u90E8\u5206\u652F\u7684SHA\u503C\u4E0D\u5339\u914D",oa="\u55B5\u545C~ \u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u66F4\u65B0\u5931\u8D25",na="\u55B5\u545C~ \u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u5220\u9664\u5931\u8D25",ia="\u55B5\u545C~ WebHook \u7B7E\u540D\u683C\u5F0F\u4E0D\u6B63\u786E",la="\u55B5\u545C~ WebHook \u7B7E\u540D\u9A8C\u8BC1\u5931\u8D25",pa="\u55B5\u545C~ WebHook \u7B7E\u540D\u5BC6\u94A5\u4E0D\u80FD\u4E3A\u7A7A\u54E6",ua="\u55B5\u545C~ WebHook \u8BF7\u6C42\u4F53\u4E0D\u80FD\u4E3A\u7A7A\u54E6",da="\u55B5\u545C~ WebHook \u7B7E\u540D\u5934\u4E0D\u80FD\u4E3A\u7A7A\u54E6",je="\u55B5\u545C~ \u641C\u7D22\u67E5\u8BE2\u4E0D\u80FD\u4E3A\u7A7A\u54E6",J="\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";});async function Je(m,t){return await exec.exec(m,t)}async function E(m){try{return await ae__default.default.promises.access(m,ae__default.default.constants.F_OK),!0}catch{return false}}function ca(m=""){try{let t=F__default.default.resolve(m).replace(/\\/g,"/");if(!ae__default.default.existsSync(t))return {};let r=ae__default.default.readFileSync(t,"utf8");return JSON.parse(r)}catch(t){return console.error(`\u8BFB\u53D6 JSON \u6587\u4EF6\u5931\u8D25: ${m}`,t),{}}}async function Ve(m=""){try{let t=F__default.default.resolve(m).replace(/\\/g,"/");if(!await E(t))return {};let r=await ae__default.default.promises.readFile(t,"utf8");return JSON.parse(r)}catch(t){return console.error(`\u8BFB\u53D6 JSON \u6587\u4EF6\u5931\u8D25: ${m}`,t),{}}}async function ga(m="zh-cn"){let t=String(m).toLowerCase();if(qr.has(t)){re__default.default.locale(t);return}await import(`dayjs/locale/${t}.js`),re__default.default.locale(m);}async function p(m,t="zh-cn",r="YYYY-MM-DD HH:mm:ss"){return await ga(t),re__default.default(m).locale(t).format(r)}async function $r(m,t="zh-cn"){return await ga(t),re__default.default.extend(vr__default.default),re__default.default(m).fromNow()}function D(m){let t=/^https?:\/\/[^/]+\/(?:https?:\/\/)?([^/]+\/[^/]+\/[^/]+)/,r=m.match(t);if(r){let o=r[1];m=o.startsWith("https")?o:`https://${o}`;}let s=Mr__default.default(m);return {html_url:s.toString("https").replace(/\.git$/,""),owner:s.owner,repo:s.name}}function Sr(m){if(!Array.isArray(m))throw new Error("RGB\u503C\u5FC5\u987B\u662F\u6570\u7EC4\u7C7B\u578B");if(m.length!==3)throw new Error("RGB\u6570\u7EC4\u5FC5\u987B\u5305\u542B\u4E14\u4EC5\u5305\u542B3\u4E2A\u503C");if(!m.every(t=>Number.isInteger(t)&&t>=0&&t<=255))throw new Error("RGB\u503C\u5FC5\u987B\u90FD\u662F0-255\u4E4B\u95F4\u7684\u6574\u6570");return `#${Er__default.default.rgb.hex(m)}`}function Ye(m){return m=String(m).toLowerCase(),Sr(Ar__default.default[m].color)??"#ededed"}async function Ur(m,t){return Promise.resolve(Array.from({length:Math.ceil(m.length/t)},(r,s)=>m.slice(s*t,s*t+t)))}async function _a(m){try{if(!m)return {total:0,contributions:[]};let t=/data-date="(.*?)" id="contribution-day-component/g,r=/<tool-tip .*?class="sr-only position-absolute">(.*?) contribution/g,s=Array.from(m.matchAll(t),n=>n[1]),o=Array.from(m.matchAll(r),n=>String(n[1]).toLowerCase()==="no"?0:parseInt(n[1]));if(!s.length||!o.length)return {total:0,contributions:[]};let e=s.map((n,i)=>({date:n,count:o[i]})).sort((n,i)=>n.date.localeCompare(i.date)),a=await Ur(e,7);return {total:o.reduce((n,i)=>n+i,0),contributions:a}}catch(t){throw new Error(`\u89E3\u6790\u8D21\u732E\u6570\u636E\u5931\u8D25: ${t.message}`)}}var qr,he=h(()=>{qr=new Set(["en"]);});async function Gr(){try{return await simpleGit.simpleGit().raw(["--version"])}catch{return null}}async function Xe(){return !!await Gr()}async function ha(m){try{if(!m)throw new Error(j);if(!await E(F__default.default.join(m))||!await E(F__default.default.join(m,".git")))return null;let r=await simpleGit.simpleGit(m).getRemotes(!0);if(r.length>0){let s=r[0].refs.push,{owner:o,repo:e,html_url:a}=D(s);return {name:F__default.default.basename(m),path:F__default.default.join(m),url:s,html_url:a,owner:o,repo:e,default_branch:await fa(m)}}return null}catch(t){throw new Error(`\u83B7\u53D6\u672C\u5730\u4ED3\u5E93\u4FE1\u606F\u5931\u8D25: ${t}`)}}async function Lr(m,t={loop:false,maxDepth:5,dir:[]}){let{loop:r=false,maxDepth:s=5,dir:o=[]}=t,e=async(a,n=0)=>{try{if(!await E(a))return [];if(!(await ae__default.default.promises.stat(a)).isDirectory())return [];let l=[],u=await ha(a);if(u&&l.push(u),r&&n<s){let _=await ae__default.default.promises.readdir(a,{withFileTypes:!0}),T=await Promise.all(_.filter(y=>y.isDirectory()&&!o.includes(y.name)).map(async y=>{let c=F__default.default.join(a,y.name);return await e(c,n+1)}));l.push(...T.flat());}return l}catch{return []}};try{if(!m)throw new Error(j);if(m=F__default.default.resolve(m).replace(/\\/g,"/"),!await E(m))throw new Error(Y(m));if(!await Xe())throw new Error(de);let a=await e(m);return {total:a.length,items:a}}catch(a){throw new Error(`\u83B7\u53D6\u672C\u5730\u76EE\u5F55git\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${a.message}`)}}async function fa(m){if(!m)throw new Error(j);try{if(!await Xe())throw new Error(de);let t=F__default.default.join(m);if(!await E(t))throw new Error(Y(t));let o=await simpleGit.simpleGit(m).revparse(["--abbrev-ref","HEAD"]);if(!o)throw new Error("\u55B5\u545C~, \u65E0\u6CD5\u83B7\u53D6\u4ED3\u5E93\u5206\u652F\u4FE1\u606F\uFF0C\u8BF7\u786E\u4FDD\u4ED3\u5E93\u5DF2\u521D\u59CB\u5316");return o.trim()}catch(t){throw new Error(`\u83B7\u53D6\u672C\u5730\u4ED3\u5E93\u9ED8\u8BA4\u5206\u652F\u5931\u8D25: ${t.message}`)}}async function se(m){if(!m)throw new Error(xt);try{if(!await Xe())throw new Error(de);let t=new URL(m),{owner:r,repo:s}=D(t.href);if(!(r||s))throw new Error(Et(t.href));let a=(await simpleGit.simpleGit().raw(["ls-remote","--symref",m,"HEAD"])).match(/^ref: refs\/heads\/([^\t\n]+)/m);if(!a)throw new Error("\u55B5\u545C~, \u65E0\u6CD5\u4ECE\u8FDC\u7A0B\u4ED3\u5E93\u83B7\u53D6\u9ED8\u8BA4\u5206\u652F\u4FE1\u606F");return a[1]}catch(t){throw new Error(`\u83B7\u53D6\u8FDC\u7A0B\u4ED3\u5E93\u9ED8\u8BA4\u5206\u652F\u5931\u8D25: ${t.message}`)}}var wa=h(()=>{Ke();he();});async function Nr(){let m=new Dr__default.default({html:true,breaks:true});return m.use(markdownItEmoji.full),m.use(pluginTasklist.tasklist),m.renderer.rules.bullet_list_open=()=>'<ul style="list-style: none;">',Promise.resolve(m)}async function Br(m){let t=await Nr();return Promise.resolve(t.render(m))}var ba=h(()=>{});function Ra(m){if(lodash.isString(m))return m;if(lodash.isObject(m))return m.url}async function Ta(m,t,r){let s=D(r);return {name:m.name,path:t,html_url:s.html_url,owner:s.owner,repo:s.repo,default_branch:await se(r)}}async function Pa(m){try{if(!m)return null;let t=F__default.default.join(process.cwd(),"node_modules",m);try{let{stdout:e}=await Je(`npm view ${m} --json`);if(e&&!lodash.isEmpty(e)){let a=JSON.parse(e),n=Ra(a.repository)?.replace(/^git\+/,"");if(n)return await Ta(a,t,n)}}catch{}if(!await E(t))return null;let r=F__default.default.join(t,"package.json");if(!await E(r))return null;let s=await Ve(r);if(lodash.isEmpty(s))return null;let o=Ra(s.repository)?.replace(/^git\+/,"");return o?await Ta(s,t,o):null}catch{return null}}async function zr(m,t){let{packageName:r=[],prefix:s=""}=t??{};if(!F__default.default)throw new Error(j);if(!await E(m))throw new Error(Y(m));let o=F__default.default.join(m,"node_modules");if(!await E(o))return {total:0,items:[]};let e=[];try{let{stdout:l}=await Je("npm list --prod --depth=0 --json",{cwd:m});if(l&&!lodash.isEmpty(l)){let u=JSON.parse(l);u.dependencies&&(e=Object.keys(u.dependencies));}}catch{let u=F__default.default.join(m,"package.json");if(!await E(u))return {total:0,items:[]};let _=await Ve(u);if(lodash.isEmpty(_))return {total:0,items:[]};e=Object.keys(_.dependencies??{});}let n=e.filter(l=>!r.includes(l)).filter(l=>!s||l.startsWith(s)).map(l=>Pa(l)),i=(await Promise.all(n)).filter(l=>l!==null);return {total:i.length,items:i}}var ka=h(()=>{k();});var Ca,xa,Ia,Ea,va,Ma,Aa,qa,$a,Sa,Qe,Ua,Ga,La,Oa,Da=h(()=>{Ca="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u64A4\u9500\u6210\u529F",xa="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u6210\u529F",Ia="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u83B7\u53D6\u6210\u529F",Ea="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u6709\u6548",va=m=>`\u55B5\u545C~ \u79FB\u9664\u534F\u4F5C\u8005\u6210\u529F${m}\u54E6`,Ma=m=>`\u55B5\u545C~ \u5DE5\u4F5C\u6D41\u8FD0\u884C\u6210\u529F${m}\u54E6`,Aa=m=>`\u55B5\u545C~ \u5DE5\u4F5C\u6D41\u542F\u7528\u6210\u529F${m}\u54E6`,qa=m=>`\u55B5\u545C~ \u5DE5\u4F5C\u6D41\u7981\u7528\u6210\u529F${m}\u54E6`,$a=m=>`\u55B5\u545C~ \u5DE5\u4F5C\u6D41\u4EFB\u52A1\u91CD\u65B0\u8FD0\u884C\u6210\u529F${m}\u54E6`,Sa=m=>`\u55B5\u545C~ \u79FB\u9664\u7EC4\u7EC7\u6210\u5458${m}\u6210\u529F`,Qe="\u55B5\u545C~ \u8BAE\u9898\u89E3\u9501\u6210\u529F",Ua="\u55B5\u545C~ \u8BAE\u9898\u8BC4\u8BBA\u5220\u9664\u6210\u529F",Ga="\u55B5\u545C~ \u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u66F4\u65B0\u6210\u529F",La="\u55B5\u545C~ \u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u5220\u9664\u6210\u529F",Oa="\u55B5\u545C~ WebHook\u7B7E\u540D\u9A8C\u8BC1\u6210\u529F";});var Jr,Ha,Na=h(()=>{Jr=Object.freeze(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index.cjs', document.baseURI).href)))),Ha=Object.freeze(F__default.default.join(Jr,"../..").replace(/\\/g,"/"));});var ne,Ba=h(()=>{he();Na();ne=ca(`${Ha}/package.json`);});var k=h(()=>{Ke();wa();ba();ka();Da();he();Ba();});function Ze(m="github",t={}){if(!["github","gitee","gitcode"].includes(m))throw new Error(He);let{proxyUrl:s,proxyType:o="original"}=t,e={github:"api.github.com",gitee:"gitee.com/api/v5",gitcode:"api.gitcode.com/api/v5"},a=`https://${e[m]}`;if(o!=="original"){if(!s)throw new Error(De);if(!s.startsWith("http"))throw new Error(Ne);let n=s.replace(/(^\/|\/$)/g,"");return o==="common"?`${n}/${e[m]}`:n}return a.replace(/\/$/,"")}function V(m="github",t={}){if(!["github","gitee","gitcode"].includes(m))throw new Error(He);let{proxyUrl:s,proxyType:o="original"}=t,e={github:"github.com",gitee:"gitee.com",gitcode:"gitcode.com"},a=`https://${e[m]}`;if(o!=="original"){if(!s)throw new Error(De);if(!s.startsWith("http"))throw new Error(Ne);let n=s.replace(/(^\/|\/$)/g,"");return o==="common"?`${n}/${e[m]}`:n}return a.replace(/\/$/,"")}async function Yr(){return Promise.resolve(uuid.v4().replace(/-/g,""))}var et=h(()=>{k();});var be,tt=h(()=>{k();be=class{baseUrl;tokenType;authorization;proxy;defaultHeaders;constructor(t,r="Bearer",s,o,e){this.baseUrl=t.replace(/\/$/,""),this.authorization=s,this.proxy=o,this.tokenType=r,this.defaultHeaders=e;}async request(t,r,s,o,e){let a=`${this.baseUrl}/${r}`.replace(/\/+/g,"/"),n={headers:this.createHeaders(e),params:s,validateStatus:()=>true};if(this.proxy){let i=this.proxy.type,l=this.proxy.address;switch(i){case "http":n.httpAgent=new httpProxyAgent.HttpProxyAgent(l),n.httpsAgent=new httpsProxyAgent.HttpsProxyAgent(l);break;case "https":n.httpsAgent=new httpsProxyAgent.HttpsProxyAgent(l);break;case "socks":case "socks5":{let u=new socksProxyAgent.SocksProxyAgent(l);n.httpAgent=u,n.httpsAgent=u;break}}}try{let i;switch(t){case "get":i=await ie__default.default.get(a,n);break;case "post":i=await ie__default.default.post(a,o,n);break;case "patch":i=await ie__default.default.patch(a,o,n);break;case "put":i=await ie__default.default.put(a,o,n);break;case "delete":i=await ie__default.default.delete(a,{...n,data:o});break;default:throw new Error(`\u4E0D\u652F\u6301\u7684\u8BF7\u6C42\u65B9\u6CD5: ${t}`)}let l=Object.fromEntries(Object.entries(i.headers).filter(([u,_])=>_!==void 0).map(([u,_])=>[u.toLowerCase(),_]));return {success:!0,statusCode:i.status,headers:l,data:i.data,msg:i.status>=200&&i.status<500?"\u8BF7\u6C42\u6210\u529F":"\u8BF7\u6C42\u5F02\u5E38"}}catch(i){let l=i,u=l.response?.headers?Object.fromEntries(Object.entries(l.response.headers).filter(([_,T])=>T!==void 0).map(([_,T])=>[_,T])):{};return {success:false,statusCode:l.response?.status??500,headers:u,msg:l.message??"\u7F51\u7EDC\u8FDE\u63A5\u5931\u8D25",data:null}}}async get(t,r,s){return this.request("get",t,r,null,s)}async post(t,r,s,o){return this.request("post",t,r,s,o)}async patch(t,r=null,s,o){return this.request("patch",t,r,s,o)}async put(t,r,s,o){return this.request("put",t,r,s,o)}async delete(t,r=null,s,o){return this.request("delete",t,r,s,o)}createHeaders(t){let s={"Content-Type":"application/json","User-Agent":`${ne.name.includes("/")?ne.name.split("/").pop():ne.name}/v${ne.version}`,...this.defaultHeaders??{}};if(this.authorization)if(this.tokenType==="Basic"){let o=Buffer.from(this.authorization).toString("base64");s.Authorization=`Basic ${o}`;}else this.tokenType==="Bearer"?s.Authorization=`Bearer ${this.authorization}`:s.Authorization=`${this.tokenType} ${this.authorization}`;return t&&Object.assign(s,t),s}};});var Re=h(()=>{et();tt();});exports.ProxyType=void 0;exports.ProxyProtocol=void 0;var Fa=h(()=>{exports.ProxyType=(s=>(s.Reverse="reverse",s.Original="original",s.Common="common",s))(exports.ProxyType||{}),exports.ProxyProtocol=(o=>(o.HTTP="http",o.HTTPS="https",o.SOCKS="socks",o.SOCKS5="socks5",o))(exports.ProxyProtocol||{});});var za=h(()=>{});var ja=h(()=>{});var Ka=h(()=>{});var Ja=h(()=>{});var Va=h(()=>{});var Ya=h(()=>{});var Xa=h(()=>{Fa();za();ja();Ka();Ja();Va();Ya();});var Qa=h(()=>{});var Za=h(()=>{});var rt=h(()=>{});var er=h(()=>{});var tr=h(()=>{});exports.WorkflowState=void 0;var ar=h(()=>{exports.WorkflowState=(e=>(e.Active="active",e.Deleted="deleted",e.DisabledFork="disabled_fork",e.DisabledInactivity="disabled_inactivity",e.DisabledManually="disabled_manually",e))(exports.WorkflowState||{});});var rr=h(()=>{rt();er();tr();ar();});var sr=h(()=>{});var or=h(()=>{});var nr=h(()=>{});var ir=h(()=>{});var lr=h(()=>{});var pr=h(()=>{});var ur=h(()=>{});var dr=h(()=>{});var mr=h(()=>{Za();rt();rr();sr();or();nr();ir();lr();pr();ur();dr();});var pe=h(()=>{Xa();Qa();mr();});var cr={};A(cr,{Auth:()=>Te});var Te,st=h(()=>{k();v();Te=class extends exports.GitHubClient{constructor(t){super(t),this.userToken=t.userToken,this.api_url=t.api_url,this.base_url=t.base_url;}async get_token_by_code(t){if(!this.is_app_client)throw new Error(x);if(!t.code)throw new Error(Le);try{this.setRequestConfig({url:this.base_url});let r=await this.post("/login/oauth/access_token",{client_id:this.Client_ID,client_secret:this.Client_Secret,code:t.code},{Accept:"application/json"}),s=r.status==="ok"&&r.statusCode===200&&!r.data.error;if(!s)throw new Error(qt);if(r.data){let o={success:s,message:Ia,access_token:r.data.access_token,expires_in:r.data.expires_in??null,refresh_token:r.data.refresh_token??null,refresh_token_expires_in:r.data.refresh_token_expires_in??null,scope:r.data.scope,token_type:r.data.token_type};r.data=o;}return r}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${r.message}`)}}async check_token_status(t){try{if(!this.is_app_client)throw new Error(x);let r=t?.access_token??this.userToken;if(!r)throw new Error(vt);if(!r.startsWith("ghu_"))throw new Error(G);this.setRequestConfig({url:this.api_url,tokenType:"Basic",token:`${this.Client_ID}:${this.Client_Secret}`});let s=await this.post(`/applications/${this.Client_ID}/token`,{access_token:r}),o=!(s.status==="ok"&&(s.statusCode===404||s.statusCode===422)),e={success:o,message:o?Ea:Mt};return s.data=e,s}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u72B6\u6001\u5931\u8D25: ${r.message}`)}}async refresh_token(t){try{if(!this.is_app_client)throw new Error(x);if(!t.refresh_token)throw new Error(Le);if(!t.refresh_token.startsWith("ghr_"))throw new Error(Oe);this.setRequestConfig({url:this.base_url});let r=await this.post("/login/oauth/access_token",{client_id:this.Client_ID,client_secret:this.Client_Secret,grant_type:"refresh_token",refresh_token:t.refresh_token},{Accept:"application/json"}),s=r.status==="ok"&&r.statusCode===200&&!r.data.error,o=At;switch(r.data.error){case "bad_refresh_token":o=Oe;break;case "unauthorized":o=R;break}if(!s)throw new Error(o);if(r.data){let e={success:s,message:xa,access_token:r.data.access_token,expires_in:r.data.expires_in??null,refresh_token:r.data.refresh_token??null,refresh_token_expires_in:r.data.refresh_token_expires_in??null,scope:r.data.scope,token_type:r.data.token_type};r.data=e;}return r}catch(r){throw new Error(`[GitHub] \u5237\u65B0\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${r.message}`)}}async create_auth_link(t){try{if(!this.is_app_client)throw new Error(x);let r=new URL("/login/oauth/authorize",this.base_url);return r.search=new URLSearchParams({client_id:this.Client_ID,...t&&{state:t}}).toString(),Promise.resolve(r.toString())}catch(r){throw new Error(`[GitHub] \u751F\u6210\u6388\u6743\u94FE\u63A5\u5931\u8D25: ${r.message}`)}}};});var gr={};A(gr,{Commit:()=>ke});var ke,ot=h(()=>{k();v();ke=class extends exports.GitHubClient{constructor(t){super(t),this.userToken=t.userToken,this.api_url=t.api_url,this.base_url=t.base_url;}async get_commit_info(t){try{this.setRequestConfig({token:this.userToken});let r,s,o,e;if("url"in t){o=t.url;let n=D(o);r=n?.owner,s=n?.repo;}else if("owner"in t&&"repo"in t)r=t.owner,s=t.repo;else throw new Error(Be);t.sha?e=t.sha:e=await(await this.get_repo()).get_repo_default_branch({owner:r,repo:s});let a=await this.get(`/repos/${r}/${s}/commits/${e}`);switch(a.statusCode){case 401:throw new Error(C);case 404:throw new Error(We);case 422:throw new Error(Ut)}if(a.data){let[n,i]=await Promise.all([this.format?await p(a.data.commit.author.date):a.data.commit.author.date,this.format?await p(a.data.commit.committer.date):a.data.commit.committer.date]),l=a.data?.commit?.message,[u,..._]=l.split(`
|
2
2
|
`),T={html_url:a.data.html_url,sha:a.data.sha,comments_url:a.data.comments_url,commit:{url:a.data.commit.url,author:{id:a.data.author.id,login:a.data.author.login,name:lodash.isEmpty(a.data.commit.author.name)?null:a.data.commit.author.name,email:lodash.isEmpty(a.data.commit.author.email)?null:a.data.commit.author.email,avatar_url:a.data.author.avatar_url,html_url:a.data.author.html_url,type:lodash.capitalize(String(a.data.author.type).toLowerCase()),date:n},committer:{id:a.data.committer.id,login:a.data.committer.login,name:lodash.isEmpty(a.data.commit.committer.name)?null:a.data.commit.committer.name,email:lodash.isEmpty(a.data.commit.committer.email)?null:a.data.commit.committer.email,avatar_url:a.data.committer.avatar_url,html_url:a.data.committer.html_url,type:lodash.capitalize(String(a.data.committer.type).toLowerCase()),date:i},message:a.data.commit.message,...this.format&&{title:u,body:_.length>0?_.join(`
|
3
|
-
`):null},tree:{url:a.data.commit.tree.url,sha:a.data.commit.tree.sha}},parents:a.data.parents.map(y=>({sha:y.sha,url:y.url})),stats:{additions:a.data.stats.additions,deletions:a.data.stats.deletions,total:a.data.stats.total},files:a.data.files.map(y=>({sha:y.sha,filename:y.filename,status:y.status,additions:y.additions,deletions:y.deletions,changes:y.changes,blob_url:y.blob_url,raw_url:y.raw_url}))};a.data=T;}return a}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u63D0\u4EA4\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_commit_list(t){try{this.setRequestConfig({token:this.userToken});let r,s,o;if("url"in t){o=t.url;let l=D(o);r=l?.owner,s=l?.repo;}else if("owner"in t&&"repo"in t)r=t.owner,s=t.repo;else throw new Error(
|
3
|
+
`):null},tree:{url:a.data.commit.tree.url,sha:a.data.commit.tree.sha}},parents:a.data.parents.map(y=>({sha:y.sha,url:y.url})),stats:{additions:a.data.stats.additions,deletions:a.data.stats.deletions,total:a.data.stats.total},files:a.data.files.map(y=>({sha:y.sha,filename:y.filename,status:y.status,additions:y.additions,deletions:y.deletions,changes:y.changes,blob_url:y.blob_url,raw_url:y.raw_url}))};a.data=T;}return a}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u63D0\u4EA4\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_commit_list(t){try{this.setRequestConfig({token:this.userToken});let r,s,o;if("url"in t){o=t.url;let l=D(o);r=l?.owner,s=l?.repo;}else if("owner"in t&&"repo"in t)r=t.owner,s=t.repo;else throw new Error(Be);let{...e}=t;if(t.sha)e.sha=t.sha;else {let u=await(await this.get_repo()).get_repo_default_branch({owner:r,repo:s});u&&(e.sha=u);}let a={};e.sha&&(a.sha=e.sha),e.path&&(a.path=e.path),e.author&&(a.author=e.author),e.since&&(a.since=e.since),e.until&&(a.until=e.until),e.per_page&&(a.per_page=e.per_page.toString()),e.page&&(a.page=e.page.toString());let n=`/repos/${r}/${s}/commits`,i=await this.get(n,a);switch(i.statusCode){case 401:throw new Error(C);case 404:throw new Error(We)}if(i.data){let l=await Promise.all(i.data.map(async u=>{let[_,...T]=u.commit.message.split(`
|
4
4
|
`);return {html_url:u.html_url,sha:u.sha,comments_url:u.comments_url,commit:{url:u.commit.url,author:{id:u.author.id,login:u.author.login,name:lodash.isEmpty(u.committer.name)?null:u.committer.name,email:lodash.isEmpty(u.committer.email)?null:u.committer.email,avatar_url:u.author.avatar_url,html_url:u.author.html_url,type:lodash.capitalize(String(u.author.type).toLowerCase()),date:this.format?await p(u.commit.author.date):u.commit.author.date},committer:{id:u.committer.id,login:u.committer.login,name:lodash.isEmpty(u.committer.name)?null:u.committer.name,email:lodash.isEmpty(u.committer.email)?null:u.committer.email,avatar_url:u.committer.avatar_url,html_url:u.committer.html_url,type:lodash.capitalize(String(u.committer.type).toLowerCase()),date:this.format?await p(u.commit.committer.date):u.commit.committer.date},message:u.commit.message,...this.format&&{title:_,body:T.length>0?T.join(`
|
5
|
-
`):null},tree:{url:u.commit.tree.url,sha:u.commit.tree.sha}},parents:u.parents.map(y=>({sha:y.sha,url:y.url})),stats:{additions:u.stats.additions,deletions:u.stats.deletions,total:u.stats.total},files:u.files.map(y=>({sha:y.sha,filename:y.filename,status:y.status,additions:y.additions,deletions:y.deletions,changes:y.changes,blob_url:y.blob_url,raw_url:y.raw_url}))}}));i.data=l;}return i}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u63D0\u4EA4\u5217\u8868\u5931\u8D25: ${r.message}`)}}};});var cr={};A(cr,{Issue:()=>ke});var ke,ot=f(()=>{k();v();ke=class extends exports.GitHubClient{constructor(t){super(t),this.userToken=t.userToken,this.api_url=t.api_url,this.base_url=t.base_url;}async get_issue_info(t){if(!t.owner||!t.repo)throw new Error(h);if(!t.issue_number)throw new Error(O);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,issue_number:o}=t,e=await this.get(`/repos/${r}/${s}/issues/${Number(o)}`);switch(e.statusCode){case 404:throw new Error(S);case 301:throw new Error(jt)}if(e.data){let[a,n,i,l,u,_,T]=await Promise.all([this.format?p(e.data.created_at):e.data.created_at,this.format?p(e.data.updated_at):e.data.updated_at,lodash.isEmpty(e.data.closed_at)?null:this.format?await p(e.data.closed_at):e.data.closed_at,this.format?await p(e.data.milestone.created_at):e.data.milestone.created_at,this.format?await p(e.data.milestone.updated_at):e.data.milestone.updated_at,lodash.isEmpty(e.data.milestone.closed_at)?null:this.format?await p(e.data.milestone.closed_at):e.data.milestone.closed_at,lodash.isEmpty(e.data.milestone.due_on)?null:this.format?await p(e.data.milestone.due_on):e.data.milestone.due_on]),y={id:e.data.id,html_url:e.data.html_url,number:e.data.number,state:e.data.state,title:e.data.title,body:e.data.body,user:{id:e.data.user.id,login:e.data.user.login,name:lodash.isEmpty(e.data.user.name)?null:e.data.user.name,email:lodash.isEmpty(e.data.user.email)?null:e.data.user.email,html_url:e.data.user.html_url,avatar_url:e.data.user.avatar_url},labels:lodash.isEmpty(e.data.labels)?null:e.data.labels.map(c=>({id:c.id,name:c.name,color:c.color})),assignee:lodash.isEmpty(e.data.assignee)?null:{id:e.data.assignee.id,login:e.data.assignee.login,name:lodash.isEmpty(e.data.assignee.name)?null:e.data.assignee.name,email:lodash.isEmpty(e.data.assignee.email)?null:e.data.assignee.email,html_url:e.data.assignee.html_url,avatar_url:e.data.assignee.avatar_url},assignees:lodash.isEmpty(e.data.assignees)?null:e.data.assignees.map(c=>({id:c.id,login:c.login,name:lodash.isEmpty(c.name)?null:c.name,email:lodash.isEmpty(c.email)?null:c.email,html_url:c.html_url,avatar_url:c.avatar_url})),milestone:lodash.isEmpty(e.data.milestone)?null:{id:e.data.milestone.id,url:e.data.milestone.url,number:e.data.milestone.number,state:e.data.milestone.state,title:e.data.milestone.title,description:e.data.milestone.description,open_issues:e.data.milestone.open_issues,closed_issues:e.data.milestone.closed_issues,created_at:l,updated_at:u,closed_at:_,due_on:T},created_at:a,updated_at:n,closed_at:i};e.data=y;}return e}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u8BAE\u9898\u8BE6\u60C5\u5931\u8D25: ${r.message}`)}}async get_issues_list(t){if(!t.owner||!t.repo)throw new Error(h);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,...o}=t,e={};o.milestone&&(e.milestone=o.milestone.toString()),o.state&&(e.state=o.state),o.assignee&&(e.assignee=o.assignee),o.creator&&(e.creator=o.creator),o.labels&&(e.labels=o.labels),o.sort&&(e.sort=o.sort),o.direction&&(e.direction=o.direction),o.since&&(e.since=o.since),o.per_page&&(e.per_page=o.per_page.toString()),o.page&&(e.page=o.page.toString());let a=`/repos/${r}/${s}/issues`,n=await this.get(a,e);if(n.statusCode===401)throw new Error(R);if(n.data){let i=await Promise.all(n.data.map(async l=>({id:l.id,html_url:l.html_url,number:l.number,state:l.state,title:l.title,body:l.body,user:{id:l.user.id,login:l.user.login,name:lodash.isEmpty(l.user.name)?null:l.user.name,email:lodash.isEmpty(l.user.email)?null:l.user.email,html_url:l.user.html_url,avatar_url:l.user.avatar_url},labels:lodash.isEmpty(l.labels)?null:l.labels.map(u=>({id:u.id,name:u.name,color:u.color})),assignee:lodash.isEmpty(l.assignee)?null:{id:l.assignee.id,login:l.assignee.login,name:lodash.isEmpty(l.assignee.name)?null:l.assignee.name,email:lodash.isEmpty(l.assignee.email)?null:l.assignee.email,html_url:l.assignee.html_url,avatar_url:l.assignee.avatar_url},assignees:lodash.isEmpty(l.assignees)?null:l.assignees.map(u=>({id:u.id,login:u.login,name:lodash.isEmpty(u.name)?null:u.name,email:lodash.isEmpty(u.email)?null:u.email,html_url:u.html_url,avatar_url:u.avatar_url})),milestone:lodash.isEmpty(l.milestone)?null:{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:this.format?await p(l.milestone.created_at):l.milestone.created_at,updated_at:this.format?await p(l.milestone.updated_at):l.milestone.updated_at,closed_at:l.milestone.closed_at?this.format?await p(l.milestone.closed_at):l.milestone.closed_at:null,due_on:l.milestone.due_on?this.format?await p(l.milestone.due_on):l.milestone.due_on:null},created_at:this.format?await p(n.data.created_at):n.data.created_at,updated_at:this.format?await p(n.data.updated_at):n.data.updated_at,closed_at:n.data.closed_at?this.format?await p(n.data.closed_at):n.data.closed_at:null})));n.data=i;}return n}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u7684\u8BAE\u9898\u5217\u8868\u5931\u8D25: ${r.message}`)}}async create_issue(t){if(!t.owner||!t.repo)throw new Error(h);if(!t.title)throw new Error(Vt);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,...o}=t,e={...o,...o.labels&&{labels:Array.isArray(o.labels)?o.labels:[o.labels]},...o.assignees&&{assignees:Array.isArray(o.assignees)?o.assignees:[o.assignees]}},a=await this.post(`/repos/${r}/${s}/issues`,e);switch(a.statusCode){case 403:throw new Error(R);case 301:throw new Error(I)}if(a.data&&a.data){let[n,i,l,u,_,T,y]=await Promise.all([this.format?p(a.data.created_at):a.data.created_at,this.format?p(a.data.updated_at):a.data.updated_at,lodash.isEmpty(a.data.closed_at)?null:this.format?await p(a.data.closed_at):a.data.closed_at,this.format?await p(a.data.milestone.created_at):a.data.milestone.created_at,this.format?await p(a.data.milestone.updated_at):a.data.milestone.updated_at,lodash.isEmpty(a.data.milestone.closed_at)?null:this.format?await p(a.data.milestone.closed_at):a.data.milestone.closed_at,lodash.isEmpty(a.data.milestone.due_on)?null:this.format?await p(a.data.milestone.due_on):a.data.milestone.due_on]),c={id:a.data.id,html_url:a.data.html_url,number:a.data.number,state:a.data.state,title:a.data.title,body:a.data.body,user:{id:a.data.user.id,login:a.data.user.login,name:lodash.isEmpty(a.data.user.name)?null:a.data.user.name,email:lodash.isEmpty(a.data.user.email)?null:a.data.user.email,html_url:a.data.user.html_url,avatar_url:a.data.user.avatar_url},labels:lodash.isEmpty(a.data.labels)?null:a.data.labels.map(g=>({id:g.id,name:g.name,color:g.color})),assignee:lodash.isEmpty(a.data.assignee)?null:{id:a.data.assignee.id,login:a.data.assignee.login,name:lodash.isEmpty(a.data.assignee.name)?null:a.data.assignee.name,email:lodash.isEmpty(a.data.assignee.email)?null:a.data.assignee.email,html_url:a.data.assignee.html_url,avatar_url:a.data.assignee.avatar_url},assignees:lodash.isEmpty(a.data.assignees)?null:a.data.assignees.map(g=>({id:g.id,login:g.login,name:lodash.isEmpty(g.name)?null:g.name,email:lodash.isEmpty(g.email)?null:g.email,html_url:g.html_url,avatar_url:g.avatar_url})),milestone:lodash.isEmpty(a.data.milestone)?null:{id:a.data.milestone.id,url:a.data.milestone.url,number:a.data.milestone.number,state:a.data.milestone.state,title:a.data.milestone.title,description:a.data.milestone.description,open_issues:a.data.milestone.open_issues,closed_issues:a.data.milestone.closed_issues,created_at:u,updated_at:_,closed_at:T,due_on:y},created_at:n,updated_at:i,closed_at:l};a.data=c;}return a}catch(r){throw new Error(`[GitHub]\u521B\u5EFA\u8BAE\u9898\u5931\u8D25: ${r.message}`)}}async update_issue(t){if(!t.owner||!t.repo)throw new Error(h);if(!t.issue_number)throw new Error(O);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,issue_number:o,...e}=t,a={...e,...e.labels&&{labels:Array.isArray(e.labels)?e.labels:[e.labels]},...e.assignees&&{assignees:Array.isArray(e.assignees)?e.assignees:[e.assignees]}},n=await this.patch(`/repos/${r}/${s}/issues/${Number(o)}`,null,a);switch(n.statusCode){case 404:throw new Error(S);case 403:throw new Error(R);case 301:throw new Error(I)}if(n.data&&n.data){let[i,l,u,_,T,y,c]=await Promise.all([this.format?p(n.data.created_at):n.data.created_at,this.format?p(n.data.updated_at):n.data.updated_at,lodash.isEmpty(n.data.closed_at)?null:this.format?await p(n.data.closed_at):n.data.closed_at,this.format?await p(n.data.milestone.created_at):n.data.milestone.created_at,this.format?await p(n.data.milestone.updated_at):n.data.milestone.updated_at,lodash.isEmpty(n.data.milestone.closed_at)?null:this.format?await p(n.data.milestone.closed_at):n.data.milestone.closed_at,lodash.isEmpty(n.data.milestone.due_on)?null:this.format?await p(n.data.milestone.due_on):n.data.milestone.due_on]),g={id:n.data.id,html_url:n.data.html_url,number:n.data.number,state:n.data.state,title:n.data.title,body:n.data.body,user:{id:n.data.user.id,login:n.data.user.login,name:lodash.isEmpty(n.data.user.name)?null:n.data.user.name,email:lodash.isEmpty(n.data.user.email)?null:n.data.user.email,html_url:n.data.user.html_url,avatar_url:n.data.user.avatar_url},labels:lodash.isEmpty(n.data.labels)?null:n.data.labels.map(b=>({id:b.id,name:b.name,color:b.color})),assignee:lodash.isEmpty(n.data.assignee)?null:{id:n.data.assignee.id,login:n.data.assignee.login,name:lodash.isEmpty(n.data.assignee.name)?null:n.data.assignee.name,email:lodash.isEmpty(n.data.assignee.email)?null:n.data.assignee,html_url:n.data.assignee.html_url,avatar_url:n.data.assignee.avatar_url},assignees:lodash.isEmpty(n.data.assignees)?null:n.data.assignees.map(b=>({id:b.id,login:b.login,name:lodash.isEmpty(b.name)?null:b.name,email:lodash.isEmpty(b.email)?null:b.email,html_url:b.html_url,avatar_url:b.avatar_url})),milestone:lodash.isEmpty(n.data.milestone)?null:{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:_,updated_at:T,closed_at:y,due_on:c},created_at:i,updated_at:l,closed_at:u};n.data=g;}return n}catch(r){throw new Error(`[GitHub] \u66F4\u65B0\u8BAE\u9898\u5931\u8D25: ${r.message}`)}}async open_issue(t){if(!t.owner||!t.repo)throw new Error(h);if(!t.issue_number)throw new Error(O);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,issue_number:o}=t,e=await this.patch(`/repos/${r}/${s}/issues/${o}`,null,{state:"open"});switch(e.statusCode){case 404:throw new Error(S);case 403:throw new Error(R);case 301:throw new Error(I)}if(e.data&&e.data){let[a,n,i,l,u,_,T]=await Promise.all([this.format?p(e.data.created_at):e.data.created_at,this.format?p(e.data.updated_at):e.data.updated_at,lodash.isEmpty(e.data.closed_at)?null:this.format?await p(e.data.closed_at):e.data.closed_at,this.format?await p(e.data.milestone.created_at):e.data.milestone.created_at,this.format?await p(e.data.milestone.updated_at):e.data.milestone.updated_at,lodash.isEmpty(e.data.milestone.closed_at)?null:this.format?await p(e.data.milestone.closed_at):e.data.milestone.closed_at,lodash.isEmpty(e.data.milestone.due_on)?null:this.format?await p(e.data.milestone.due_on):e.data.milestone.due_on]),y={id:e.data.id,html_url:e.data.html_url,number:e.data.number,state:e.data.state,title:e.data.title,body:e.data.body,user:{id:e.data.user.id,login:e.data.user.login,name:lodash.isEmpty(e.data.user.name)?null:e.data.user.name,email:lodash.isEmpty(e.data.user.email)?null:e.data.user.email,html_url:e.data.user.html_url,avatar_url:e.data.user.avatar_url},labels:lodash.isEmpty(e.data.labels)?null:e.data.labels.map(c=>({id:c.id,name:c.name,color:c.color})),assignee:lodash.isEmpty(e.data.assignee)?null:{id:e.data.assignee.id,login:e.data.assignee.login,name:lodash.isEmpty(e.data.assignee.name)?null:e.data.assignee.name,email:lodash.isEmpty(e.data.assignee.email)?null:e.data.assignee.email,html_url:e.data.assignee.html_url,avatar_url:e.data.assignee.avatar_url},assignees:lodash.isEmpty(e.data.assignees)?null:e.data.assignees.map(c=>({id:c.id,login:c.login,name:lodash.isEmpty(c.name)?null:c.name,email:lodash.isEmpty(c.email)?null:c.email,html_url:c.html_url,avatar_url:c.avatar_url})),milestone:lodash.isEmpty(e.data.milestone)?null:{id:e.data.milestone.id,url:e.data.milestone.url,number:e.data.milestone.number,state:e.data.milestone.state,title:e.data.milestone.title,description:e.data.milestone.description,open_issues:e.data.milestone.open_issues,closed_issues:e.data.milestone.closed_issues,created_at:l,updated_at:u,closed_at:_,due_on:T},created_at:a,updated_at:n,closed_at:i};e.data=y;}return e}catch(r){throw new Error(`[GitHub] \u6253\u5F00\u8BAE\u9898\u5931\u8D25: ${r.message}`)}}async reopen_issue(t){return this.open_issue(t)}async close_issue(t){if(!t.owner||!t.repo)throw new Error(h);if(!t.issue_number)throw new Error(O);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,issue_number:o}=t,e=await this.patch(`/repos/${r}/${s}/issues/${o}`,null,{state:"closed"});switch(e.statusCode){case 404:throw new Error(S);case 403:throw new Error(R);case 301:throw new Error(I)}if(e.data){let[a,n,i,l,u,_,T]=await Promise.all([this.format?p(e.data.created_at):e.data.created_at,this.format?p(e.data.updated_at):e.data.updated_at,lodash.isEmpty(e.data.closed_at)?null:this.format?await p(e.data.closed_at):e.data.closed_at,this.format?await p(e.data.milestone.created_at):e.data.milestone.created_at,this.format?await p(e.data.milestone.updated_at):e.data.milestone.updated_at,lodash.isEmpty(e.data.milestone.closed_at)?null:this.format?await p(e.data.milestone.closed_at):e.data.milestone.closed_at,lodash.isEmpty(e.data.milestone.due_on)?null:this.format?await p(e.data.milestone.due_on):e.data.milestone.due_on]),y={id:e.data.id,html_url:e.data.html_url,number:e.data.number,state:e.data.state,title:e.data.title,body:e.data.body,user:{id:e.data.user.id,login:e.data.user.login,name:lodash.isEmpty(e.data.user.name)?null:e.data.user.name,email:lodash.isEmpty(e.data.user.email)?null:e.data.user.email,html_url:e.data.user.html_url,avatar_url:e.data.user.avatar_url},labels:lodash.isEmpty(e.data.labels)?null:e.data.labels.map(c=>({id:c.id,name:c.name,color:c.color})),assignee:lodash.isEmpty(e.data.assignee)?null:{id:e.data.assignee.id,login:e.data.assignee.login,name:lodash.isEmpty(e.data.assignee.name)?null:e.data.assignee.name,email:lodash.isEmpty(e.data.assignee.email)?null:e.data.assignee.email,html_url:e.data.assignee.html_url,avatar_url:e.data.assignee.avatar_url},assignees:lodash.isEmpty(e.data.assignees)?null:e.data.assignees.map(c=>({id:c.id,login:c.login,name:lodash.isEmpty(c.name)?null:c.name,email:lodash.isEmpty(c.email)?null:c.email,html_url:c.html_url,avatar_url:c.avatar_url})),milestone:lodash.isEmpty(e.data.milestone)?null:{id:e.data.milestone.id,url:e.data.milestone.url,number:e.data.milestone.number,state:e.data.milestone.state,title:e.data.milestone.title,description:e.data.milestone.description,open_issues:e.data.milestone.open_issues,closed_issues:e.data.milestone.closed_issues,created_at:l,updated_at:u,closed_at:_,due_on:T},created_at:a,updated_at:n,closed_at:i};e.data=y;}return e}catch(r){throw new Error(`[GitHub] \u5173\u95ED\u8BAE\u9898\u5931\u8D25: ${r.message}`)}}async lock_issue(t){if(!t.owner||!t.repo)throw new Error(h);if(!t.issue_number)throw new Error(O);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,issue_number:o,lock_reason:e}=t,a=await this.put(`/repos/${r}/${s}/issues/${Number(o)}`,{locked:!0,lock_reason:e});switch(a.statusCode){case 404:throw new Error(S);case 403:throw new Error(R);case 301:throw new Error(I)}let n;return a.statusCode===204?n={success:!0,message:Xe}:n={success:!1,message:Xt},a.data=n,a}catch(r){throw new Error(`[GitHub] \u9501\u5B9A\u8BAE\u9898\u5931\u8D25: ${r.message}`)}}async unlock_issue(t){if(!t.owner||!t.repo)throw new Error(h);if(!t.issue_number)throw new Error(O);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,issue_number:o}=t,e=await this.delete(`/repos/${r}/${s}/issues/${o}/lock`);switch(e.statusCode){case 404:throw new Error(S);case 403:throw new Error(R);case 301:throw new Error(I)}let a;return e.statusCode===204?a={success:!0,message:Xe}:a={success:!1,message:Qt},e.data=a,e}catch(r){throw new Error(`[GitHub] \u89E3\u9501\u8BAE\u9898\u5931\u8D25: ${r.message}`)}}async get_repo_comments_list(t){if(!t.owner||!t.repo)throw new Error(h);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,...o}=t,e={};o.sort&&(e.sort=o.sort),o.direction&&o.direction&&(e.direction=o.direction),o.since&&(e.since=o.since),o.per_page&&(e.per_page=o.per_page.toString()),o.page&&(e.page=o.page.toString());let a=`/repos/${r}/${s}/issues/comments/`,n=await this.get(a,e);if(n.statusCode===404)throw new Error(q);if(n.data){let i=await Promise.all(n.data.map(async l=>({id:l.id,html_url:l.html_url,body:l.body,user:{id:l.user.id,login:l.user.login,name:lodash.isEmpty(l.user.name)?null:l.user.name,email:lodash.isEmpty(l.user.email)?null:l.user.email,html_url:l.user.html_url,avatar_url:l.user.avatar_url},created_at:this.format?await p(l.created_at):l.created_at,updated_at:this.format?await p(l.updated_at):l.updated_at})));n.data=i;}return n}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${r.message}`)}}async get_issue_comments_list(t){if(!t.owner||!t.repo)throw new Error(h);if(!t.issue_number)throw new Error(O);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,issue_number:o,...e}=t,a={};e.since&&(a.since=e.since),e.per_page&&(a.per_page=e.per_page.toString()),e.page&&(a.page=e.page.toString());let n=`/repos/${r}/${s}/issues/${Number(o)}/comments`,i=await this.get(n,a);if(i.statusCode===404)throw new Error(q);if(i.data){let l=await Promise.all(i.data.map(async u=>({id:u.id,html_url:u.html_url,body:u.body,user:{id:u.user.id,login:u.user.login,name:lodash.isEmpty(u.user.name)?null:u.user.name,email:lodash.isEmpty(u.user.email)?null:u.user.email,html_url:u.user.html_url,avatar_url:u.user.avatar_url},created_at:this.format?await p(u.created_at):u.created_at,updated_at:this.format?await p(u.updated_at):u.updated_at})));i.data=l;}return i}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u8BAE\u9898\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${r.message}`)}}async get_issue_comment_info(t){if(!t.owner||!t.repo)throw new Error(h);if(!t.comment_id)throw new Error(me);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,comment_id:o}=t,e=await this.get(`/repos/${r}/${s}/issues/comments/${Number(o)}`);if(e.statusCode===404)throw new Error(q);if(e.data){let[a,n]=await Promise.all([this.format?await p(e.data.created_at):e.data.created_at,this.format?await p(e.data.updated_at):e.data.updated_at]),i={id:e.data.id,html_url:e.data.html_url,body:e.data.body,user:{id:e.data.user.id,login:e.data.user.login,name:lodash.isEmpty(e.data.user.name)?null:e.data.user.name,email:lodash.isEmpty(e.data.user.email)?null:e.data.user.email,html_url:e.data.user.html_url,avatar_url:e.data.user.avatar_url},created_at:a,updated_at:n};e.data=i;}return e}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async create_issue_comment(t){if(!t.owner||!t.repo)throw new Error(h);if(!t.issue_number)throw new Error(q);if(!t.body)throw new Error(Yt);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,issue_number:o,body:e}=t,a=await this.post(`/repos/${r}/${s}/issues/${Number(o)}/comments`,{body:e});if(a.statusCode===404)throw new Error(q);if(a.data){let[n,i]=await Promise.all([this.format?await p(a.data.created_at):a.data.created_at,this.format?await p(a.data.updated_at):a.data.updated_at]),l={id:a.data.id,html_url:`${this.base_url}/${r}/${s}/issues/${o}#${a.data.id}`,body:a.data.body,user:{id:a.data.user.id,login:a.data.user.login,name:lodash.isEmpty(a.data.user.name)?null:a.data.user.name,email:lodash.isEmpty(a.data.user.email)?null:a.data.user.email,html_url:a.data.user.html_url,avatar_url:a.data.user.avatar_url},created_at:n,updated_at:i};a.data=l;}return a}catch(r){throw new Error(`[GitHub] \u521B\u5EFA\u8BAE\u9898\u8BC4\u8BBA\u5931\u8D25: ${r.message}`)}}async update_issue_comment(t){if(!t.owner||!t.repo)throw new Error(h);if(!t.comment_id)throw new Error(me);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,comment_id:o,...e}=t,a=await this.patch(`/repos/${r}/${s}/issues/comments/${Number(o)}`,null,e);if(a.statusCode===404)throw new Error(q);if(a.data){let[n,i]=await Promise.all([this.format?await p(a.data.created_at):a.data.created_at,this.format?await p(a.data.updated_at):a.data.updated_at]),l={id:a.data.id,html_url:a.data.html_url,body:a.data.body,user:{id:a.data.user.id,login:a.data.user.login,name:lodash.isEmpty(a.data.user.name)?null:a.data.user.name,email:lodash.isEmpty(a.data.user.email)?null:a.data.user.email,html_url:a.data.user.html_url,avatar_url:a.data.user.avatar_url},created_at:n,updated_at:i};a.data=l;}return a}catch(r){throw new Error(`[GitHub] \u66F4\u65B0\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async remove_issue_comment(t){if(!t.owner||!t.repo)throw new Error(h);if(!t.comment_id)throw new Error(me);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,comment_id:o}=t,e=await this.delete(`/repos/${r}/${s}/issues/comments/${Number(o)}`);if(e.statusCode===404)throw new Error(q);let a;return e.statusCode===204?a={success:!0,message:$a}:a={success:!1,message:Zt},e.data=a,e}catch(r){throw new Error(`[GitHub] \u5220\u9664\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async delete_issue_comment(t){return this.remove_issue_comment(t)}async get_sub_issue_list(t){if(!t.owner||!t.repo)throw new Error(h);if(!t.issue_number)throw new Error(q);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,issue_number:o,...e}=t,a={};e.per_page&&(a.per_page=e.per_page.toString()),e.page&&(a.page=e.page.toString());let n=`/repos/${r}/${s}/issues/${Number(o)}/sub_issues`,i=await this.get(n,a);if(i.statusCode===404)throw new Error(S);if(i.data){let l=await Promise.all(i.data.map(async u=>({id:u.id,html_url:u.html_url,number:u.number,state:u.state,title:u.title,body:u.body,user:{id:u.user.id,login:u.user.login,name:lodash.isEmpty(i.data.user.name)?null:i.data.user.name,email:lodash.isEmpty(i.data.user.email)?null:i.data.user.email,html_url:u.user.html_url,avatar_url:u.user.avatar_url},labels:lodash.isEmpty(u.labels)?null:u.labels.map(_=>({id:_.id,name:_.name,color:_.color})),assignee:lodash.isEmpty(u.assignee)?null:{id:u.assignee.id,login:u.assignee.login,name:lodash.isEmpty(i.data.assignee.name)?null:i.data.assignee.name,email:lodash.isEmpty(i.data.assignee.email)?null:i.data.assignee.email,html_url:u.assignee.html_url,avatar_url:u.assignee.avatar_url},assignees:lodash.isEmpty(u.assignees)?null:u.assignees.map(_=>({id:_.id,login:_.login,name:lodash.isEmpty(_.name)?null:_.name,email:lodash.isEmpty(_.email)?null:_.email,html_url:_.html_url,avatar_url:_.avatar_url})),milestone:lodash.isEmpty(u.milestone)?null:{id:u.milestone.id,url:u.milestone.url,number:u.milestone.number,state:u.milestone.state,title:u.milestone.title,description:u.milestone.description,open_issues:u.milestone.open_issues,closed_issues:u.milestone.closed_issues,created_at:this.format?await p(u.milestone.created_at):u.milestone.created_at,updated_at:this.format?await p(u.milestone.updated_at):u.milestone.updated_at,closed_at:u.milestone.closed_at?this.format?await p(u.milestone.closed_at):u.milestone.closed_at:null,due_on:u.milestone.due_on?this.format?await p(u.milestone.due_on):u.milestone.due_on:null},created_at:this.format?await p(u.created_at):u.created_at,updated_at:this.format?await p(u.updated_at):u.updated_at,closed_at:lodash.isEmpty(u.closed_at)?null:this.format?await p(u.closed_at):u.closed_at})));i.data=l;}return i}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u5B50\u8BAE\u9898\u5217\u8868\u5931\u8D25: ${r.message}`)}}async create_sub_issue(t){if(!t.owner||!t.repo)throw new Error(h);if(!t.issue_number)throw new Error(q);if(!t.sub_issue_id)throw new Error(ce);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,issue_number:o,sub_issue_id:e,replace_parent:a}=t,n=await this.post(`/repos/${r}/${s}/issues/${o}/sub_issues`,{sub_issue_id:e,replace_parent:a});if(n.statusCode===404)throw new Error(S);if(n.data){let[i,l,u,_,T,y,c]=await Promise.all([this.format?p(n.data.created_at):n.data.created_at,this.format?p(n.data.updated_at):n.data.updated_at,lodash.isEmpty(n.data.closed_at)?null:this.format?await p(n.data.closed_at):n.data.closed_at,this.format?await p(n.data.milestone.created_at):n.data.milestone.created_at,this.format?await p(n.data.milestone.updated_at):n.data.milestone.updated_at,lodash.isEmpty(n.data.milestone.closed_at)?null:this.format?await p(n.data.milestone.closed_at):n.data.milestone.closed_at,lodash.isEmpty(n.data.milestone.due_on)?null:this.format?await p(n.data.milestone.due_on):n.data.milestone.due_on]),g={id:n.data.id,html_url:n.data.html_url,number:n.data.number,state:n.data.state,title:n.data.title,body:n.data.body,user:{id:n.data.user.id,login:n.data.user.login,name:lodash.isEmpty(n.data.user.name)?null:n.data.user.name,email:lodash.isEmpty(n.data.user.email)?null:n.data.user.email,html_url:n.data.user.html_url,avatar_url:n.data.user.avatar_url},labels:lodash.isEmpty(n.data.labels)?null:n.data.labels.map(b=>({id:b.id,name:b.name,color:b.color})),assignee:lodash.isEmpty(n.data.assignee)?null:{id:n.data.assignee.id,login:n.data.assignee.login,name:lodash.isEmpty(n.data.assignee.name)?null:n.data.assignee.name,email:lodash.isEmpty(n.data.assignee.email)?null:n.data.assignee.email,html_url:n.data.assignee.html_url,avatar_url:n.data.assignee.avatar_url},assignees:lodash.isEmpty(n.data.assignees)?null:n.data.assignees.map(b=>({id:b.id,login:b.login,name:lodash.isEmpty(b.name)?null:b.name,email:lodash.isEmpty(b.email)?null:b.email,html_url:b.html_url,avatar_url:b.avatar_url})),milestone:lodash.isEmpty(n.data.milestone)?null:{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:_,updated_at:T,closed_at:y,due_on:c},created_at:i,updated_at:l,closed_at:u};n.data=g;}return n}catch(r){throw new Error(`[GitHub] \u6DFB\u52A0\u5B50\u8BAE\u9898\u5931\u8D25: ${r.message}`)}}async add_sub_issue(t){return await this.create_sub_issue(t)}async remove_sub_issue(t){if(!t.owner||!t.repo)throw new Error(h);if(!t.issue_number)throw new Error(q);if(!t.sub_issue_id)throw new Error(ce);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,issue_number:o,sub_issue_id:e}=t,a=await this.delete(`/repos/${r}/${s}/issues/${o}/sub_issue`,null,{sub_issue_id:e});if(a.statusCode===404)throw new Error(S);if(a.data){let[n,i,l,u,_,T,y]=await Promise.all([this.format?p(a.data.created_at):a.data.created_at,this.format?p(a.data.updated_at):a.data.updated_at,lodash.isEmpty(a.data.closed_at)?null:this.format?await p(a.data.closed_at):a.data.closed_at,this.format?await p(a.data.milestone.created_at):a.data.milestone.created_at,this.format?await p(a.data.milestone.updated_at):a.data.milestone.updated_at,lodash.isEmpty(a.data.milestone.closed_at)?null:this.format?await p(a.data.milestone.closed_at):a.data.milestone.closed_at,lodash.isEmpty(a.data.milestone.due_on)?null:this.format?await p(a.data.milestone.due_on):a.data.milestone.due_on]),c={id:a.data.id,html_url:a.data.html_url,number:a.data.number,state:a.data.state,title:a.data.title,body:a.data.body,user:{id:a.data.user.id,login:a.data.user.login,name:lodash.isEmpty(a.data.user.name)?null:a.data.user.name,email:lodash.isEmpty(a.data.user.email)?null:a.data.user.email,html_url:a.data.user.html_url,avatar_url:a.data.user.avatar_url},labels:lodash.isEmpty(a.data.labels)?null:a.data.labels.map(g=>({id:g.id,name:g.name,color:g.color})),assignee:lodash.isEmpty(a.data.assignee)?null:{id:a.data.assignee.id,login:a.data.assignee.login,name:lodash.isEmpty(a.data.assignee.name)?null:a.data.assignee.name,email:lodash.isEmpty(a.data.assignee.email)?null:a.data.assignee.email,html_url:a.data.assignee.html_url,avatar_url:a.data.assignee.avatar_url},assignees:lodash.isEmpty(a.data.assignees)?null:a.data.assignees.map(g=>({id:g.id,login:g.login,name:lodash.isEmpty(g.name)?null:g.name,email:lodash.isEmpty(g.email)?null:g.email,html_url:g.html_url,avatar_url:g.avatar_url})),milestone:lodash.isEmpty(a.data.milestone)?null:{id:a.data.milestone.id,url:a.data.milestone.url,number:a.data.milestone.number,state:a.data.milestone.state,title:a.data.milestone.title,description:a.data.milestone.description,open_issues:a.data.milestone.open_issues,closed_issues:a.data.milestone.closed_issues,created_at:u,updated_at:_,closed_at:T,due_on:y},created_at:n,updated_at:i,closed_at:l};a.data=c;}return a}catch(r){throw new Error(`[GitHub] \u5220\u9664\u5B50\u8BAE\u9898\u5931\u8D25: ${r.message}`)}}async delete_sub_issue(t){return this.remove_sub_issue(t)}async reprioritize_sub_issue(t){if(!t.owner||!t.repo)throw new Error(h);if(!t.issue_number)throw new Error(q);if(!t.sub_issue_id)throw new Error(ce);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,issue_number:o,sub_issue_id:e,...a}=t,n={};a.before_id&&!a.after_id&&(n.before_id=a.before_id.toString()),a.after_id&&!a.before_id&&(n.after_id=a.after_id.toString());let i=`/repos/${r}/${s}/issues/${o}/sub_issues/priority`,l=await this.patch(i,n,{sub_issue_id:String(e)});if(l.statusCode===404)throw new Error(S);if(l.data){let[u,_,T,y,c,g,b]=await Promise.all([this.format?p(l.data.created_at):l.data.created_at,this.format?p(l.data.updated_at):l.data.updated_at,lodash.isEmpty(l.data.closed_at)?null:this.format?await p(l.data.closed_at):l.data.closed_at,this.format?await p(l.data.milestone.created_at):l.data.milestone.created_at,this.format?await p(l.data.milestone.updated_at):l.data.milestone.updated_at,lodash.isEmpty(l.data.milestone.closed_at)?null:this.format?await p(l.data.milestone.closed_at):l.data.milestone.closed_at,lodash.isEmpty(l.data.milestone.due_on)?null:this.format?await p(l.data.milestone.due_on):l.data.milestone.due_on]),Pr={id:l.data.id,html_url:l.data.html_url,number:l.data.number,state:l.data.state,title:l.data.title,body:l.data.body,user:{id:l.data.user.id,login:l.data.user.login,name:lodash.isEmpty(l.data.user.name)?null:l.data.user.name,email:lodash.isEmpty(l.data.user.email)?null:l.data.user.email,html_url:l.data.user.html_url,avatar_url:l.data.user.avatar_url},labels:lodash.isEmpty(l.data.labels)?null:l.data.labels.map(M=>({id:M.id,name:M.name,color:M.color})),assignee:lodash.isEmpty(l.data.assignee)?null:{id:l.data.assignee.id,login:l.data.assignee.login,name:lodash.isEmpty(l.data.assignee.name)?null:l.data.assignee.name,email:lodash.isEmpty(l.data.assignee.email)?null:l.data.assignee.email,html_url:l.data.assignee.html_url,avatar_url:l.data.assignee.avatar_url},assignees:lodash.isEmpty(l.data.assignees)?null:l.data.assignees.map(M=>({id:M.id,login:M.login,name:lodash.isEmpty(M.name)?null:M.name,email:lodash.isEmpty(M.email)?null:M.email,html_url:M.html_url,avatar_url:M.avatar_url})),milestone:lodash.isEmpty(l.data.milestone)?null:{id:l.data.milestone.id,url:l.data.milestone.url,number:l.data.milestone.number,state:l.data.milestone.state,title:l.data.milestone.title,description:l.data.milestone.description,open_issues:l.data.milestone.open_issues,closed_issues:l.data.milestone.closed_issues,created_at:y,updated_at:c,closed_at:g,due_on:b},created_at:u,updated_at:_,closed_at:T};l.data=Pr;}return l}catch(r){throw new Error(`[GitHub] \u91CD\u65B0\u6392\u5E8F\u5B50\u8BAE\u9898\u5931\u8D25: ${r.message}`)}}};});var gr={};A(gr,{Repo:()=>Ce});var Ce,nt=f(()=>{k();be();v();le();Ce=class extends exports.GitHubClient{constructor(t){super(t),this.userToken=t.userToken,this.api_url=t.api_url,this.base_url=t.base_url;}async get_org_repos_list(t){if(!t.org)throw new Error(Q);try{this.setRequestConfig({token:this.userToken});let{org:r,...s}=t,o={};s?.type&&(o.type=s.type),s?.sort&&(o.sort=s.sort),s?.direction&&(o.direction=s.direction),s?.per_page&&(o.per_page=s.per_page.toString()),s?.page&&(o.page=s.page.toString());let e=`/orgs/${r}/repos`,a=await this.get(e,o);switch(a.statusCode){case 404:throw new Error(Q);case 401:throw new Error(C)}if(a.data){let n=await Promise.all(a.data.map(async i=>({id:i.id,name:i.name,full_name:i.full_name,owner:{id:i.owner.id,login:i.owner.login,name:lodash.isEmpty(i.owner.name)?null:i.owner.name,avatar_url:i.owner.avatar_url,type:i.owner.type,html_url:i.owner.html_url},public:!i.private,private:i.private,visibility:i.private?"private":"public",fork:i.fork,archived:i.archived,disabled:i.disabled,html_url:i.html_url,description:i.description,stargazers_count:i.stargazers_count,watchers_count:i.watchers_count,language:i.language,forks_count:i.forks_count,open_issues_count:i.open_issues_count,default_branch:i.default_branch,created_at:this.format?await p(i.created_at):i.created_at,updated_at:this.format?await p(i.updated_at):i.updated_at,pushed_at:this.format?await p(i.pushed_at):i.pushed_at})));a.data=n;}return a}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u7EC4\u7EC7\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${r.message}`)}}async get_user_repos_list_by_token(t){try{this.setRequestConfig({token:this.userToken});let{...r}=t,s={};!t?.visibility&&!t?.affiliation&&r?.type&&(s.type=r.type),r?.visibility&&(s.visibility=r.visibility),r?.affiliation&&(s.affiliation=r.affiliation),r?.sort&&(s.sort=r.sort),r?.direction&&(s.direction=r.direction),r?.per_page&&(s.per_page=r.per_page.toString()),r?.page&&(s.page=r.page.toString());let e=await this.get("/uses/repos",s);if(e.statusCode===401)throw new Error(C);if(e.data){let a=await Promise.all(e.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:lodash.isEmpty(n.owner.name)?null:n.owner.name,avatar_url:n.owner.avatar_url,type:n.owner.type,html_url:n.owner.html_url},public:!n.private,private:n.private,visibility:n.private?"private":"public",fork:n.fork,archived:n.archived,disabled:n.disabled,html_url:n.html_url,description:n.description,stargazers_count:n.stargazers_count,watchers_count:n.watchers_count,language:n.language,forks_count:n.forks_count,open_issues_count:n.open_issues_count,default_branch:n.default_branch,created_at:this.format?await p(n.created_at):n.created_at,updated_at:this.format?await p(n.updated_at):n.updated_at,pushed_at:this.format?await p(n.pushed_at):n.pushed_at})));e.data=a;}return e}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u6388\u6743\u7528\u6237\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${r.message}`)}}async get_user_repos_list(t){try{if(!t.username)throw new Error($);this.setRequestConfig({token:this.userToken});let{username:r,...s}=t,o={};s?.type&&(o.type=s.type),s?.sort&&(o.sort=s.sort),s?.direction&&(o.direction=s.direction),s?.per_page&&(o.per_page=s.per_page.toString()),s?.page&&(o.page=s.page.toString());let e=`/users/${r}/repos`,a=await this.get(e,o);switch(a.statusCode){case 404:throw new Error(X);case 401:throw new Error(C)}if(a.data){let n=await Promise.all(a.data.map(async i=>({id:i.id,name:i.name,full_name:i.full_name,owner:{id:i.owner.id,login:i.owner.login,name:lodash.isEmpty(i.owner.name)?null:i.owner.name,avatar_url:i.owner.avatar_url,type:i.owner.type,html_url:i.owner.html_url},public:!i.private,private:i.private,visibility:i.private?"private":"public",fork:i.fork,archived:i.archived,disabled:i.disabled,html_url:i.html_url,description:i.description,stargazers_count:i.stargazers_count,watchers_count:i.watchers_count,language:i.language,forks_count:i.forks_count,open_issues_count:i.open_issues_count,default_branch:i.default_branch,created_at:this.format?await p(i.created_at):i.created_at,updated_at:this.format?await p(i.updated_at):i.updated_at,pushed_at:this.format?await p(i.pushed_at):i.pushed_at})));a.data=n;}return a}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u7528\u6237\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${r.message}`)}}async get_repo_info(t){if(!t.owner||!t.repo)throw new Error(h);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s}=t,o=await this.get(`/repos/${r}/${s}`);switch(o.statusCode){case 401:throw new Error(C);case 404:throw new Error(Z)}if(o.data){let e={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:lodash.isEmpty(o.data.owner.name)?null:o.data.owner.name,avatar_url:o.data.owner.avatar_url,type:o.data.owner.type,html_url:o.data.owner.html_url},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:this.format?await p(o.data.created_at):o.data.created_at,updated_at:this.format?await p(o.data.updated_at):o.data.updated_at,pushed_at:this.format?await p(o.data.pushed_at):o.data.pushed_at};o.data=e;}return o}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_repo_languages_list(t){if(!t.owner||!t.repo)throw new Error(h);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s}=t,o=await this.get(`/repos/${r}/${s}/languages`);switch(o.statusCode){case 401:throw new Error(C);case 404:throw new Error(I)}if(o.data){let e=Object.entries(o.data),a=e.reduce((l,[,u])=>l+u,0),i={languages:e.map(([l,u])=>({language:l,color:Ve(l.toLowerCase()),percent:Number((u/a*100).toFixed(2)),bytes:u}))};o.data=i;}return o}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5217\u8868\u5931\u8D25: ${r.message}`)}}async create_org_repo(t){try{let{org:r,...s}=t;if(!r||!t.name)throw new Error(Ft);let o={};o.name=s.name,s.description&&(o.description=s.description.toString()),s.homepage&&(o.homepage=s.homepage.toString()),s.visibility&&(o.private=s.visibility.toString()),s.has_wiki&&(o.has_wiki=s.has_wiki),s.auto_init&&(o.auto_init=s.auto_init);let e=await this.post(`/orgs/${r}/repos`,o);if(e.statusCode===401)throw new Error(C);if(e.data){let a={id:e.data.id,name:e.data.name,full_name:e.data.full_name,owner:{id:e.data.owner.id,login:e.data.owner.login,name:lodash.isEmpty(e.data.owner.name)?null:e.data.owner.name,avatar_url:e.data.owner.avatar_url,type:e.data.owner.type,html_url:e.data.owner.html_url},public:!e.data.private,private:e.data.private,visibility:e.data.private?"private":"public",fork:e.data.fork,archived:e.data.archived,disabled:e.data.disabled,html_url:e.data.html_url,description:e.data.description,stargazers_count:e.data.stargazers_count,watchers_count:e.data.watchers_count,language:e.data.language,forks_count:e.data.forks_count,open_issues_count:e.data.open_issues_count,default_branch:e.data.default_branch,created_at:this.format?await p(e.data.created_at):e.data.created_at,updated_at:this.format?await p(e.data.updated_at):e.data.updated_at,pushed_at:this.format?await p(e.data.pushed_at):e.data.pushed_at};e.data=a;}return e}catch(r){throw new Error(`[GitHub] \u521B\u5EFA\u7EC4\u7EC7\u4ED3\u5E93\u5931\u8D25: ${r.message}`)}}async create_user_repo(t){try{let{owner:r,...s}=t;if(!r||!t.name)throw new Error(h);let o={};o.name=s.name,s.description&&(o.description=s.description.toString()),s.homepage&&(o.homepage=s.homepage.toString()),s.visibility==="private"&&(o.private=!0),s.has_wiki&&(o.has_wiki=s.has_wiki),s.auto_init&&(o.auto_init=s.auto_init);let e=await this.post("/user/repos",o);if(e.statusCode===401)throw new Error(C);if(e.data){let a={id:e.data.id,name:e.data.name,full_name:e.data.full_name,owner:{id:e.data.owner.id,login:e.data.owner.login,name:lodash.isEmpty(e.data.owner.name)?null:e.data.owner.name,avatar_url:e.data.owner.avatar_url,type:e.data.owner.type,html_url:e.data.owner.html_url},public:!e.data.private,private:e.data.private,visibility:e.data.private?"private":"public",fork:e.data.fork,archived:e.data.archived,disabled:e.data.disabled,html_url:e.data.html_url,description:e.data.description,stargazers_count:e.data.stargazers_count,watchers_count:e.data.watchers_count,language:e.data.language,forks_count:e.data.forks_count,open_issues_count:e.data.open_issues_count,default_branch:e.data.default_branch,created_at:this.format?await p(e.data.created_at):e.data.created_at,updated_at:this.format?await p(e.data.updated_at):e.data.updated_at,pushed_at:this.format?await p(e.data.pushed_at):e.data.pushed_at};e.data=a;}return e}catch(r){throw new Error(`[GitHub] \u521B\u5EFA\u7528\u6237\u4ED3\u5E93\u5931\u8D25: ${r.message}`)}}async create_repo(t){return this.create_user_repo(t)}async get_collaborators_list(t){if(!t.owner||!t.repo)throw new Error(h);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s}=t,{...o}=t,e={};o.affiliation&&(e.milestone=o.affiliation.toString()),o.permission&&(e.permission=o.permission.toString()),o.per_page&&(e.per_page=o.per_page.toString()),o.page&&(e.page=o.page.toString());let a=await this.get(`/repos/${r}/${s}/collaborators`,e);if(a.data){let n=await Promise.all(a.data.map(i=>({id:i.id,login:i.login,avatar_url:i.avatar_url,email:i.email,name:lodash.isEmpty(i.name)?null:i.owner.name,permissions:i.permissions==="triage"||i.permissions==="maintain"?"admin":i.permissions})));a.data=n;}return a}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u534F\u4F5C\u8005\u5217\u8868\u5931\u8D25: ${r.message}`)}}async add_collaborator(t){if(!t.owner||!t.repo)throw new Error(h);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,username:o,permission:e}=t,a={};e==="pull"?a.permission="pull":e==="push"?a.permission="push":e==="admin"?a.permission="admin":a.permission="pull";let n=await this.put(`/repos/${r}/${s}/collaborators/${o}`,a);if(n.statusCode===404)throw new Error(C);if(n.statusCode===422){let i=n.data.message;if(i&&i.includes("is not a valid permission"))throw new Error(R)}if(n.data){let i={id:n.data.inviter.id,login:n.data.inviter.login,name:lodash.isEmpty(n.data.inviter.name)?null:n.data.inviter.name,html_url:n.data.repository.html_url,permissions:n.data.permissions};n.data=i;}return n}catch(r){throw new Error(`[GitHub] \u6DFB\u52A0\u534F\u4F5C\u8005\u5931\u8D25: ${r.message}`)}}async remove_collaborator(t){if(!t.owner||!t.repo)throw new Error(h);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,username:o}=t,e=await this.delete(`/repos/${r}/${s}/collaborators/${o}`);if(e.statusCode===404)throw new Error(C);let a;return e.status&&e.statusCode===204?a={success:!0,message:Ia(o)}:a={success:!1,message:Ut(o)},e.data=a,e}catch(r){throw new Error(`[GitHub] \u79FB\u9664\u534F\u4F5C\u8005\u5931\u8D25: ${r.message}`)}}async delete_collaborator(t){return this.remove_collaborator(t)}async get_repo_visibility(t){try{let{owner:r,repo:s}=t;return (await this.get_repo_info({owner:r,repo:s})).data.visibility}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u53EF\u89C1\u6027\u5931\u8D25: ${r.message}`)}}async get_repo_default_branch(t){if(!t.owner||!t.repo)throw new Error(h);try{let{owner:r,repo:s}=t,o;try{let e=J(this.type,{proxyType:"original"})+"/"+r+"/"+s;o=await re(e);}catch{o=(await this.get_repo_info({owner:r,repo:s})).data.default_branch;}return o}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u9ED8\u8BA4\u5206\u652F\u5931\u8D25: ${r.message}`)}}async get_repo_main_language(t){if(!t.owner||!t.repo)throw new Error(h);try{let{owner:r,repo:s}=t;return (await this.get_repo_info({owner:r,repo:s})).data.language}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5931\u8D25: ${r.message}`)}}};});var _r={};A(_r,{User:()=>xe});var xe,lt=f(()=>{k();be();v();le();xe=class extends exports.GitHubClient{constructor(t){super(t),this.userToken=t.userToken,this.base_url=t.base_url,this.api_url=t.api_url;}async get_user_info(t){if(!t.username)throw new Error(Z);try{this.setRequestConfig({token:this.userToken});let r=await this.get(`/users/${t.username}`);if(r.statusCode===401)throw new Error(R);if(r.statusCode===404)throw new Error(Z);if(r.data){let s={id:r.data.id,login:r.data.login,name:r.data.name||null,type:lodash.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=s;}return r}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u7528\u6237\u7EC7\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_user_info_by_user_id(t){if(!t.user_id)throw new Error(Bt);try{this.setRequestConfig({token:this.userToken});let r=await this.get(`/user/${t.user_id}`);if(r.statusCode===401)throw new Error(R);if(r.statusCode===404)throw new Error(X);if(r.data){let s={id:r.data.id,login:r.data.login,name:r.data.name||null,type:lodash.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=s;}return r}catch(r){throw new Error(`[GitHub] \u901A\u8FC7\u7528\u6237id\u83B7\u53D6\u7528\u6237\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_user_info_by_auth(){if(!this.userToken)throw new Error(G);try{this.setRequestConfig({token:this.userToken});let t=await this.get("/user");switch(t.statusCode){case 401:throw new Error(R);case 404:throw new Error(X)}if(t.data){let r={id:t.data.id,login:t.data.login,name:t.data.name||null,type:lodash.capitalize(t.data.type.toLowerCase()),html_url:t.data.html_url,avatar_url:t.data.avatar_url,email:t.data.email||null,bio:t.data.bio||null,blog:t.data.blog||null,public_repos:t.data.public_repos,followers:t.data.followers,following:t.data.following};t.data=r;}return t}catch(t){throw new Error(`[GitHub] \u83B7\u53D6\u6388\u6743\u7528\u6237\u4FE1\u606F\u5931\u8D25: ${t.message}`)}}async get_user_info_by_token(){return this.get_user_info_by_auth()}async get_user_contribution(t){try{if(!t.username)throw new Error($);if((await this.get_user_info({username:t.username})).data.type==="Organization")throw new Error(`${Wt}\u83B7\u53D6\u8D21\u732E\u65E5\u5386`);this.setRequestConfig({url:J(this.type,{proxyType:"original"})});let s=await this.get(`/${t.username}`,{action:"show",controller:"profiles",tab:"contributions",user_id:t.username},{"X-Requested-With":"XMLHttpRequest"});if(!s.success)throw new Error("\u83B7\u53D6\u7528\u6237\u8D21\u732E\u6570\u636E\u5931\u8D25");if(s.statusCode===404)throw new Error($);let o=await ga(s.data);return {...s,data:o}}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u7528\u6237\u8D21\u732E\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_user_id(){return (await this.get_user_info_by_auth()).data.id}async get_username(){return (await this.get_user_info_by_auth()).data.login}async get_nickname(){return (await this.get_user_info_by_auth()).data.name||null}async get_user_email(){return (await this.get_user_info_by_auth()).data.email||null}async get_avatar_url(){return (await this.get_user_info_by_auth()).data.avatar_url}};});var yr={};A(yr,{Org:()=>Ee});var Ee,pt=f(()=>{k();v();Ee=class extends exports.GitHubClient{constructor(t){super(t),this.userToken=t.userToken,this.api_url=t.api_url,this.base_url=t.base_url;}async get_org_info(t){if(!t.org)throw new Error(L);let{org:r}=t;try{this.setRequestConfig({token:this.userToken});let s=await this.get(`/orgs/${r}`);if(s.statusCode===404)throw new Error(Q);if(s.data){let o={id:s.data.id,login:s.data.login,name:lodash.isEmpty(s.data.name)?null:s.data.name,avatar_url:s.data.avatar_url,description:s.data.description,html_url:s.data.html_url};s.data=o;}return s}catch(s){throw new Error(`[GitHub] \u83B7\u53D6\u7EC4\u7EC7\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}async get_org_member_info(t){if(!t.org)throw new Error(L);if(!t.username)throw new Error($);try{this.setRequestConfig({token:this.userToken});let{org:r,username:s}=t,o=await this.get(`/orgs/${r}/members/${s}`);if(o.statusCode===403)throw new Error(R);if(o.statusCode===404)throw new Error(We);if(o.data){let e={state:o.data.state,role:o.data.role,organization:{id:o.data.organization.id,login:o.data.organization.login,name:lodash.isEmpty(o.data.organization.name)?null:o.data.organization.name,html_url:o.data.organization.html_url},user:{id:o.data.user.id,login:o.data.user.login,name:lodash.isEmpty(o.data.user.name)?null:o.data.user.name,avatar_url:o.data.user.avatar_url,html_url:o.data.user.html_url}};o.data=e;}return o}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u7EC4\u7EC7\u6210\u5458\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_org_member_list(t){if(!t.org)throw new Error(L);try{this.setRequestConfig({token:this.userToken});let{org:r}=t,s={};t.per_page&&(s.per_page=t.per_page),t.page&&(s.page=t.page);let o=await this.get("/user/memberships/orgs",s);if(o.statusCode===403)throw new Error(R);if(o.statusCode===404)throw new Error(We);if(o.data){let e=o.data.filter(a=>a.organization.login===r).map(a=>({id:a.user.id,login:a.user.login,name:lodash.isEmpty(a.user.name)?null:a.user.name,role:a.role,avatar_url:a.user.avatar_url,html_url:a.user.html_url}));o.data=e;}return o}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u7EC4\u7EC7\u6210\u5458\u5217\u8868\u5931\u8D25: ${r.message}`)}}async add_member(t){if(!t.org)throw new Error(L);if(!t.username)throw new Error($);try{this.setRequestConfig({token:this.userToken});let r,s,{org:o,username:e,role:a}=t;if(e){let l=await this.get_user();try{r=await l.get_user_id();}catch{s=await l.get_user_email();}}let n={};r?n.invitee_id=r:s&&(n.email=s),a==="admin"?n.role="admin":n.role="direct_member";let i=await this.post(`/orgs/${o}/invitations`,n);if(i.statusCode===404)throw new Error(C);if(i.statusCode===422){let l=i.data.message;if(l&&l.includes("is not a valid permission"))throw new Error(R)}if(i.data){let l={id:i.data.inviter.id,login:i.data.inviterlogin,name:i.data.inviter.name,html_url:`${this.Client_Secret}/${o}`,role:a};i.data=l;}return i}catch(r){throw new Error(`[GitHub] \u6DFB\u52A0\u7EC4\u7EC7\u6210\u5458\u5931\u8D25: ${r.message}`)}}async remove_org_member(t){if(!t.org)throw new Error(L);if(!t.username)throw new Error($);try{this.setRequestConfig({token:this.userToken});let{org:r,username:s}=t,o=await this.delete(`/orgs/${r}/members/${s}`);if(o.statusCode===403)throw new Error(R);let e;return o.statusCode===204?e={success:!0,message:qa(s)}:e={success:!1,message:zt(s)},o.data=e,o}catch(r){throw new Error(`[GitHub] \u79FB\u9664\u7EC4\u7EC7\u6210\u5458\u5931\u8D25: ${r.message}`)}}};});var fr={};A(fr,{WebHook:()=>ve});var ve,ut=f(()=>{k();v();ve=class extends exports.GitHubClient{async check_webhook_signature(t){if(!this.WebHook_Secret)throw new Error(la);if(!t.payload)throw new Error(pa);if(!t.signature)throw new Error(ua);if(!t.signature.startsWith("sha256="))throw new Error(na);let r=false,s="error",o=400,e,a,n=hr__default.default.createHmac("sha256",this.WebHook_Secret),i=typeof t.payload=="string"?t.payload:JSON.stringify(t.payload);n.update(i,"utf8");let l=n.digest("hex"),u=t.signature.replace("sha256=","");return hr__default.default.timingSafeEqual(Buffer.from(l),Buffer.from(u))?(r=true,s="ok",o=200,e="\u8BF7\u6C42\u6210\u529F",a={success:r,message:Ga}):(r=false,s="error",o=403,e="\u8BF7\u6C42\u5931\u8D25",a={success:r,message:ia}),Promise.resolve({success:r,status:s,statusCode:o,msg:e,data:a})}};});var wr={};A(wr,{Pull_Request:()=>Me});var Me,dt=f(()=>{k();v();Me=class extends exports.GitHubClient{constructor(t){super(t),this.userToken=t.userToken,this.api_url=t.api_url,this.base_url=t.base_url;}async get_pull_request_info(t){if(!(t.owner||t.repo))throw new Error(h);if(!t.pr_number)throw new Error(W);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,pr_number:o}=t,e=await this.get(`/repos/${r}/${s}/pulls/${o}`);if(e.data){let[a,n,i,l,u,_,T,y]=await Promise.all([this.format?p(e.data.created_at):e.data.created_at,this.format?p(e.data.updated_at):e.data.updated_at,lodash.isEmpty(e.data.merged_at)?null:this.format?await p(e.data.merged_at):e.data.merged_at,lodash.isEmpty(e.data.closed_at)?null:this.format?await p(e.data.closed_at):e.data.closed_at,this.format?await p(e.data.milestone.created_at):e.data.milestone.created_at,this.format?await p(e.data.milestone.updated_at):e.data.milestone.updated_at,lodash.isEmpty(e.data.milestone.closed_at)?null:this.format?await p(e.data.milestone.closed_at):e.data.milestone.closed_at,lodash.isEmpty(e.data.milestone.due_on)?null:this.format?await p(e.data.milestone.due_on):e.data.milestone.due_on]),c={id:e.data.id,html_url:e.data.html_url,number:e.data.number,state:e.data.merged_at&&!lodash.isEmpty(e.data.merged_at)?"merged":e.data.state,locked:e.data.locked,title:e.data.title,body:e.data.body,draft:e.data.draft,created_at:a,merged_at:n,updated_at:i,closed_at:l,user:{id:e.data.user.id,login:e.data.user.login,name:lodash.isEmpty(e.data.user.name)?null:e.data.user.name,html_url:e.data.user.html_url,avatar_url:e.data.user.avatar_url},base:{label:e.data.base.label,ref:e.data.base.ref,sha:e.data.base.sha,user:{id:e.data.base.user.id,login:e.data.base.user.login,name:lodash.isEmpty(e.data.base.user.name)?null:e.data.base.user.name,html_url:e.data.base.user.html_url,avatar_url:e.data.base.user.avatar_url},repo:{id:e.data.base.repo.id,owner:e.data.base.repo.owner,name:e.data.base.repo.name,full_name:e.data.base.repo.full_name}},head:{label:e.data.head.label,ref:e.data.head.ref,sha:e.data.head.sha,user:{id:e.data.head.user.id,login:e.data.head.user.login,name:lodash.isEmpty(e.data.head.user.name)?null:e.data.head.user.name,html_url:e.data.head.user.html_url,avatar_url:e.data.head.user.avatar_url},repo:{id:e.data.head.repo.id,owner:e.data.head.repo.owner,name:e.data.head.repo.name,full_name:e.data.head.repo.full_name}},assignee:lodash.isEmpty(e.data.assignee)?null:{id:e.data.assignee.id,login:e.data.assignee.login,name:lodash.isEmpty(e.data.assignee.name)?null:e.data.assignee.name,html_url:e.data.assignee.html_url,avatar_url:e.data.assignee.avatar_url},assignees:lodash.isEmpty(e.data.assignees)?null:e.data.assignees.map(g=>({id:g.id,login:g.login,name:lodash.isEmpty(g.name)?null:g.name,html_url:g.html_url,avatar_url:g.avatar_url})),milestone:lodash.isEmpty(e.data.milestone)?null:{id:e.data.milestone.id,url:e.data.milestone.url,number:e.data.milestone.number,state:e.data.milestone.state,title:e.data.milestone.title,description:e.data.milestone.description,open_issues:e.data.milestone.open_issues,closed_issues:e.data.milestone.closed_issues,created_at:u,updated_at:_,closed_at:T,due_on:y},labels:lodash.isEmpty(e.data.labels)?null:e.data.labels.map(g=>({id:g.id,name:g.name,color:g.color})),commits:e.data.commits,additions:e.data.additions,deletions:e.data.deletions,changed_files:e.data.changed_files};e.data=c;}return e}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u62C9\u53D6\u8BF7\u6C42\u4FE1\u606F\u5931\u8D25\uFF1A ${r.message}`)}}async get_get_pull_request_list(t){if(!(t.owner||t.repo))throw new Error(h);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,...o}=t,e={};o.state&&(e.state=o.state),o.base&&(e.base=o.base),o.sort&&(e.sort=o.sort),o.direction&&!o.sort&&(e.direction=o.direction),o.per_page&&(e.per_page=o.per_page.toString()),o.page&&(e.page=o.page.toString());let a=await this.get(`/repos/${r}/${s}/pulls`,e);if(a.data){let n=await Promise.all(a.data.map(async i=>({id:i.id,html_url:i.html_url,number:i.number,state:lodash.isEmpty(i.merged_at)?i.state:"merged",locked:i.locked,title:i.title,body:i.body,draft:i.draft,created_at:this.format?p(i.created_at):i.created_at,merged_at:lodash.isEmpty(i.merged_at)?null:this.format?await p(i.merged_at):i.merged_at,updated_at:this.format?p(i.updated_at):i.updated_at,closed_at:lodash.isEmpty(i.closed_at)?null:this.format?await p(i.closed_at):i.closed_at,user:{id:i.user.id,login:i.user.login,name:lodash.isEmpty(i.user.name)?null:i.user.name,html_url:i.user.html_url,avatar_url:i.user.avatar_url},base:{label:i.base.label,ref:i.base.ref,sha:i.base.sha,user:{id:i.base.user.id,login:i.base.user.login,name:lodash.isEmpty(i.base.user.name)?i.base.user.login:i.base.user.name,html_url:i.base.user.html_url,avatar_url:i.base.user.avatar_url},repo:{id:i.base.repo.id,owner:i.base.repo.owner,name:i.base.repo.name,full_name:i.base.repo.full_name}},head:{label:i.head.label,ref:i.head.ref,sha:i.head.sha,user:{id:i.head.user.id,login:i.head.user.login,name:lodash.isEmpty(i.head.user.name)?null:i.head.user.name,html_url:i.head.user.html_url,avatar_url:i.head.user.avatar_url},repo:{id:i.head.repo.id,owner:i.head.repo.owner,name:i.head.repo.name,full_name:i.head.repo.full_name}},assignee:lodash.isEmpty(i.assignee)?null:{id:i.assignee.id,name:i.assignee.name,login:i.assignee.login,html_url:i.assignee.html_url,avatar_url:i.assignee.avatar_url},assignees:lodash.isEmpty(i.assignees)?null:i.assignees.map(l=>({id:l.id,name:l.name,login:l.login,html_url:l.html_url,avatar_url:l.avatar_url})),milestone:lodash.isEmpty(i.milestone)?null:{id:i.milestone.id,url:i.milestone.url,number:i.milestone.number,state:i.milestone.state,title:i.milestone.title,description:i.milestone.description,open_issues:i.milestone.open_issues,closed_issues:i.milestone.closed_issues,created_at:this.format?await p(i.milestone.created_at):i.milestone.created_at,updated_at:this.format?await p(i.milestone.updated_at):i.milestone.updated_at,closed_at:i.milestone.closed_at?this.format?await p(i.milestone.closed_at):i.milestone.closed_at:null,due_on:i.milestone.due_on?this.format?await p(i.milestone.due_on):i.milestone.due_on:null},labels:lodash.isEmpty(i.labels)?null:i.labels.map(l=>({id:l.id,name:l.name,color:l.color})),commits:i.commits,additions:i.additions,deletions:i.deletions,changed_files:i.changed_files})));a.data=n;}return a}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u62C9\u53D6\u8BF7\u6C42\u5217\u8868\u5931\u8D25\uFF1A ${r.message}`)}}async create_pull_request(t){if(!(t.owner||t.repo))throw new Error(h);if(!t.head)throw new Error(ea);if(!t.base)throw new Error(ta);if(!("issue"in t)&&!("title"in t))throw new Error(Jt);try{this.setRequestConfig({token:this.userToken});let r={};if("issue"in t){if(!t.issue)throw new Error(Kt);r.issue=t.issue;}else if("title"in t){if(!t.title)throw new Error(Tt);r.title=t.title,t.body&&(r.body=t.body);}t.head&&(r.head=t.head),t.head_repo&&(r.head_repo=t.head_repo),t.base&&(r.base=t.base),t.draft&&(r.draft=t.draft);let{owner:s,repo:o}=t,e=await this.post(`/repos/${s}/${o}/pulls`,r);if(e.statusCode===403)throw new Error(R);if(e.data){let[a,n,i,l,u,_,T,y]=await Promise.all([this.format?p(e.data.created_at):e.data.created_at,this.format?p(e.data.updated_at):e.data.updated_at,e.data.merged_at?this.format?await p(e.data.merged_at):e.data.merged_at:null,e.data.closed_at?this.format?await p(e.data.closed_at):e.data.closed_at:null,this.format?await p(e.data.milestone.created_at):e.data.milestone.created_at,this.format?await p(e.data.milestone.updated_at):e.data.milestone.updated_at,e.data.milestone.closed_at?this.format?await p(e.data.milestone.closed_at):e.data.milestone.closed_at:null,e.data.milestone.due_on?this.format?await p(e.data.milestone.due_on):e.data.milestone.due_on:null]),c={id:e.data.id,html_url:e.data.html_url,number:e.data.number,state:lodash.isEmpty(e.data.merged_at)?e.data.state:"merged",locked:e.data.locked,title:e.data.title,body:e.data.body,draft:e.data.draft,created_at:a,merged_at:n,updated_at:i,closed_at:l,user:{id:e.data.user.id,login:e.data.user.login,name:lodash.isEmpty(e.data.user.name)?null:e.data.user.name,html_url:e.data.user.html_url,avatar_url:e.data.user.avatar_url},base:{label:e.data.base.label,ref:e.data.base.ref,sha:e.data.base.sha,user:{id:e.data.base.user.id,login:e.data.base.user.login,name:lodash.isEmpty(e.data.base.user.name)?null:e.data.base.user.name,html_url:e.data.base.user.html_url,avatar_url:e.data.base.user.avatar_url},repo:{id:e.data.base.repo.id,owner:e.data.base.repo.owner,name:e.data.base.repo.name,full_name:e.data.base.repo.full_name}},head:{label:e.data.head.label,ref:e.data.head.ref,sha:e.data.head.sha,user:{id:e.data.head.user.id,login:e.data.head.user.login,name:lodash.isEmpty(e.data.head.user.name)?null:e.data.head.user.name,html_url:e.data.head.user.html_url,avatar_url:e.data.head.user.avatar_url},repo:{id:e.data.head.repo.id,owner:e.data.head.repo.owner,name:e.data.head.repo.name,full_name:e.data.head.repo.full_name}},assignee:lodash.isEmpty(e.data.assignee)?null:{id:e.data.assignee.id,login:e.data.assignee.login,name:lodash.isEmpty(e.data.assignee.name)?null:e.data.assignee.name,html_url:e.data.assignee.html_url,avatar_url:e.data.assignee.avatar_url},assignees:lodash.isEmpty(e.data.assignees)?null:e.data.assignees.map(g=>({id:g.id,login:g.login,name:lodash.isEmpty(g.name)?null:g.name,html_url:g.html_url,avatar_url:g.avatar_url})),milestone:lodash.isEmpty(e.data.milestone)?null:{id:e.data.milestone.id,url:e.data.milestone.url,number:e.data.milestone.number,state:e.data.milestone.state,title:e.data.milestone.title,description:e.data.milestone.description,open_issues:e.data.milestone.open_issues,closed_issues:e.data.milestone.closed_issues,created_at:u,updated_at:_,closed_at:T,due_on:y},labels:lodash.isEmpty(e.data.labels)?null:e.data.labels.map(g=>({id:g.id,name:g.name,color:g.color})),commits:e.data.commits,additions:e.data.additions,deletions:e.data.deletions,changed_files:e.data.changed_files};e.data=c;}return e}catch(r){throw new Error(`[GitHub] \u521B\u5EFA\u62C9\u53D6\u8BF7\u6C42\u5931\u8D25: ${r.message}`)}}async update_pull_request(t){if(!(t.owner||t.repo))throw new Error(h);if(!t.pr_number)throw new Error(W);try{this.setRequestConfig({token:this.userToken});let r={};t.title&&(r.title=t.title),t.body&&(r.body=t.body),t.state&&(r.state=t.state);let{owner:s,repo:o,pr_number:e}=t,a=await this.patch(`/repos/${s}/${o}/pulls/${e}`,null,r);if(a.statusCode===403)throw new Error(R);if(a.data){let[n,i,l,u,_,T,y,c]=await Promise.all([this.format?p(a.data.created_at):a.data.created_at,this.format?p(a.data.updated_at):a.data.updated_at,a.data.merged_at?this.format?await p(a.data.merged_at):a.data.merged_at:null,a.data.closed_at?this.format?await p(a.data.closed_at):a.data.closed_at:null,this.format?await p(a.data.milestone.created_at):a.data.milestone.created_at,this.format?await p(a.data.milestone.updated_at):a.data.milestone.updated_at,a.data.milestone.closed_at?this.format?await p(a.data.milestone.closed_at):a.data.milestone.closed_at:null,a.data.milestone.due_on?this.format?await p(a.data.milestone.due_on):a.data.milestone.due_on:null]),g={id:a.data.id,html_url:a.data.html_url,number:a.data.number,state:lodash.isEmpty(a.data.merged_at)?a.data.state:"merged",locked:a.data.locked,title:a.data.title,body:a.data.body,draft:a.data.draft,created_at:n,merged_at:i,updated_at:l,closed_at:u,user:{id:a.data.user.id,login:a.data.user.login,name:lodash.isEmpty(a.data.user.name)?null:a.data.user.name,html_url:a.data.user.html_url,avatar_url:a.data.user.avatar_url},base:{label:a.data.base.label,ref:a.data.base.ref,sha:a.data.base.sha,user:{id:a.data.base.user.id,login:a.data.base.user.login,name:lodash.isEmpty(a.data.base.user.name)?null:a.data.base.user.name,html_url:a.data.base.user.html_url,avatar_url:a.data.base.user.avatar_url},repo:{id:a.data.base.repo.id,owner:a.data.base.repo.owner,name:a.data.base.repo.name,full_name:a.data.base.repo.full_name}},head:{label:a.data.head.label,ref:a.data.head.ref,sha:a.data.head.sha,user:{id:a.data.head.user.id,login:a.data.head.user.login,name:lodash.isEmpty(a.data.head.user.name)?null:a.data.head.user.name,html_url:a.data.head.user.html_url,avatar_url:a.data.head.user.avatar_url},repo:{id:a.data.head.repo.id,owner:a.data.head.repo.owner,name:a.data.head.repo.name,full_name:a.data.head.repo.full_name}},assignee:lodash.isEmpty(a.data.assignee)?null:{id:a.data.assignee.id,login:a.data.assignee.login,name:lodash.isEmpty(a.data.assignee.name)?null:a.data.assignee.name,html_url:a.data.assignee.html_url,avatar_url:a.data.assignee.avatar_url},assignees:lodash.isEmpty(a.data.assignees)?null:a.data.assignees.map(b=>({id:b.id,login:b.login,name:lodash.isEmpty(b.name)?null:b.name,html_url:b.html_url,avatar_url:b.avatar_url})),milestone:lodash.isEmpty(a.data.milestone)?null:{id:a.data.milestone.id,url:a.data.milestone.url,number:a.data.milestone.number,state:a.data.milestone.state,title:a.data.milestone.title,description:a.data.milestone.description,open_issues:a.data.milestone.open_issues,closed_issues:a.data.milestone.closed_issues,created_at:_,updated_at:T,closed_at:y,due_on:c},labels:lodash.isEmpty(a.data.labels)?null:a.data.labels.map(b=>({id:b.id,name:b.name,color:b.color})),commits:a.data.commits,additions:a.data.additions,deletions:a.data.deletions,changed_files:a.data.changed_files};a.data=g;}return a}catch(r){throw new Error(`[GitHub] \u66F4\u65B0\u62C9\u53D6\u8BF7\u6C42\u5931\u8D25: ${r.message}`)}}async merge_pull_request(t){if(!(t.owner||t.repo))throw new Error(h);if(!t.pr_number)throw new Error(W);try{this.setRequestConfig({token:this.userToken});let r={};if(t.commit_title&&(r.commit_title=t.commit_title),t.commit_message&&(r.commit_message=t.commit_message),t.sha&&(r.sha=t.sha),t.merge_method){let n=["merge","squash","rebase"];r.merge_method=n.includes(t.merge_method)?t.merge_method:n[0];}let{owner:s,repo:o,pr_number:e}=t,a=await this.put(`/repos/${s}/${o}/pulls/${e}/merge`,r);switch(a.statusCode){case 403:throw new Error(R);case 404:throw new Error(_e);case 405:throw new Error(aa);case 409:throw new Error(ra)}if(a.statusCode===200&&a.data){let n={sha:a.data.sha,merged:a.data.merged,message:a.data.message};a.data=n;}return a}catch(r){throw new Error(`[GitHub] \u5408\u5E76\u62C9\u53D6\u8BF7\u6C42\u5931\u8D25: ${r.message}`)}}async get_pull_request_files_list(t){if(!(t.owner||t.repo))throw new Error(h);if(!t.pr_number)throw new Error(W);try{this.setRequestConfig({token:this.userToken});let r={};t.per_page&&(r.per_page=t.per_page),t.page&&(r.page=t.page);let{owner:s,repo:o,pr_number:e}=t,a=await this.get(`/repos/${s}/${o}/pulls/${e}/files`,r);switch(a.statusCode){case 403:throw new Error(R);case 404:throw new Error(_e)}if(a.data){let n=a.data.map(i=>({sha:i.sha,filename:i.filename,status:i.status,additions:i.additions,deletions:i.deletions,changes:i.changes,blob_url:i.blob_url,raw_url:i.raw_url,patch:i.patch}));a.data=n;}return a}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u62C9\u53D6\u8BF7\u6C42\u6587\u4EF6\u5217\u8868\u5931\u8D25: ${r.message}`)}}async get_pull_request_comment_info(t){if(!(t.owner||t.repo))throw new Error(h);if(!t.comment_id)throw new Error(ge);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,comment_id:o}=t,e=await this.get(`/repos/${r}/${s}/pulls/comments/${o}`);switch(e.statusCode){case 403:throw new Error(R);case 404:throw new Error(ee)}if(e.data){let[a,n]=await Promise.all([this.format?p(e.data.created_at):e.data.created_at,this.format?p(e.data.updated_at):e.data.updated_at]),i={id:e.data.id,body:e.data.body,user:{id:e.data.user.id,login:e.data.user.login,name:lodash.isEmpty(e.data.user.name)?null:e.data.user.name,avatar_url:e.data.user.avatar_url,html_url:e.data.user.html_url},created_at:a,updated_at:n};e.data=i;}return e}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_pull_request_comments_list(t){if(!(t.owner||t.repo))throw new Error(h);if(!t.pr_number)throw new Error(W);try{this.setRequestConfig({token:this.userToken});let r={};t.direction&&(r.direction=t.direction),t.per_page&&(r.per_page=t.per_page),t.page&&(r.page=t.page);let{owner:s,repo:o,pr_number:e}=t,a=await this.get(`/repos/${s}/${o}/pulls/${e}/comments`,r);switch(a.statusCode){case 403:throw new Error(R);case 404:throw new Error(ee)}if(a.data){let n=await Promise.all(a.data.map(async i=>({id:i.id,body:i.body,user:{id:i.user.id,login:i.user.login,name:lodash.isEmpty(i.user.name)?null:i.user.name,html_url:i.user.html_url,avatar_url:i.user.avatar_url},created_at:this.format?await p(i.created_at):i.created_at,updated_at:this.format?await p(i.updated_at):i.updated_at})));a.data=n;}return a}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${r.message}`)}}async create_pull_request_comment(t){if(!(t.owner||t.repo))throw new Error(h);if(!t.pr_number)throw new Error(W);if(!t.body)throw new Error(Fe);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,pr_number:o,body:e}=t,a=await this.post(`/repos/${r}/${s}/pulls/${o}/comments`,{body:e});switch(a.statusCode){case 403:throw new Error(R);case 404:throw new Error(_e)}if(a.data){let n={id:a.data.id,body:a.data.body};a.data=n;}return a}catch(r){throw new Error(`[GitHub] \u521B\u5EFA\u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u5931\u8D25: ${r.message}`)}}async update_pull_request_comment(t){if(!(t.owner||t.repo))throw new Error(h);if(!t.comment_id)throw new Error(ge);if(!t.body)throw new Error(Fe);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,comment_id:o,body:e}=t,a=await this.patch(`/repos/${r}/${s}/issues/comments/${o}`,null,{body:e});switch(a.statusCode){case 403:throw new Error(R);case 404:throw new Error(ee)}let n;return a.statusCode===200?n={success:!0,message:Sa}:n={success:!1,message:sa},a.data=n,a}catch(r){throw new Error(`[GitHub] \u66F4\u65B0\u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u5931\u8D25: ${r.message}`)}}async edit_pull_request_comment(t){return await this.update_pull_request_comment(t)}async delete_pull_request_comment(t){if(!(t.owner||t.repo))throw new Error(h);if(!t.comment_id)throw new Error(ge);try{let r=await this.delete(`/repos/${t.owner}/${t.repo}/pulls/comments/${t.comment_id}`);switch(r.statusCode){case 403:throw new Error(R);case 404:throw new Error(ee)}let s;return r.statusCode===204?s={success:!0,message:Ua}:(s={success:!1,message:oa},r.data=s),r}catch(r){throw new Error(`[GitHub] \u5220\u9664\u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u5931\u8D25: ${r.message}`)}}};});var br={};A(br,{Workflow:()=>Ae});var Ae,mt=f(()=>{k();v();Ae=class extends exports.GitHubClient{constructor(t){super(t),this.userToken=t.userToken,this.base_url=t.base_url,this.api_url=t.api_url;}async get_workflow_info(t){if(!t.owner||!t.repo)throw new Error(h);if(!t.workflow_id)throw new Error(Y);try{let{owner:r,repo:s,workflow_id:o}=t;this.setRequestConfig({token:this.userToken});let e=await this.get(`/repos/${r}/${s}/actions/workflows/${o}`);if(e.statusCode===404)throw new Error(B);if(e.data){let a={id:e.data.id,html_url:e.data.html_url,name:e.data.name,path:e.data.path,state:e.data.state,created_at:this.format?await p(e.data.created_at):e.data.created_at,updated_at:this.format?await p(e.data.updated_at):e.data.updated_at};e.data=a;}return e}catch(r){throw new Error(`\u83B7\u53D6\u5DE5\u4F5C\u6D41\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_repo_workflows_list(t){if(!t.owner||!t.repo)throw new Error(h);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s}=t,o={};t.per_page&&(o.per_page=t.per_page),t.page&&(o.page=t.page);let e=await this.get(`/repos/${r}/${s}/actions/workflows`,o);if(e.statusCode===404)throw new Error(B);if(e.data){let a={total:e.data.total_count,workflows:await Promise.all(e.data.workflows.map(async n=>({id:n.id,html_url:n.html_url,name:n.name,path:n.path,state:n.state,created_at:this.format?await p(n.created_at):n.created_at,updated_at:this.format?await p(n.updated_at):n.updated_at})))};e.data=a;}return e}catch(r){throw new Error(`\u83B7\u53D6\u5DE5\u4F5C\u6D41\u5217\u8868\u5931\u8D25: ${r.message}`)}}async run_repo_workflow(t){if(!t.owner||!t.repo)throw new Error(h);if(!t.workflow_id)throw new Error(Y);if(!t.ref)throw new Error(Gt);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,workflow_id:o}=t,e={ref:t.ref};t.inputs&&(e.inputs=t.inputs);let a=await this.post(`/repos/${r}/${s}/actions/workflows/${o}/dispatches`,e);if(a.statusCode===404)throw new Error(B);if(a.statusCode===403)throw new Error(R);let n;return a.statusCode===204?n={success:!0,message:Ea(o)}:n={success:!1,message:Ot(o)},a.data=n,a}catch(r){throw new Error(`\u8FD0\u884C\u5DE5\u4F5C\u6D41\u5931\u8D25: ${r.message}`)}}async enable_repo_workflow(t){if(!t.owner||!t.repo)throw new Error(h);if(!t.workflow_id)throw new Error(Y);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,workflow_id:o}=t,e=await this.put(`/repos/${r}/${s}/actions/workflows/${o}/enable`,null);if(e.statusCode===404)throw new Error(B);if(e.statusCode===403)throw new Error(R);let a;return e.statusCode===204?a={success:!0,message:va(o)}:a={success:!1,message:Dt(o)},e.data=a,e}catch(r){throw new Error(`\u542F\u7528\u5DE5\u4F5C\u6D41\u5931\u8D25: ${r.message}`)}}async disable_repo_workflow(t){if(!t.owner||!t.repo)throw new Error(h);if(!t.workflow_id)throw new Error(Y);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,workflow_id:o}=t,e=await this.put(`/repos/${r}/${s}/actions/workflows/${o}/disable`,null);if(e.statusCode===404)throw new Error(B);if(e.statusCode===403)throw new Error(R);let a;return e.statusCode===204?a={success:!0,message:Ma(o)}:a={success:!1,message:Ht(o)},e.data=a,e}catch(r){throw new Error(`\u7981\u7528\u5DE5\u4F5C\u6D41\u5931\u8D25: ${r.message}`)}}async rerun_repo_workflow(t){if(!t.owner||!t.repo)throw new Error(h);if(!t.job_id)throw new Error(Lt);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,job_id:o}=t,e=await this.post(`/repos/${r}/${s}/actions/jobs/${o}/rerun`,null);if(e.statusCode===404)throw new Error(B);if(e.statusCode===403)throw new Error(R);let a;return e.statusCode===204?a={success:!0,message:Aa(o)}:a={success:!1,message:Nt(o)},e.data=a,e}catch(r){throw new Error(`\u91CD\u65B0\u8FD0\u884C\u5DE5\u4F5C\u6D41\u5931\u8D25: ${r.message}`)}}};});var Rr={};A(Rr,{Search:()=>$e});var $e,ct=f(()=>{k();v();$e=class extends exports.GitHubClient{constructor(t){super(t),this.userToken=t.userToken,this.base_url=t.base_url,this.api_url=t.api_url;}async search_users(t){if(!t.q)throw new Error(ze);try{this.setRequestConfig({token:this.userToken});let r={};r.q=t.q,t.order&&(r.order=t.order),t.per_page&&(r.per_page=t.per_page.toString()),t.page&&(r.page=t.page.toString());let s=await this.get("/search/users",r);if(s.data){let o={total_count:s.data.total_count,items:s.data.items.map(e=>({id:e.id,login:e.login,name:lodash.isEmpty(e.name)?null:e.name,email:lodash.isEmpty(e.email)?null:e.email,avatar_url:e.avatar_url,html_url:e.html_url}))};s.data=o;}return s}catch(r){throw new Error(`\u641C\u7D22\u7528\u6237\u5931\u8D25: ${r.message}`)}}async search_repos(t){if(!t.q)throw new Error(ze);try{this.setRequestConfig({token:this.userToken});let r={};r.q=t.q,t.order&&(r.order=t.order),t.per_page&&(r.per_page=t.per_page.toString()),t.page&&(r.page=t.page.toString());let s=await this.get("/search/repositories",r);if(s.data){let o={total_count:s.data.total_count,items:s.data.items.map(e=>({id:e.id,owner:e.owner.login,name:e.name,full_name:e.full_name,description:lodash.isEmpty(e.description)?null:e.description,visibility:e.public?"public":"private",public:e.public,private:e.private,archived:e.archived,language:lodash.isEmpty(e.language)?null:e.language,pushed_at:e.pushed_at}))};s.data=o;}return s}catch(r){throw new Error(`\u641C\u7D22\u4ED3\u5E93\u5931\u8D25: ${r.message}`)}}};});var Se;exports.GitHubClient=void 0;var v=f(()=>{k();Ze();et();le();Se="github",exports.GitHubClient=class{base_url;api_url;jwtToken;userToken;Private_Key;Client_ID;Client_Secret;WebHook_Secret;format;currentRequestConfig;proxy;constructor(t){this.Private_Key="Private_Key"in t?t.Private_Key:null,this.Client_ID="Client_ID"in t?t.Client_ID:null,this.Client_Secret="Client_Secret"in t?t.Client_Secret:null,this.WebHook_Secret="WebHook_Secret"in t?t.WebHook_Secret:null,this.validateAppClient(),this.jwtToken=this.generate_jwt(),this.base_url=J(Se,{proxyType:"original"}),this.api_url=Qe(Se,{proxyType:"original"}),this.userToken="access_token"in t?t.access_token:null,this.currentRequestConfig={url:this.api_url,token:null,tokenType:"Bearer"},this.format=t.format??false;}get type(){return Se}get is_app_client(){return !!(this.Client_ID&&this.Client_Secret&&this.Private_Key)}validateAppClient(){if(!this.is_app_client)return;let{Private_Key:t,Client_ID:r,Client_Secret:s}=this,o=t!==null&&t!=="",e=r!==null&&r!=="",a=s!==null&&s!=="",n=[];if(e||n.push("Client_ID"),a||n.push("Client_Secret"),o||n.push("Private_Key"),n.length!==0){if(n.length>0&&n.length<3){let i=n[0];if(i==="Client_ID")throw new Error(ft);if(i==="Client_Secret")throw new Error(wt);if(i==="Private_Key")throw new Error(bt)}if(n.length===3)throw new Error(ht)}}async get_app(){let{App:t}=await Promise.resolve().then(()=>(gt(),Tr));return this.app=new t(this),this.app}async get_auth(){let{Auth:t}=await Promise.resolve().then(()=>(rt(),dr));return this.auth=new t(this),this.auth}async get_commit(){let{Commit:t}=await Promise.resolve().then(()=>(st(),mr));return this.commit=new t(this),this.commit}async get_issue(){let{Issue:t}=await Promise.resolve().then(()=>(ot(),cr));return this.issue=new t(this),this.issue}async get_repo(){let{Repo:t}=await Promise.resolve().then(()=>(nt(),gr));return this.repo=new t(this),this.repo}async get_user(){let{User:t}=await Promise.resolve().then(()=>(lt(),_r));return this.user=new t(this),this.user}async get_org(){let{Org:t}=await Promise.resolve().then(()=>(pt(),yr));return this.org=new t(this),this.org}async get_webhook(){let{WebHook:t}=await Promise.resolve().then(()=>(ut(),fr));return this.webhook=new t(this),this.webhook}async get_pull_request(){let{Pull_Request:t}=await Promise.resolve().then(()=>(dt(),wr));return this.pull_request=new t(this),this.pull_request}async get_workflow(){let{Workflow:t}=await Promise.resolve().then(()=>(mt(),br));return this.workflow=new t(this),this.workflow}async get_search(){let{Search:t}=await Promise.resolve().then(()=>(ct(),Rr));return this.search=new t(this),this.search}setProxy(t){if(!t?.address||!t?.type)throw this.proxy=null,new Error(Pt);try{let r=new url.URL(t.address);if(!(Object.values(exports.ProxyType).includes(t.type)||Object.values(exports.ProxyProtocol).includes(t.type)))throw new Error(xt(t.type));switch(t.type){case "common":case "reverse":{let s=t.type;this.api_url=Qe(Se,{proxyUrl:t.address,proxyType:s}),this.currentRequestConfig.url=this.api_url;break}case "http":case "https":case "socks":case "socks5":t.address=`${r.protocol}//${r.host}`;break}this.proxy=t;}catch{throw this.proxy=null,new Error(kt)}}setToken(t){if(!t.startsWith("ghu_")&&!t.startsWith("ghp_")&&!t.startsWith("ghs_"))throw this.userToken=null,new Error(G);this.userToken=t;}generate_jwt(){if(!this.is_app_client&&!this.Private_Key)throw new Error(x);let t={exp:Math.floor(Date.now()/1e3)+10*60,iat:Math.floor(Date.now()/1e3),iss:this.Client_ID};return Jr__default.default.sign(t,this.Private_Key,{algorithm:"RS256"})}getCurrentRequestConfig(){return {...this.currentRequestConfig,url:this.api_url}}setRequestConfig(t){t.url&&(this.currentRequestConfig.url=t.url),t.token&&(this.currentRequestConfig.token=t.token),t.tokenType&&(this.currentRequestConfig.tokenType=t.tokenType);}createRequest(){let{url:t,token:r,tokenType:s}=this.getCurrentRequestConfig(),o=this.proxy?.type!=="common"?this.proxy:null,e={"X-GitHub-Api-Version":"2022-11-28",Accept:"application/vnd.github+json"};return new we(t,s,r,o,e)}async get(t,r,s){try{if(!t)throw new Error(z);this.setRequestConfig({token:this.userToken});let e=await this.createRequest().get(t,r,s);if((e.statusCode===403||e.statusCode===429)&&e.headers["x-ratelimit-remaining"]==="0")throw new Error(K);return {success:e.success,status:e.success?"ok":"error",statusCode:e.statusCode,msg:e.msg,data:e.data}}catch(o){throw new Error(`[GitHub] GET \u8BF7\u6C42${t}\u5931\u8D25: ${o.message}`)}}async post(t,r,s){try{if(!t)throw new Error(z);this.setRequestConfig({token:this.userToken});let e=await this.createRequest().post(t,r,s);if((e.statusCode===403||e.statusCode===429)&&e.headers["x-ratelimit-remaining"]==="0")throw new Error(K);return {success:e.success,status:e.success?"ok":"error",statusCode:e.statusCode,msg:e.msg,data:e.data}}catch(o){throw new Error(`[GitHUb] POST \u8BF7\u6C42${t}\u5931\u8D25: ${o.message}`)}}async patch(t,r=null,s,o){try{if(!t)throw new Error(z);this.setRequestConfig({token:this.userToken});let a=await this.createRequest().patch(t,r,s,o);if((a.statusCode===403||a.statusCode===429)&&a.headers["x-ratelimit-remaining"]==="0")throw new Error(K);return {success:a.success,status:a.success?"ok":"error",statusCode:a.statusCode,msg:a.msg,data:a.data}}catch(e){throw new Error(`[GitHub] PATCH \u8BF7\u6C42${t}\u5931\u8D25: ${e.message}`)}}async put(t,r,s){try{if(!t)throw new Error(z);this.setRequestConfig({token:this.userToken});let e=await this.createRequest().put(t,r,s);if((e.statusCode===403||e.statusCode===429)&&e.headers["x-ratelimit-remaining"]==="0")throw new Error(K);return {success:e.success,status:e.success?"ok":"error",statusCode:e.statusCode,msg:e.msg,data:e.data}}catch(o){throw new Error(`[GitHUb] PUT \u8BF7\u6C42${t}\u5931\u8D25: ${o.message}`)}}async delete(t,r=null,s,o){try{if(!t)throw new Error(z);this.setRequestConfig({token:this.userToken});let a=await this.createRequest().delete(t,r,s,o);if((a.statusCode===403||a.statusCode===429)&&a.headers["x-ratelimit-remaining"]==="0")throw new Error(K);return {success:a.success,status:a.success?"ok":"error",statusCode:a.statusCode,msg:a.msg,data:a.data}}catch(e){throw new Error(`[GitHub] DELETE\u8BF7\u6C42 ${t} \u5931\u8D25: ${e.message}`)}}};});var Tr={};A(Tr,{App:()=>Ue});var Ue,gt=f(()=>{k();v();Ue=class extends exports.GitHubClient{constructor(t){super(t),this.userToken=t.userToken,this.base_url=t.base_url,this.api_url=t.api_url;}async get_app_info(t){if(!t.app_slug)throw new Error(Rt);if(!this.userToken)throw new Error(G);try{this.setRequestConfig({token:this.userToken});let{app_slug:r}=t,s=await this.get(`/apps/${r}`);if(s.data){let[o,e]=await Promise.all([this.format?p(s.data.created_at):s.data.created_at,this.format?p(s.data.updated_at):s.data.updated_at]),a={id:s.data.id,name:s.data.name,client_id:s.data.client_id,slug:s.data.slug,owner:{id:s.data.owner.id,login:s.data.owner.login,name:lodash.isEmpty(s.data.owner.name)?null:s.data.owner.name,email:lodash.isEmpty(s.data.owner.email)?null:s.data.owner.email,html_url:s.data.owner.html_url,avatar_url:s.data.owner.avatar_url,type:lodash.capitalize(s.data.owner.type.toLowerCase())},description:s.data.description,external_url:s.data.external_url,html_url:s.data.html_url,permissions:s.data.permissions,events:s.data.events,created_at:o,updated_at:e};s.data=a;}return s}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_app_info_by_auth(){if(!this.is_app_client)throw new Error(x);try{this.setRequestConfig({token:this.jwtToken});let t=await this.get("/app");if(t.data){let[r,s]=await Promise.all([this.format?p(t.data.created_at):t.data.created_at,this.format?p(t.data.updated_at):t.data.updated_at]),o={id:t.data.id,name:t.data.name,client_id:t.data.client_id,slug:t.data.slug,owner:{id:t.data.owner.id,login:t.data.owner.login,name:lodash.isEmpty(t.data.owner.name)?null:t.data.owner.name,email:lodash.isEmpty(t.data.owner.email)?null:t.data.owner.email,html_url:t.data.owner.html_url,avatar_url:t.data.owner.avatar_url,type:lodash.capitalize(t.data.owner.type.toLowerCase())},description:t.data.description,external_url:t.data.external_url,html_url:t.data.html_url,permissions:t.data.permissions,events:t.data.events,created_at:r,updated_at:s};t.data=o;}return t}catch(t){throw new Error(`[GitHub] \u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${t.message}`)}}async get_app_installation_by_repo(t){if(!this.is_app_client)throw new Error(x);if(!t.owner||!t.repo)throw new Error(h);try{this.setRequestConfig({token:this.jwtToken});let{owner:r,repo:s}=t,o=await this.get(`/repos/${r}/${s}/installation`);switch(o.statusCode){case 404:throw new Error(I);case 301:throw new Error(de)}if(o.data){let[e,a]=await Promise.all([this.format?p(o.data.created_at):o.data.created_at,this.format?p(o.data.updated_at):o.data.updated_at]),n={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:lodash.isEmpty(o.data.account.name)?null:o.data.account.name,email:lodash.isEmpty(o.data.account.email)?null:o.data.account.email,html_url:o.data.account.html_url,avatar_url:o.data.account.avatar_url,type:lodash.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:e,updated_at:a};o.data=n;}return o}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u5B58\u50A8\u5E93\u5B89\u88C5\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_app_installation_by_user(t){if(!this.is_app_client)throw new Error(x);if(!t.username)throw new Error($);try{this.setRequestConfig({token:this.jwtToken});let{username:r}=t,s=await this.get(`/users/${r}/installation`);switch(s.statusCode){case 404:throw new Error(I);case 301:throw new Error(de)}if(s.data){let[o,e]=await Promise.all([this.format?p(s.data.created_at):s.data.created_at,this.format?p(s.data.updated_at):s.data.updated_at]),a={id:s.data.id,html_url:s.data.html_url,app_id:s.data.app_id,app_slug:s.data.app_slug,target_id:s.data.target_id,target_type:s.data.target_type,account:{id:s.data.account.id,login:s.data.account.login,name:lodash.isEmpty(s.data.account.name)?null:s.data.account.name,email:lodash.isEmpty(s.data.account.email)?null:s.data.account.email,html_url:s.data.account.html_url,avatar_url:s.data.account.avatar_url,type:lodash.capitalize(s.data.account.type.toLowerCase())},repository_selection:s.data.repository_selection,access_tokens_url:s.data.access_tokens_url,repositories_url:s.data.repositories_url,permissions:s.data.permissions,events:s.data.events,created_at:o,updated_at:e};s.data=a;}return s}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u5B58\u50A8\u5E93\u5B89\u88C5\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_app_installation_by_org(t){if(!this.is_app_client)throw new Error(x);if(!t.org)throw new Error(L);try{this.setRequestConfig({token:this.jwtToken});let{org:r}=t,s=await this.get(`/orgs/${r}/installation`);switch(s.statusCode){case 404:throw new Error(I);case 301:throw new Error(de)}if(s.data){let[o,e]=await Promise.all([this.format?p(s.data.created_at):s.data.created_at,this.format?p(s.data.updated_at):s.data.updated_at]),a={id:s.data.id,html_url:s.data.html_url,app_id:s.data.app_id,app_slug:s.data.app_slug,target_id:s.data.target_id,target_type:s.data.target_type,account:{id:s.data.account.id,login:s.data.account.login,name:lodash.isEmpty(s.data.account.name)?null:s.data.account.name,email:lodash.isEmpty(s.data.account.email)?null:s.data.account.email,html_url:s.data.account.html_url,avatar_url:s.data.account.avatar_url,type:lodash.capitalize(s.data.account.type.toLowerCase())},repository_selection:s.data.repository_selection,access_tokens_url:s.data.access_tokens_url,repositories_url:s.data.repositories_url,permissions:s.data.permissions,events:s.data.events,created_at:o,updated_at:e};s.data=a;}return s}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u5B58\u50A8\u5E93\u5B89\u88C5\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async create_access_token_for_app(t){if(!t.installation_id)throw new Error(qt);try{this.setRequestConfig({token:this.jwtToken});let r={};t.repositories&&(r.repositories=t.repositories),t.repository_ids&&(r.repository_ids=t.repository_ids),t.permissions&&(r.permissions=t.permissions);let s=await this.post(`app/installations/${t.installation_id}/access_tokens`,r);if(s.statusCode===201&&s.data){let o=this.format?await p(s.data.expires_at):s.data.expires_at,e={token:s.data.token,expires_at:o,permissions:s.data.permissions,repository_selection:s.data.repository_selection,repositories:await Promise.all(s.data.repositories.map(async a=>({id:a.id,name:a.name,full_name:a.full_name,owner:{id:a.owner.id,login:a.owner.login,name:lodash.isEmpty(s.data.owner.name)?null:s.data.owner.name,avatar_url:a.owner.avatar_url,type:a.owner.type,html_url:a.owner.html_url},public:!a.private,private:a.private,visibility:a.private?"private":"public",fork:a.fork,archived:a.archived,disabled:a.disabled,html_url:a.html_url,description:a.description,stargazers_count:a.stargazers_count,watchers_count:a.watchers_count,language:a.language,forks_count:a.forks_count,open_issues_count:a.open_issues_count,default_branch:a.default_branch,created_at:this.format?await p(a.created_at):a.created_at,updated_at:this.format?await p(a.updated_at):a.updated_at,pushed_at:this.format?await p(a.pushed_at):a.pushed_at})))};s.data=e;}return s}catch(r){throw new Error(`[GitHub] \u4E3A\u5E94\u7528\u7A0B\u5E8F\u521B\u5EFA\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${r.message}`)}}async revoke_access_token_for_app(){this.setRequestConfig({token:this.jwtToken});let t=await this.delete("/installation/token"),r=false,s="error",o,e=400,a;return t.statusCode===201?(r=true,s="ok",e=200,o="\u8BF7\u6C42\u6210\u529F",a={success:r,message:Pa}):(r=false,s="error",e=403,o="\u8BF7\u6C42\u5931\u8D25",a={success:r,message:$t}),Promise.resolve({success:r,status:s,statusCode:e,msg:o,data:a})}async create_install_link(t){try{if(!this.is_app_client)throw new Error(x);let r=new URL(`apps/${await this.get_app_name()}/installations/new`,this.base_url);return r.search=new URLSearchParams({...t&&{state:t}}).toString(),r.toString()}catch(r){throw new Error(`[GitHub] \u751F\u6210\u5E94\u7528\u5B89\u88C5\u94FE\u63A5\u5931\u8D25: ${r.message}`)}}async create_config_install_link(t){try{if(!this.is_app_client)throw new Error(x);let r=new URL(`apps/${await this.get_app_name()}/installations/new`,this.base_url);return r.search=new URLSearchParams({...t&&{state:t}}).toString(),r.toString()}catch(r){throw new Error(`[GitHub] \u751F\u6210\u5E94\u7528\u914D\u7F6E\u94FE\u63A5\u5931\u8D25: ${r.message}`)}}async get_app_name(){return (await this.get_app_info_by_auth()).data.name}async is_app_installed_in_repo(t){try{return !!await this.get_app_installation_by_repo({owner:t.owner,repo:t.repo})}catch{return false}}};});k();be();var _t={};A(_t,{App:()=>Ue,Auth:()=>Re,Commit:()=>Pe,GitHubClient:()=>exports.GitHubClient,Issue:()=>ke,Org:()=>Ee,Pull_Request:()=>Me,Repo:()=>Ce,Search:()=>$e,User:()=>xe,WebHook:()=>ve,Workflow:()=>Ae});gt();rt();v();st();ot();pt();dt();nt();ct();lt();ut();mt();le();var yt=class{github;constructor(t){if(!t.github)throw new Error("GitHub \u5BA2\u6237\u7AEF\u672A\u914D\u7F6E");this.github=new exports.GitHubClient(t.github);}};var Ln=yt;
|
6
|
-
exports.Client=
|
5
|
+
`):null},tree:{url:u.commit.tree.url,sha:u.commit.tree.sha}},parents:u.parents.map(y=>({sha:y.sha,url:y.url})),stats:{additions:u.stats.additions,deletions:u.stats.deletions,total:u.stats.total},files:u.files.map(y=>({sha:y.sha,filename:y.filename,status:y.status,additions:y.additions,deletions:y.deletions,changes:y.changes,blob_url:y.blob_url,raw_url:y.raw_url}))}}));i.data=l;}return i}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u63D0\u4EA4\u5217\u8868\u5931\u8D25: ${r.message}`)}}};});var _r={};A(_r,{Issue:()=>Ce});var Ce,nt=h(()=>{k();v();Ce=class extends exports.GitHubClient{constructor(t){super(t),this.userToken=t.userToken,this.api_url=t.api_url,this.base_url=t.base_url;}async get_issue_info(t){if(!t.owner||!t.repo)throw new Error(f);if(!t.issue_number)throw new Error(O);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,issue_number:o}=t,e=await this.get(`/repos/${r}/${s}/issues/${Number(o)}`);switch(e.statusCode){case 404:throw new Error(S);case 301:throw new Error(Kt)}if(e.data){let[a,n,i,l,u,_,T]=await Promise.all([this.format?p(e.data.created_at):e.data.created_at,this.format?p(e.data.updated_at):e.data.updated_at,lodash.isEmpty(e.data.closed_at)?null:this.format?await p(e.data.closed_at):e.data.closed_at,lodash.isEmpty(e.data.milestone)?null:this.format?await p(e.data.milestone.created_at):e.data.milestone.created_at,lodash.isEmpty(e.data.milestone)?null:this.format?await p(e.data.milestone.updated_at):e.data.milestone.updated_at,lodash.isEmpty(e.data.milestone)?null:this.format?await p(e.data.milestone.closed_at):e.data.milestone.closed_at,lodash.isEmpty(e.data.milestone)?null:this.format?await p(e.data.milestone.due_on):e.data.milestone.due_on]),y={id:e.data.id,html_url:e.data.html_url,number:e.data.number,state:e.data.state,title:e.data.title,body:e.data.body,user:{id:e.data.user.id,login:e.data.user.login,name:lodash.isEmpty(e.data.user.name)?null:e.data.user.name,email:lodash.isEmpty(e.data.user.email)?null:e.data.user.email,html_url:e.data.user.html_url,avatar_url:e.data.user.avatar_url},labels:lodash.isEmpty(e.data.labels)?null:e.data.labels.map(c=>({id:c.id,name:c.name,color:c.color})),assignee:lodash.isEmpty(e.data.assignee)?null:{id:e.data.assignee.id,login:e.data.assignee.login,name:lodash.isEmpty(e.data.assignee.name)?null:e.data.assignee.name,email:lodash.isEmpty(e.data.assignee.email)?null:e.data.assignee.email,html_url:e.data.assignee.html_url,avatar_url:e.data.assignee.avatar_url},assignees:lodash.isEmpty(e.data.assignees)?null:e.data.assignees.map(c=>({id:c.id,login:c.login,name:lodash.isEmpty(c.name)?null:c.name,email:lodash.isEmpty(c.email)?null:c.email,html_url:c.html_url,avatar_url:c.avatar_url})),milestone:lodash.isEmpty(e.data.milestone)?null:{id:e.data.milestone.id,url:e.data.milestone.url,number:e.data.milestone.number,state:e.data.milestone.state,title:e.data.milestone.title,description:e.data.milestone.description,open_issues:e.data.milestone.open_issues,closed_issues:e.data.milestone.closed_issues,created_at:l,updated_at:u,closed_at:_,due_on:T},created_at:a,updated_at:n,closed_at:i};e.data=y;}return e}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u8BAE\u9898\u8BE6\u60C5\u5931\u8D25: ${r.message}`)}}async get_issues_list(t){if(!t.owner||!t.repo)throw new Error(f);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,...o}=t,e={};o.milestone&&(e.milestone=o.milestone.toString()),o.state&&(e.state=o.state),o.assignee&&(e.assignee=o.assignee),o.creator&&(e.creator=o.creator),o.labels&&(e.labels=o.labels),o.sort&&(e.sort=o.sort),o.direction&&(e.direction=o.direction),o.since&&(e.since=o.since),o.per_page&&(e.per_page=o.per_page.toString()),o.page&&(e.page=o.page.toString());let a=`/repos/${r}/${s}/issues`,n=await this.get(a,e);if(n.statusCode===401)throw new Error(R);if(n.data){let i=await Promise.all(n.data.map(async l=>({id:l.id,html_url:l.html_url,number:l.number,state:l.state,title:l.title,body:l.body,user:{id:l.user.id,login:l.user.login,name:lodash.isEmpty(l.user.name)?null:l.user.name,email:lodash.isEmpty(l.user.email)?null:l.user.email,html_url:l.user.html_url,avatar_url:l.user.avatar_url},labels:lodash.isEmpty(l.labels)?null:l.labels.map(u=>({id:u.id,name:u.name,color:u.color})),assignee:lodash.isEmpty(l.assignee)?null:{id:l.assignee.id,login:l.assignee.login,name:lodash.isEmpty(l.assignee.name)?null:l.assignee.name,email:lodash.isEmpty(l.assignee.email)?null:l.assignee.email,html_url:l.assignee.html_url,avatar_url:l.assignee.avatar_url},assignees:lodash.isEmpty(l.assignees)?null:l.assignees.map(u=>({id:u.id,login:u.login,name:lodash.isEmpty(u.name)?null:u.name,email:lodash.isEmpty(u.email)?null:u.email,html_url:u.html_url,avatar_url:u.avatar_url})),milestone:lodash.isEmpty(l.milestone)?null:{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:this.format?await p(l.milestone.created_at):l.milestone.created_at,updated_at:this.format?await p(l.milestone.updated_at):l.milestone.updated_at,closed_at:l.milestone.closed_at?this.format?await p(l.milestone.closed_at):l.milestone.closed_at:null,due_on:l.milestone.due_on?this.format?await p(l.milestone.due_on):l.milestone.due_on:null},created_at:this.format?await p(n.data.created_at):n.data.created_at,updated_at:this.format?await p(n.data.updated_at):n.data.updated_at,closed_at:n.data.closed_at?this.format?await p(n.data.closed_at):n.data.closed_at:null})));n.data=i;}return n}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u7684\u8BAE\u9898\u5217\u8868\u5931\u8D25: ${r.message}`)}}async create_issue(t){if(!t.owner||!t.repo)throw new Error(f);if(!t.title)throw new Error(Yt);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,...o}=t,e={...o,...o.labels&&{labels:Array.isArray(o.labels)?o.labels:[o.labels]},...o.assignees&&{assignees:Array.isArray(o.assignees)?o.assignees:[o.assignees]}},a=await this.post(`/repos/${r}/${s}/issues`,e);switch(a.statusCode){case 403:throw new Error(R);case 301:throw new Error(I)}if(a.data&&a.data){let[n,i,l,u,_,T,y]=await Promise.all([this.format?p(a.data.created_at):a.data.created_at,this.format?p(a.data.updated_at):a.data.updated_at,lodash.isEmpty(a.data.closed_at)?null:this.format?await p(a.data.closed_at):a.data.closed_at,lodash.isEmpty(a.data.milestone)?null:this.format?await p(a.data.milestone.created_at):a.data.milestone.created_at,lodash.isEmpty(a.data.milestone)?null:this.format?await p(a.data.milestone.updated_at):a.data.milestone.updated_at,lodash.isEmpty(a.data.milestone)?null:this.format?await p(a.data.milestone.closed_at):a.data.milestone.closed_at,lodash.isEmpty(a.data.milestone)?null:this.format?await p(a.data.milestone.due_on):a.data.milestone.due_on]),c={id:a.data.id,html_url:a.data.html_url,number:a.data.number,state:a.data.state,title:a.data.title,body:a.data.body,user:{id:a.data.user.id,login:a.data.user.login,name:lodash.isEmpty(a.data.user.name)?null:a.data.user.name,email:lodash.isEmpty(a.data.user.email)?null:a.data.user.email,html_url:a.data.user.html_url,avatar_url:a.data.user.avatar_url},labels:lodash.isEmpty(a.data.labels)?null:a.data.labels.map(g=>({id:g.id,name:g.name,color:g.color})),assignee:lodash.isEmpty(a.data.assignee)?null:{id:a.data.assignee.id,login:a.data.assignee.login,name:lodash.isEmpty(a.data.assignee.name)?null:a.data.assignee.name,email:lodash.isEmpty(a.data.assignee.email)?null:a.data.assignee.email,html_url:a.data.assignee.html_url,avatar_url:a.data.assignee.avatar_url},assignees:lodash.isEmpty(a.data.assignees)?null:a.data.assignees.map(g=>({id:g.id,login:g.login,name:lodash.isEmpty(g.name)?null:g.name,email:lodash.isEmpty(g.email)?null:g.email,html_url:g.html_url,avatar_url:g.avatar_url})),milestone:lodash.isEmpty(a.data.milestone)?null:{id:a.data.milestone.id,url:a.data.milestone.url,number:a.data.milestone.number,state:a.data.milestone.state,title:a.data.milestone.title,description:a.data.milestone.description,open_issues:a.data.milestone.open_issues,closed_issues:a.data.milestone.closed_issues,created_at:u,updated_at:_,closed_at:T,due_on:y},created_at:n,updated_at:i,closed_at:l};a.data=c;}return a}catch(r){throw new Error(`[GitHub]\u521B\u5EFA\u8BAE\u9898\u5931\u8D25: ${r.message}`)}}async update_issue(t){if(!t.owner||!t.repo)throw new Error(f);if(!t.issue_number)throw new Error(O);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,issue_number:o,...e}=t,a={...e,...e.labels&&{labels:Array.isArray(e.labels)?e.labels:[e.labels]},...e.assignees&&{assignees:Array.isArray(e.assignees)?e.assignees:[e.assignees]}},n=await this.patch(`/repos/${r}/${s}/issues/${Number(o)}`,null,a);switch(n.statusCode){case 404:throw new Error(S);case 403:throw new Error(R);case 301:throw new Error(I)}if(n.data&&n.data){let[i,l,u,_,T,y,c]=await Promise.all([this.format?p(n.data.created_at):n.data.created_at,this.format?p(n.data.updated_at):n.data.updated_at,lodash.isEmpty(n.data.closed_at)?null:this.format?await p(n.data.closed_at):n.data.closed_at,lodash.isEmpty(n.data.milestone)?null:this.format?await p(n.data.milestone.created_at):n.data.milestone.created_at,lodash.isEmpty(n.data.milestone)?null:this.format?await p(n.data.milestone.updated_at):n.data.milestone.updated_at,lodash.isEmpty(n.data.milestone)?null:this.format?await p(n.data.milestone.closed_at):n.data.milestone.closed_at,lodash.isEmpty(n.data.milestone)?null:this.format?await p(n.data.milestone.due_on):n.data.milestone.due_on]),g={id:n.data.id,html_url:n.data.html_url,number:n.data.number,state:n.data.state,title:n.data.title,body:n.data.body,user:{id:n.data.user.id,login:n.data.user.login,name:lodash.isEmpty(n.data.user.name)?null:n.data.user.name,email:lodash.isEmpty(n.data.user.email)?null:n.data.user.email,html_url:n.data.user.html_url,avatar_url:n.data.user.avatar_url},labels:lodash.isEmpty(n.data.labels)?null:n.data.labels.map(b=>({id:b.id,name:b.name,color:b.color})),assignee:lodash.isEmpty(n.data.assignee)?null:{id:n.data.assignee.id,login:n.data.assignee.login,name:lodash.isEmpty(n.data.assignee.name)?null:n.data.assignee.name,email:lodash.isEmpty(n.data.assignee.email)?null:n.data.assignee,html_url:n.data.assignee.html_url,avatar_url:n.data.assignee.avatar_url},assignees:lodash.isEmpty(n.data.assignees)?null:n.data.assignees.map(b=>({id:b.id,login:b.login,name:lodash.isEmpty(b.name)?null:b.name,email:lodash.isEmpty(b.email)?null:b.email,html_url:b.html_url,avatar_url:b.avatar_url})),milestone:lodash.isEmpty(n.data.milestone)?null:{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:_,updated_at:T,closed_at:y,due_on:c},created_at:i,updated_at:l,closed_at:u};n.data=g;}return n}catch(r){throw new Error(`[GitHub] \u66F4\u65B0\u8BAE\u9898\u5931\u8D25: ${r.message}`)}}async open_issue(t){if(!t.owner||!t.repo)throw new Error(f);if(!t.issue_number)throw new Error(O);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,issue_number:o}=t,e=await this.patch(`/repos/${r}/${s}/issues/${o}`,null,{state:"open"});switch(e.statusCode){case 404:throw new Error(S);case 403:throw new Error(R);case 301:throw new Error(I)}if(e.data&&e.data){let[a,n,i,l,u,_,T]=await Promise.all([this.format?p(e.data.created_at):e.data.created_at,this.format?p(e.data.updated_at):e.data.updated_at,lodash.isEmpty(e.data.closed_at)?null:this.format?await p(e.data.closed_at):e.data.closed_at,lodash.isEmpty(e.data.milestone)?null:this.format?await p(e.data.milestone.created_at):e.data.milestone.created_at,lodash.isEmpty(e.data.milestone)?null:this.format?await p(e.data.milestone.updated_at):e.data.milestone.updated_at,lodash.isEmpty(e.data.milestone)?null:this.format?await p(e.data.milestone.closed_at):e.data.milestone.closed_at,lodash.isEmpty(e.data.milestone)?null:this.format?await p(e.data.milestone.due_on):e.data.milestone.due_on]),y={id:e.data.id,html_url:e.data.html_url,number:e.data.number,state:e.data.state,title:e.data.title,body:e.data.body,user:{id:e.data.user.id,login:e.data.user.login,name:lodash.isEmpty(e.data.user.name)?null:e.data.user.name,email:lodash.isEmpty(e.data.user.email)?null:e.data.user.email,html_url:e.data.user.html_url,avatar_url:e.data.user.avatar_url},labels:lodash.isEmpty(e.data.labels)?null:e.data.labels.map(c=>({id:c.id,name:c.name,color:c.color})),assignee:lodash.isEmpty(e.data.assignee)?null:{id:e.data.assignee.id,login:e.data.assignee.login,name:lodash.isEmpty(e.data.assignee.name)?null:e.data.assignee.name,email:lodash.isEmpty(e.data.assignee.email)?null:e.data.assignee.email,html_url:e.data.assignee.html_url,avatar_url:e.data.assignee.avatar_url},assignees:lodash.isEmpty(e.data.assignees)?null:e.data.assignees.map(c=>({id:c.id,login:c.login,name:lodash.isEmpty(c.name)?null:c.name,email:lodash.isEmpty(c.email)?null:c.email,html_url:c.html_url,avatar_url:c.avatar_url})),milestone:lodash.isEmpty(e.data.milestone)?null:{id:e.data.milestone.id,url:e.data.milestone.url,number:e.data.milestone.number,state:e.data.milestone.state,title:e.data.milestone.title,description:e.data.milestone.description,open_issues:e.data.milestone.open_issues,closed_issues:e.data.milestone.closed_issues,created_at:l,updated_at:u,closed_at:_,due_on:T},created_at:a,updated_at:n,closed_at:i};e.data=y;}return e}catch(r){throw new Error(`[GitHub] \u6253\u5F00\u8BAE\u9898\u5931\u8D25: ${r.message}`)}}async reopen_issue(t){return this.open_issue(t)}async close_issue(t){if(!t.owner||!t.repo)throw new Error(f);if(!t.issue_number)throw new Error(O);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,issue_number:o}=t,e=await this.patch(`/repos/${r}/${s}/issues/${o}`,null,{state:"closed"});switch(e.statusCode){case 404:throw new Error(S);case 403:throw new Error(R);case 301:throw new Error(I)}if(e.data){let[a,n,i,l,u,_,T]=await Promise.all([this.format?p(e.data.created_at):e.data.created_at,this.format?p(e.data.updated_at):e.data.updated_at,lodash.isEmpty(e.data.closed_at)?null:this.format?await p(e.data.closed_at):e.data.closed_at,lodash.isEmpty(e.data.milestone)?null:this.format?await p(e.data.milestone.created_at):e.data.milestone.created_at,lodash.isEmpty(e.data.milestone)?null:this.format?await p(e.data.milestone.updated_at):e.data.milestone.updated_at,lodash.isEmpty(e.data.milestone)?null:this.format?await p(e.data.milestone.closed_at):e.data.milestone.closed_at,lodash.isEmpty(e.data.milestone)?null:this.format?await p(e.data.milestone.due_on):e.data.milestone.due_on]),y={id:e.data.id,html_url:e.data.html_url,number:e.data.number,state:e.data.state,title:e.data.title,body:e.data.body,user:{id:e.data.user.id,login:e.data.user.login,name:lodash.isEmpty(e.data.user.name)?null:e.data.user.name,email:lodash.isEmpty(e.data.user.email)?null:e.data.user.email,html_url:e.data.user.html_url,avatar_url:e.data.user.avatar_url},labels:lodash.isEmpty(e.data.labels)?null:e.data.labels.map(c=>({id:c.id,name:c.name,color:c.color})),assignee:lodash.isEmpty(e.data.assignee)?null:{id:e.data.assignee.id,login:e.data.assignee.login,name:lodash.isEmpty(e.data.assignee.name)?null:e.data.assignee.name,email:lodash.isEmpty(e.data.assignee.email)?null:e.data.assignee.email,html_url:e.data.assignee.html_url,avatar_url:e.data.assignee.avatar_url},assignees:lodash.isEmpty(e.data.assignees)?null:e.data.assignees.map(c=>({id:c.id,login:c.login,name:lodash.isEmpty(c.name)?null:c.name,email:lodash.isEmpty(c.email)?null:c.email,html_url:c.html_url,avatar_url:c.avatar_url})),milestone:lodash.isEmpty(e.data.milestone)?null:{id:e.data.milestone.id,url:e.data.milestone.url,number:e.data.milestone.number,state:e.data.milestone.state,title:e.data.milestone.title,description:e.data.milestone.description,open_issues:e.data.milestone.open_issues,closed_issues:e.data.milestone.closed_issues,created_at:l,updated_at:u,closed_at:_,due_on:T},created_at:a,updated_at:n,closed_at:i};e.data=y;}return e}catch(r){throw new Error(`[GitHub] \u5173\u95ED\u8BAE\u9898\u5931\u8D25: ${r.message}`)}}async lock_issue(t){if(!t.owner||!t.repo)throw new Error(f);if(!t.issue_number)throw new Error(O);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,issue_number:o,lock_reason:e}=t,a=await this.put(`/repos/${r}/${s}/issues/${Number(o)}`,{locked:!0,lock_reason:e});switch(a.statusCode){case 404:throw new Error(S);case 403:throw new Error(R);case 301:throw new Error(I)}let n;return a.statusCode===204?n={success:!0,message:Qe}:n={success:!1,message:Qt},a.data=n,a}catch(r){throw new Error(`[GitHub] \u9501\u5B9A\u8BAE\u9898\u5931\u8D25: ${r.message}`)}}async unlock_issue(t){if(!t.owner||!t.repo)throw new Error(f);if(!t.issue_number)throw new Error(O);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,issue_number:o}=t,e=await this.delete(`/repos/${r}/${s}/issues/${o}/lock`);switch(e.statusCode){case 404:throw new Error(S);case 403:throw new Error(R);case 301:throw new Error(I)}let a;return e.statusCode===204?a={success:!0,message:Qe}:a={success:!1,message:Zt},e.data=a,e}catch(r){throw new Error(`[GitHub] \u89E3\u9501\u8BAE\u9898\u5931\u8D25: ${r.message}`)}}async get_repo_comments_list(t){if(!t.owner||!t.repo)throw new Error(f);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,...o}=t,e={};o.sort&&(e.sort=o.sort),o.direction&&o.direction&&(e.direction=o.direction),o.since&&(e.since=o.since),o.per_page&&(e.per_page=o.per_page.toString()),o.page&&(e.page=o.page.toString());let a=`/repos/${r}/${s}/issues/comments/`,n=await this.get(a,e);if(n.statusCode===404)throw new Error(q);if(n.data){let i=await Promise.all(n.data.map(async l=>({id:l.id,html_url:l.html_url,body:l.body,user:{id:l.user.id,login:l.user.login,name:lodash.isEmpty(l.user.name)?null:l.user.name,email:lodash.isEmpty(l.user.email)?null:l.user.email,html_url:l.user.html_url,avatar_url:l.user.avatar_url},created_at:this.format?await p(l.created_at):l.created_at,updated_at:this.format?await p(l.updated_at):l.updated_at})));n.data=i;}return n}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${r.message}`)}}async get_issue_comments_list(t){if(!t.owner||!t.repo)throw new Error(f);if(!t.issue_number)throw new Error(O);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,issue_number:o,...e}=t,a={};e.since&&(a.since=e.since),e.per_page&&(a.per_page=e.per_page.toString()),e.page&&(a.page=e.page.toString());let n=`/repos/${r}/${s}/issues/${Number(o)}/comments`,i=await this.get(n,a);if(i.statusCode===404)throw new Error(q);if(i.data){let l=await Promise.all(i.data.map(async u=>({id:u.id,html_url:u.html_url,body:u.body,user:{id:u.user.id,login:u.user.login,name:lodash.isEmpty(u.user.name)?null:u.user.name,email:lodash.isEmpty(u.user.email)?null:u.user.email,html_url:u.user.html_url,avatar_url:u.user.avatar_url},created_at:this.format?await p(u.created_at):u.created_at,updated_at:this.format?await p(u.updated_at):u.updated_at})));i.data=l;}return i}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u8BAE\u9898\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${r.message}`)}}async get_issue_comment_info(t){if(!t.owner||!t.repo)throw new Error(f);if(!t.comment_id)throw new Error(ce);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,comment_id:o}=t,e=await this.get(`/repos/${r}/${s}/issues/comments/${Number(o)}`);if(e.statusCode===404)throw new Error(q);if(e.data){let[a,n]=await Promise.all([this.format?await p(e.data.created_at):e.data.created_at,this.format?await p(e.data.updated_at):e.data.updated_at]),i={id:e.data.id,html_url:e.data.html_url,body:e.data.body,user:{id:e.data.user.id,login:e.data.user.login,name:lodash.isEmpty(e.data.user.name)?null:e.data.user.name,email:lodash.isEmpty(e.data.user.email)?null:e.data.user.email,html_url:e.data.user.html_url,avatar_url:e.data.user.avatar_url},created_at:a,updated_at:n};e.data=i;}return e}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async create_issue_comment(t){if(!t.owner||!t.repo)throw new Error(f);if(!t.issue_number)throw new Error(q);if(!t.body)throw new Error(Xt);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,issue_number:o,body:e}=t,a=await this.post(`/repos/${r}/${s}/issues/${Number(o)}/comments`,{body:e});if(a.statusCode===404)throw new Error(q);if(a.data){let[n,i]=await Promise.all([this.format?await p(a.data.created_at):a.data.created_at,this.format?await p(a.data.updated_at):a.data.updated_at]),l={id:a.data.id,html_url:`${this.base_url}/${r}/${s}/issues/${o}#${a.data.id}`,body:a.data.body,user:{id:a.data.user.id,login:a.data.user.login,name:lodash.isEmpty(a.data.user.name)?null:a.data.user.name,email:lodash.isEmpty(a.data.user.email)?null:a.data.user.email,html_url:a.data.user.html_url,avatar_url:a.data.user.avatar_url},created_at:n,updated_at:i};a.data=l;}return a}catch(r){throw new Error(`[GitHub] \u521B\u5EFA\u8BAE\u9898\u8BC4\u8BBA\u5931\u8D25: ${r.message}`)}}async update_issue_comment(t){if(!t.owner||!t.repo)throw new Error(f);if(!t.comment_id)throw new Error(ce);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,comment_id:o,...e}=t,a=await this.patch(`/repos/${r}/${s}/issues/comments/${Number(o)}`,null,e);if(a.statusCode===404)throw new Error(q);if(a.data){let[n,i]=await Promise.all([this.format?await p(a.data.created_at):a.data.created_at,this.format?await p(a.data.updated_at):a.data.updated_at]),l={id:a.data.id,html_url:a.data.html_url,body:a.data.body,user:{id:a.data.user.id,login:a.data.user.login,name:lodash.isEmpty(a.data.user.name)?null:a.data.user.name,email:lodash.isEmpty(a.data.user.email)?null:a.data.user.email,html_url:a.data.user.html_url,avatar_url:a.data.user.avatar_url},created_at:n,updated_at:i};a.data=l;}return a}catch(r){throw new Error(`[GitHub] \u66F4\u65B0\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async remove_issue_comment(t){if(!t.owner||!t.repo)throw new Error(f);if(!t.comment_id)throw new Error(ce);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,comment_id:o}=t,e=await this.delete(`/repos/${r}/${s}/issues/comments/${Number(o)}`);if(e.statusCode===404)throw new Error(q);let a;return e.statusCode===204?a={success:!0,message:Ua}:a={success:!1,message:ea},e.data=a,e}catch(r){throw new Error(`[GitHub] \u5220\u9664\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async delete_issue_comment(t){return this.remove_issue_comment(t)}async get_sub_issue_list(t){if(!t.owner||!t.repo)throw new Error(f);if(!t.issue_number)throw new Error(q);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,issue_number:o,...e}=t,a={};e.per_page&&(a.per_page=e.per_page.toString()),e.page&&(a.page=e.page.toString());let n=`/repos/${r}/${s}/issues/${Number(o)}/sub_issues`,i=await this.get(n,a);if(i.statusCode===404)throw new Error(S);if(i.data){let l=await Promise.all(i.data.map(async u=>({id:u.id,html_url:u.html_url,number:u.number,state:u.state,title:u.title,body:u.body,user:{id:u.user.id,login:u.user.login,name:lodash.isEmpty(i.data.user.name)?null:i.data.user.name,email:lodash.isEmpty(i.data.user.email)?null:i.data.user.email,html_url:u.user.html_url,avatar_url:u.user.avatar_url},labels:lodash.isEmpty(u.labels)?null:u.labels.map(_=>({id:_.id,name:_.name,color:_.color})),assignee:lodash.isEmpty(u.assignee)?null:{id:u.assignee.id,login:u.assignee.login,name:lodash.isEmpty(i.data.assignee.name)?null:i.data.assignee.name,email:lodash.isEmpty(i.data.assignee.email)?null:i.data.assignee.email,html_url:u.assignee.html_url,avatar_url:u.assignee.avatar_url},assignees:lodash.isEmpty(u.assignees)?null:u.assignees.map(_=>({id:_.id,login:_.login,name:lodash.isEmpty(_.name)?null:_.name,email:lodash.isEmpty(_.email)?null:_.email,html_url:_.html_url,avatar_url:_.avatar_url})),milestone:lodash.isEmpty(u.milestone)?null:{id:u.milestone.id,url:u.milestone.url,number:u.milestone.number,state:u.milestone.state,title:u.milestone.title,description:u.milestone.description,open_issues:u.milestone.open_issues,closed_issues:u.milestone.closed_issues,created_at:this.format?await p(u.milestone.created_at):u.milestone.created_at,updated_at:this.format?await p(u.milestone.updated_at):u.milestone.updated_at,closed_at:u.milestone.closed_at?this.format?await p(u.milestone.closed_at):u.milestone.closed_at:null,due_on:u.milestone.due_on?this.format?await p(u.milestone.due_on):u.milestone.due_on:null},created_at:this.format?await p(u.created_at):u.created_at,updated_at:this.format?await p(u.updated_at):u.updated_at,closed_at:lodash.isEmpty(u.closed_at)?null:this.format?await p(u.closed_at):u.closed_at})));i.data=l;}return i}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u5B50\u8BAE\u9898\u5217\u8868\u5931\u8D25: ${r.message}`)}}async create_sub_issue(t){if(!t.owner||!t.repo)throw new Error(f);if(!t.issue_number)throw new Error(q);if(!t.sub_issue_id)throw new Error(ge);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,issue_number:o,sub_issue_id:e,replace_parent:a}=t,n=await this.post(`/repos/${r}/${s}/issues/${o}/sub_issues`,{sub_issue_id:e,replace_parent:a});if(n.statusCode===404)throw new Error(S);if(n.data){let[i,l,u,_,T,y,c]=await Promise.all([this.format?p(n.data.created_at):n.data.created_at,this.format?p(n.data.updated_at):n.data.updated_at,lodash.isEmpty(n.data.closed_at)?null:this.format?await p(n.data.closed_at):n.data.closed_at,lodash.isEmpty(n.data.milestone)?null:this.format?await p(n.data.milestone.created_at):n.data.milestone.created_at,lodash.isEmpty(n.data.milestone)?null:this.format?await p(n.data.milestone.updated_at):n.data.milestone.updated_at,lodash.isEmpty(n.data.milestone)?null:this.format?await p(n.data.milestone.closed_at):n.data.milestone.closed_at,lodash.isEmpty(n.data.milestone)?null:this.format?await p(n.data.milestone.due_on):n.data.milestone.due_on]),g={id:n.data.id,html_url:n.data.html_url,number:n.data.number,state:n.data.state,title:n.data.title,body:n.data.body,user:{id:n.data.user.id,login:n.data.user.login,name:lodash.isEmpty(n.data.user.name)?null:n.data.user.name,email:lodash.isEmpty(n.data.user.email)?null:n.data.user.email,html_url:n.data.user.html_url,avatar_url:n.data.user.avatar_url},labels:lodash.isEmpty(n.data.labels)?null:n.data.labels.map(b=>({id:b.id,name:b.name,color:b.color})),assignee:lodash.isEmpty(n.data.assignee)?null:{id:n.data.assignee.id,login:n.data.assignee.login,name:lodash.isEmpty(n.data.assignee.name)?null:n.data.assignee.name,email:lodash.isEmpty(n.data.assignee.email)?null:n.data.assignee.email,html_url:n.data.assignee.html_url,avatar_url:n.data.assignee.avatar_url},assignees:lodash.isEmpty(n.data.assignees)?null:n.data.assignees.map(b=>({id:b.id,login:b.login,name:lodash.isEmpty(b.name)?null:b.name,email:lodash.isEmpty(b.email)?null:b.email,html_url:b.html_url,avatar_url:b.avatar_url})),milestone:lodash.isEmpty(n.data.milestone)?null:{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:_,updated_at:T,closed_at:y,due_on:c},created_at:i,updated_at:l,closed_at:u};n.data=g;}return n}catch(r){throw new Error(`[GitHub] \u6DFB\u52A0\u5B50\u8BAE\u9898\u5931\u8D25: ${r.message}`)}}async add_sub_issue(t){return await this.create_sub_issue(t)}async remove_sub_issue(t){if(!t.owner||!t.repo)throw new Error(f);if(!t.issue_number)throw new Error(q);if(!t.sub_issue_id)throw new Error(ge);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,issue_number:o,sub_issue_id:e}=t,a=await this.delete(`/repos/${r}/${s}/issues/${o}/sub_issue`,null,{sub_issue_id:e});if(a.statusCode===404)throw new Error(S);if(a.data){let[n,i,l,u,_,T,y]=await Promise.all([this.format?p(a.data.created_at):a.data.created_at,this.format?p(a.data.updated_at):a.data.updated_at,lodash.isEmpty(a.data.closed_at)?null:this.format?await p(a.data.closed_at):a.data.closed_at,lodash.isEmpty(a.data.milestone)?null:this.format?await p(a.data.milestone.created_at):a.data.milestone.created_at,lodash.isEmpty(a.data.milestone)?null:this.format?await p(a.data.milestone.updated_at):a.data.milestone.updated_at,lodash.isEmpty(a.data.milestone)?null:this.format?await p(a.data.milestone.closed_at):a.data.milestone.closed_at,lodash.isEmpty(a.data.milestone)?null:this.format?await p(a.data.milestone.due_on):a.data.milestone.due_on]),c={id:a.data.id,html_url:a.data.html_url,number:a.data.number,state:a.data.state,title:a.data.title,body:a.data.body,user:{id:a.data.user.id,login:a.data.user.login,name:lodash.isEmpty(a.data.user.name)?null:a.data.user.name,email:lodash.isEmpty(a.data.user.email)?null:a.data.user.email,html_url:a.data.user.html_url,avatar_url:a.data.user.avatar_url},labels:lodash.isEmpty(a.data.labels)?null:a.data.labels.map(g=>({id:g.id,name:g.name,color:g.color})),assignee:lodash.isEmpty(a.data.assignee)?null:{id:a.data.assignee.id,login:a.data.assignee.login,name:lodash.isEmpty(a.data.assignee.name)?null:a.data.assignee.name,email:lodash.isEmpty(a.data.assignee.email)?null:a.data.assignee.email,html_url:a.data.assignee.html_url,avatar_url:a.data.assignee.avatar_url},assignees:lodash.isEmpty(a.data.assignees)?null:a.data.assignees.map(g=>({id:g.id,login:g.login,name:lodash.isEmpty(g.name)?null:g.name,email:lodash.isEmpty(g.email)?null:g.email,html_url:g.html_url,avatar_url:g.avatar_url})),milestone:lodash.isEmpty(a.data.milestone)?null:{id:a.data.milestone.id,url:a.data.milestone.url,number:a.data.milestone.number,state:a.data.milestone.state,title:a.data.milestone.title,description:a.data.milestone.description,open_issues:a.data.milestone.open_issues,closed_issues:a.data.milestone.closed_issues,created_at:u,updated_at:_,closed_at:T,due_on:y},created_at:n,updated_at:i,closed_at:l};a.data=c;}return a}catch(r){throw new Error(`[GitHub] \u5220\u9664\u5B50\u8BAE\u9898\u5931\u8D25: ${r.message}`)}}async delete_sub_issue(t){return this.remove_sub_issue(t)}async reprioritize_sub_issue(t){if(!t.owner||!t.repo)throw new Error(f);if(!t.issue_number)throw new Error(q);if(!t.sub_issue_id)throw new Error(ge);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,issue_number:o,sub_issue_id:e,...a}=t,n={};a.before_id&&!a.after_id&&(n.before_id=a.before_id.toString()),a.after_id&&!a.before_id&&(n.after_id=a.after_id.toString());let i=`/repos/${r}/${s}/issues/${o}/sub_issues/priority`,l=await this.patch(i,n,{sub_issue_id:String(e)});if(l.statusCode===404)throw new Error(S);if(l.data){let[u,_,T,y,c,g,b]=await Promise.all([this.format?p(l.data.created_at):l.data.created_at,this.format?p(l.data.updated_at):l.data.updated_at,lodash.isEmpty(l.data.closed_at)?null:this.format?await p(l.data.closed_at):l.data.closed_at,lodash.isEmpty(l.data.milestone)?null:this.format?await p(l.data.milestone.created_at):l.data.milestone.created_at,lodash.isEmpty(l.data.milestone)?null:this.format?await p(l.data.milestone.updated_at):l.data.milestone.updated_at,lodash.isEmpty(l.data.milestone)?null:this.format?await p(l.data.milestone.closed_at):l.data.milestone.closed_at,lodash.isEmpty(l.data.milestone)?null:this.format?await p(l.data.milestone.due_on):l.data.milestone.due_on]),Cr={id:l.data.id,html_url:l.data.html_url,number:l.data.number,state:l.data.state,title:l.data.title,body:l.data.body,user:{id:l.data.user.id,login:l.data.user.login,name:lodash.isEmpty(l.data.user.name)?null:l.data.user.name,email:lodash.isEmpty(l.data.user.email)?null:l.data.user.email,html_url:l.data.user.html_url,avatar_url:l.data.user.avatar_url},labels:lodash.isEmpty(l.data.labels)?null:l.data.labels.map(M=>({id:M.id,name:M.name,color:M.color})),assignee:lodash.isEmpty(l.data.assignee)?null:{id:l.data.assignee.id,login:l.data.assignee.login,name:lodash.isEmpty(l.data.assignee.name)?null:l.data.assignee.name,email:lodash.isEmpty(l.data.assignee.email)?null:l.data.assignee.email,html_url:l.data.assignee.html_url,avatar_url:l.data.assignee.avatar_url},assignees:lodash.isEmpty(l.data.assignees)?null:l.data.assignees.map(M=>({id:M.id,login:M.login,name:lodash.isEmpty(M.name)?null:M.name,email:lodash.isEmpty(M.email)?null:M.email,html_url:M.html_url,avatar_url:M.avatar_url})),milestone:lodash.isEmpty(l.data.milestone)?null:{id:l.data.milestone.id,url:l.data.milestone.url,number:l.data.milestone.number,state:l.data.milestone.state,title:l.data.milestone.title,description:l.data.milestone.description,open_issues:l.data.milestone.open_issues,closed_issues:l.data.milestone.closed_issues,created_at:y,updated_at:c,closed_at:g,due_on:b},created_at:u,updated_at:_,closed_at:T};l.data=Cr;}return l}catch(r){throw new Error(`[GitHub] \u91CD\u65B0\u6392\u5E8F\u5B50\u8BAE\u9898\u5931\u8D25: ${r.message}`)}}};});var yr={};A(yr,{Repo:()=>xe});var xe,it=h(()=>{k();Re();v();pe();xe=class extends exports.GitHubClient{constructor(t){super(t),this.userToken=t.userToken,this.api_url=t.api_url,this.base_url=t.base_url;}async get_org_repos_list(t){if(!t.org)throw new Error(Z);try{this.setRequestConfig({token:this.userToken});let{org:r,...s}=t,o={};s?.type&&(o.type=s.type),s?.sort&&(o.sort=s.sort),s?.direction&&(o.direction=s.direction),s?.per_page&&(o.per_page=s.per_page.toString()),s?.page&&(o.page=s.page.toString());let e=`/orgs/${r}/repos`,a=await this.get(e,o);switch(a.statusCode){case 404:throw new Error(Z);case 401:throw new Error(C)}if(a.data){let n=await Promise.all(a.data.map(async i=>({id:i.id,name:i.name,full_name:i.full_name,owner:{id:i.owner.id,login:i.owner.login,name:lodash.isEmpty(i.owner.name)?null:i.owner.name,avatar_url:i.owner.avatar_url,type:i.owner.type,html_url:i.owner.html_url},public:!i.private,private:i.private,visibility:i.private?"private":"public",fork:i.fork,archived:i.archived,disabled:i.disabled,html_url:i.html_url,description:i.description,stargazers_count:i.stargazers_count,watchers_count:i.watchers_count,language:i.language,forks_count:i.forks_count,open_issues_count:i.open_issues_count,default_branch:i.default_branch,created_at:this.format?await p(i.created_at):i.created_at,updated_at:this.format?await p(i.updated_at):i.updated_at,pushed_at:this.format?await p(i.pushed_at):i.pushed_at})));a.data=n;}return a}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u7EC4\u7EC7\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${r.message}`)}}async get_user_repos_list_by_token(t){try{this.setRequestConfig({token:this.userToken});let{...r}=t,s={};!t?.visibility&&!t?.affiliation&&r?.type&&(s.type=r.type),r?.visibility&&(s.visibility=r.visibility),r?.affiliation&&(s.affiliation=r.affiliation),r?.sort&&(s.sort=r.sort),r?.direction&&(s.direction=r.direction),r?.per_page&&(s.per_page=r.per_page.toString()),r?.page&&(s.page=r.page.toString());let e=await this.get("/uses/repos",s);if(e.statusCode===401)throw new Error(C);if(e.data){let a=await Promise.all(e.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:lodash.isEmpty(n.owner.name)?null:n.owner.name,avatar_url:n.owner.avatar_url,type:n.owner.type,html_url:n.owner.html_url},public:!n.private,private:n.private,visibility:n.private?"private":"public",fork:n.fork,archived:n.archived,disabled:n.disabled,html_url:n.html_url,description:n.description,stargazers_count:n.stargazers_count,watchers_count:n.watchers_count,language:n.language,forks_count:n.forks_count,open_issues_count:n.open_issues_count,default_branch:n.default_branch,created_at:this.format?await p(n.created_at):n.created_at,updated_at:this.format?await p(n.updated_at):n.updated_at,pushed_at:this.format?await p(n.pushed_at):n.pushed_at})));e.data=a;}return e}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u6388\u6743\u7528\u6237\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${r.message}`)}}async get_user_repos_list(t){try{if(!t.username)throw new Error($);this.setRequestConfig({token:this.userToken});let{username:r,...s}=t,o={};s?.type&&(o.type=s.type),s?.sort&&(o.sort=s.sort),s?.direction&&(o.direction=s.direction),s?.per_page&&(o.per_page=s.per_page.toString()),s?.page&&(o.page=s.page.toString());let e=`/users/${r}/repos`,a=await this.get(e,o);switch(a.statusCode){case 404:throw new Error(Q);case 401:throw new Error(C)}if(a.data){let n=await Promise.all(a.data.map(async i=>({id:i.id,name:i.name,full_name:i.full_name,owner:{id:i.owner.id,login:i.owner.login,name:lodash.isEmpty(i.owner.name)?null:i.owner.name,avatar_url:i.owner.avatar_url,type:i.owner.type,html_url:i.owner.html_url},public:!i.private,private:i.private,visibility:i.private?"private":"public",fork:i.fork,archived:i.archived,disabled:i.disabled,html_url:i.html_url,description:i.description,stargazers_count:i.stargazers_count,watchers_count:i.watchers_count,language:i.language,forks_count:i.forks_count,open_issues_count:i.open_issues_count,default_branch:i.default_branch,created_at:this.format?await p(i.created_at):i.created_at,updated_at:this.format?await p(i.updated_at):i.updated_at,pushed_at:this.format?await p(i.pushed_at):i.pushed_at})));a.data=n;}return a}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u7528\u6237\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${r.message}`)}}async get_repo_info(t){if(!t.owner||!t.repo)throw new Error(f);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s}=t,o=await this.get(`/repos/${r}/${s}`);switch(o.statusCode){case 401:throw new Error(C);case 404:throw new Error(ee)}if(o.data){let e={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:lodash.isEmpty(o.data.owner.name)?null:o.data.owner.name,avatar_url:o.data.owner.avatar_url,type:o.data.owner.type,html_url:o.data.owner.html_url},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:this.format?await p(o.data.created_at):o.data.created_at,updated_at:this.format?await p(o.data.updated_at):o.data.updated_at,pushed_at:this.format?await p(o.data.pushed_at):o.data.pushed_at};o.data=e;}return o}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_repo_languages_list(t){if(!t.owner||!t.repo)throw new Error(f);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s}=t,o=await this.get(`/repos/${r}/${s}/languages`);switch(o.statusCode){case 401:throw new Error(C);case 404:throw new Error(I)}if(o.data){let e=Object.entries(o.data),a=e.reduce((l,[,u])=>l+u,0),i={languages:e.map(([l,u])=>({language:l,color:Ye(l.toLowerCase()),percent:Number((u/a*100).toFixed(2)),bytes:u}))};o.data=i;}return o}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5217\u8868\u5931\u8D25: ${r.message}`)}}async create_org_repo(t){try{let{org:r,...s}=t;if(!r||!t.name)throw new Error(zt);let o={};o.name=s.name,s.description&&(o.description=s.description.toString()),s.homepage&&(o.homepage=s.homepage.toString()),s.visibility&&(o.private=s.visibility.toString()),s.has_wiki&&(o.has_wiki=s.has_wiki),s.auto_init&&(o.auto_init=s.auto_init);let e=await this.post(`/orgs/${r}/repos`,o);if(e.statusCode===401)throw new Error(C);if(e.data){let a={id:e.data.id,name:e.data.name,full_name:e.data.full_name,owner:{id:e.data.owner.id,login:e.data.owner.login,name:lodash.isEmpty(e.data.owner.name)?null:e.data.owner.name,avatar_url:e.data.owner.avatar_url,type:e.data.owner.type,html_url:e.data.owner.html_url},public:!e.data.private,private:e.data.private,visibility:e.data.private?"private":"public",fork:e.data.fork,archived:e.data.archived,disabled:e.data.disabled,html_url:e.data.html_url,description:e.data.description,stargazers_count:e.data.stargazers_count,watchers_count:e.data.watchers_count,language:e.data.language,forks_count:e.data.forks_count,open_issues_count:e.data.open_issues_count,default_branch:e.data.default_branch,created_at:this.format?await p(e.data.created_at):e.data.created_at,updated_at:this.format?await p(e.data.updated_at):e.data.updated_at,pushed_at:this.format?await p(e.data.pushed_at):e.data.pushed_at};e.data=a;}return e}catch(r){throw new Error(`[GitHub] \u521B\u5EFA\u7EC4\u7EC7\u4ED3\u5E93\u5931\u8D25: ${r.message}`)}}async create_user_repo(t){try{let{owner:r,...s}=t;if(!r||!t.name)throw new Error(f);let o={};o.name=s.name,s.description&&(o.description=s.description.toString()),s.homepage&&(o.homepage=s.homepage.toString()),s.visibility==="private"&&(o.private=!0),s.has_wiki&&(o.has_wiki=s.has_wiki),s.auto_init&&(o.auto_init=s.auto_init);let e=await this.post("/user/repos",o);if(e.statusCode===401)throw new Error(C);if(e.data){let a={id:e.data.id,name:e.data.name,full_name:e.data.full_name,owner:{id:e.data.owner.id,login:e.data.owner.login,name:lodash.isEmpty(e.data.owner.name)?null:e.data.owner.name,avatar_url:e.data.owner.avatar_url,type:e.data.owner.type,html_url:e.data.owner.html_url},public:!e.data.private,private:e.data.private,visibility:e.data.private?"private":"public",fork:e.data.fork,archived:e.data.archived,disabled:e.data.disabled,html_url:e.data.html_url,description:e.data.description,stargazers_count:e.data.stargazers_count,watchers_count:e.data.watchers_count,language:e.data.language,forks_count:e.data.forks_count,open_issues_count:e.data.open_issues_count,default_branch:e.data.default_branch,created_at:this.format?await p(e.data.created_at):e.data.created_at,updated_at:this.format?await p(e.data.updated_at):e.data.updated_at,pushed_at:this.format?await p(e.data.pushed_at):e.data.pushed_at};e.data=a;}return e}catch(r){throw new Error(`[GitHub] \u521B\u5EFA\u7528\u6237\u4ED3\u5E93\u5931\u8D25: ${r.message}`)}}async create_repo(t){return this.create_user_repo(t)}async get_collaborators_list(t){if(!t.owner||!t.repo)throw new Error(f);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s}=t,{...o}=t,e={};o.affiliation&&(e.milestone=o.affiliation.toString()),o.permission&&(e.permission=o.permission.toString()),o.per_page&&(e.per_page=o.per_page.toString()),o.page&&(e.page=o.page.toString());let a=await this.get(`/repos/${r}/${s}/collaborators`,e);if(a.data){let n=await Promise.all(a.data.map(i=>({id:i.id,login:i.login,avatar_url:i.avatar_url,email:i.email,name:lodash.isEmpty(i.name)?null:i.owner.name,permissions:i.permissions==="triage"||i.permissions==="maintain"?"admin":i.permissions})));a.data=n;}return a}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u534F\u4F5C\u8005\u5217\u8868\u5931\u8D25: ${r.message}`)}}async add_collaborator(t){if(!t.owner||!t.repo)throw new Error(f);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,username:o,permission:e}=t,a={};e==="pull"?a.permission="pull":e==="push"?a.permission="push":e==="admin"?a.permission="admin":a.permission="pull";let n=await this.put(`/repos/${r}/${s}/collaborators/${o}`,a);if(n.statusCode===404)throw new Error(C);if(n.statusCode===422){let i=n.data.message;if(i&&i.includes("is not a valid permission"))throw new Error(R)}if(n.data){let i={id:n.data.inviter.id,login:n.data.inviter.login,name:lodash.isEmpty(n.data.inviter.name)?null:n.data.inviter.name,html_url:n.data.repository.html_url,permissions:n.data.permissions};n.data=i;}return n}catch(r){throw new Error(`[GitHub] \u6DFB\u52A0\u534F\u4F5C\u8005\u5931\u8D25: ${r.message}`)}}async remove_collaborator(t){if(!t.owner||!t.repo)throw new Error(f);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,username:o}=t,e=await this.delete(`/repos/${r}/${s}/collaborators/${o}`);if(e.statusCode===404)throw new Error(C);let a;return e.status&&e.statusCode===204?a={success:!0,message:va(o)}:a={success:!1,message:Gt(o)},e.data=a,e}catch(r){throw new Error(`[GitHub] \u79FB\u9664\u534F\u4F5C\u8005\u5931\u8D25: ${r.message}`)}}async delete_collaborator(t){return this.remove_collaborator(t)}async get_repo_visibility(t){try{let{owner:r,repo:s}=t;return (await this.get_repo_info({owner:r,repo:s})).data.visibility}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u53EF\u89C1\u6027\u5931\u8D25: ${r.message}`)}}async get_repo_default_branch(t){if(!t.owner||!t.repo)throw new Error(f);try{let{owner:r,repo:s}=t,o;try{let e=V(this.type,{proxyType:"original"})+"/"+r+"/"+s;o=await se(e);}catch{o=(await this.get_repo_info({owner:r,repo:s})).data.default_branch;}return o}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u9ED8\u8BA4\u5206\u652F\u5931\u8D25: ${r.message}`)}}async get_repo_main_language(t){if(!t.owner||!t.repo)throw new Error(f);try{let{owner:r,repo:s}=t;return (await this.get_repo_info({owner:r,repo:s})).data.language}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5931\u8D25: ${r.message}`)}}};});var hr={};A(hr,{User:()=>Ie});var Ie,pt=h(()=>{k();Re();v();pe();Ie=class extends exports.GitHubClient{constructor(t){super(t),this.userToken=t.userToken,this.base_url=t.base_url,this.api_url=t.api_url;}async get_user_info(t){if(!t.username)throw new Error(ee);try{this.setRequestConfig({token:this.userToken});let r=await this.get(`/users/${t.username}`);if(r.statusCode===401)throw new Error(R);if(r.statusCode===404)throw new Error(ee);if(r.data){let s={id:r.data.id,login:r.data.login,name:r.data.name||null,type:lodash.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=s;}return r}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u7528\u6237\u7EC7\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_user_info_by_user_id(t){if(!t.user_id)throw new Error(Wt);try{this.setRequestConfig({token:this.userToken});let r=await this.get(`/user/${t.user_id}`);if(r.statusCode===401)throw new Error(R);if(r.statusCode===404)throw new Error(Q);if(r.data){let s={id:r.data.id,login:r.data.login,name:r.data.name||null,type:lodash.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=s;}return r}catch(r){throw new Error(`[GitHub] \u901A\u8FC7\u7528\u6237id\u83B7\u53D6\u7528\u6237\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_user_info_by_auth(){if(!this.userToken)throw new Error(G);try{this.setRequestConfig({token:this.userToken});let t=await this.get("/user");switch(t.statusCode){case 401:throw new Error(R);case 404:throw new Error(Q)}if(t.data){let r={id:t.data.id,login:t.data.login,name:t.data.name||null,type:lodash.capitalize(t.data.type.toLowerCase()),html_url:t.data.html_url,avatar_url:t.data.avatar_url,email:t.data.email||null,bio:t.data.bio||null,blog:t.data.blog||null,public_repos:t.data.public_repos,followers:t.data.followers,following:t.data.following};t.data=r;}return t}catch(t){throw new Error(`[GitHub] \u83B7\u53D6\u6388\u6743\u7528\u6237\u4FE1\u606F\u5931\u8D25: ${t.message}`)}}async get_user_info_by_token(){return this.get_user_info_by_auth()}async get_user_contribution(t){try{if(!t.username)throw new Error($);if((await this.get_user_info({username:t.username})).data.type==="Organization")throw new Error(`${Ft}\u83B7\u53D6\u8D21\u732E\u65E5\u5386`);this.setRequestConfig({url:V(this.type,{proxyType:"original"})});let s=await this.get(`/${t.username}`,{action:"show",controller:"profiles",tab:"contributions",user_id:t.username},{"X-Requested-With":"XMLHttpRequest"});if(!s.success)throw new Error("\u83B7\u53D6\u7528\u6237\u8D21\u732E\u6570\u636E\u5931\u8D25");if(s.statusCode===404)throw new Error($);let o=await _a(s.data);return {...s,data:o}}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u7528\u6237\u8D21\u732E\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_user_id(){return (await this.get_user_info_by_auth()).data.id}async get_username(){return (await this.get_user_info_by_auth()).data.login}async get_nickname(){return (await this.get_user_info_by_auth()).data.name||null}async get_user_email(){return (await this.get_user_info_by_auth()).data.email||null}async get_avatar_url(){return (await this.get_user_info_by_auth()).data.avatar_url}};});var fr={};A(fr,{Org:()=>ve});var ve,ut=h(()=>{k();v();ve=class extends exports.GitHubClient{constructor(t){super(t),this.userToken=t.userToken,this.api_url=t.api_url,this.base_url=t.base_url;}async get_org_info(t){if(!t.org)throw new Error(L);let{org:r}=t;try{this.setRequestConfig({token:this.userToken});let s=await this.get(`/orgs/${r}`);if(s.statusCode===404)throw new Error(Z);if(s.data){let o={id:s.data.id,login:s.data.login,name:lodash.isEmpty(s.data.name)?null:s.data.name,avatar_url:s.data.avatar_url,description:s.data.description,html_url:s.data.html_url};s.data=o;}return s}catch(s){throw new Error(`[GitHub] \u83B7\u53D6\u7EC4\u7EC7\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}async get_org_member_info(t){if(!t.org)throw new Error(L);if(!t.username)throw new Error($);try{this.setRequestConfig({token:this.userToken});let{org:r,username:s}=t,o=await this.get(`/orgs/${r}/members/${s}`);if(o.statusCode===403)throw new Error(R);if(o.statusCode===404)throw new Error(Fe);if(o.data){let e={state:o.data.state,role:o.data.role,organization:{id:o.data.organization.id,login:o.data.organization.login,name:lodash.isEmpty(o.data.organization.name)?null:o.data.organization.name,html_url:o.data.organization.html_url},user:{id:o.data.user.id,login:o.data.user.login,name:lodash.isEmpty(o.data.user.name)?null:o.data.user.name,avatar_url:o.data.user.avatar_url,html_url:o.data.user.html_url}};o.data=e;}return o}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u7EC4\u7EC7\u6210\u5458\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_org_member_list(t){if(!t.org)throw new Error(L);try{this.setRequestConfig({token:this.userToken});let{org:r}=t,s={};t.per_page&&(s.per_page=t.per_page),t.page&&(s.page=t.page);let o=await this.get("/user/memberships/orgs",s);if(o.statusCode===403)throw new Error(R);if(o.statusCode===404)throw new Error(Fe);if(o.data){let e=o.data.filter(a=>a.organization.login===r).map(a=>({id:a.user.id,login:a.user.login,name:lodash.isEmpty(a.user.name)?null:a.user.name,role:a.role,avatar_url:a.user.avatar_url,html_url:a.user.html_url}));o.data=e;}return o}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u7EC4\u7EC7\u6210\u5458\u5217\u8868\u5931\u8D25: ${r.message}`)}}async add_member(t){if(!t.org)throw new Error(L);if(!t.username)throw new Error($);try{this.setRequestConfig({token:this.userToken});let r,s,{org:o,username:e,role:a}=t;if(e){let l=await this.get_user();try{r=await l.get_user_id();}catch{s=await l.get_user_email();}}let n={};r?n.invitee_id=r:s&&(n.email=s),a==="admin"?n.role="admin":n.role="direct_member";let i=await this.post(`/orgs/${o}/invitations`,n);if(i.statusCode===404)throw new Error(C);if(i.statusCode===422){let l=i.data.message;if(l&&l.includes("is not a valid permission"))throw new Error(R)}if(i.data){let l={id:i.data.inviter.id,login:i.data.inviterlogin,name:i.data.inviter.name,html_url:`${this.Client_Secret}/${o}`,role:a};i.data=l;}return i}catch(r){throw new Error(`[GitHub] \u6DFB\u52A0\u7EC4\u7EC7\u6210\u5458\u5931\u8D25: ${r.message}`)}}async remove_org_member(t){if(!t.org)throw new Error(L);if(!t.username)throw new Error($);try{this.setRequestConfig({token:this.userToken});let{org:r,username:s}=t,o=await this.delete(`/orgs/${r}/members/${s}`);if(o.statusCode===403)throw new Error(R);let e;return o.statusCode===204?e={success:!0,message:Sa(s)}:e={success:!1,message:jt(s)},o.data=e,o}catch(r){throw new Error(`[GitHub] \u79FB\u9664\u7EC4\u7EC7\u6210\u5458\u5931\u8D25: ${r.message}`)}}};});var br={};A(br,{WebHook:()=>Me});var Me,dt=h(()=>{k();v();Me=class extends exports.GitHubClient{async check_webhook_signature(t){if(!this.WebHook_Secret)throw new Error(pa);if(!t.payload)throw new Error(ua);if(!t.signature)throw new Error(da);if(!t.signature.startsWith("sha256="))throw new Error(ia);let r=false,s="error",o=400,e,a,n=wr__default.default.createHmac("sha256",this.WebHook_Secret),i=typeof t.payload=="string"?t.payload:JSON.stringify(t.payload);n.update(i,"utf8");let l=n.digest("hex"),u=t.signature.replace("sha256=","");return wr__default.default.timingSafeEqual(Buffer.from(l),Buffer.from(u))?(r=true,s="ok",o=200,e="\u8BF7\u6C42\u6210\u529F",a={success:r,message:Oa}):(r=false,s="error",o=403,e="\u8BF7\u6C42\u5931\u8D25",a={success:r,message:la}),Promise.resolve({success:r,status:s,statusCode:o,msg:e,data:a})}};});var Rr={};A(Rr,{Pull_Request:()=>Ae});var Ae,mt=h(()=>{k();v();Ae=class extends exports.GitHubClient{constructor(t){super(t),this.userToken=t.userToken,this.api_url=t.api_url,this.base_url=t.base_url;}async get_pull_request_info(t){if(!(t.owner||t.repo))throw new Error(f);if(!t.pr_number)throw new Error(W);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,pr_number:o}=t,e=await this.get(`/repos/${r}/${s}/pulls/${o}`);if(e.data){let[a,n,i,l,u,_,T,y]=await Promise.all([this.format?p(e.data.created_at):e.data.created_at,this.format?p(e.data.updated_at):e.data.updated_at,lodash.isEmpty(e.data.merged_at)?null:this.format?await p(e.data.merged_at):e.data.merged_at,lodash.isEmpty(e.data.closed_at)?null:this.format?await p(e.data.closed_at):e.data.closed_at,this.format?await p(e.data.milestone.created_at):e.data.milestone.created_at,this.format?await p(e.data.milestone.updated_at):e.data.milestone.updated_at,lodash.isEmpty(e.data.milestone.closed_at)?null:this.format?await p(e.data.milestone.closed_at):e.data.milestone.closed_at,lodash.isEmpty(e.data.milestone.due_on)?null:this.format?await p(e.data.milestone.due_on):e.data.milestone.due_on]),c={id:e.data.id,html_url:e.data.html_url,number:e.data.number,state:e.data.merged_at&&!lodash.isEmpty(e.data.merged_at)?"merged":e.data.state,locked:e.data.locked,title:e.data.title,body:e.data.body,draft:e.data.draft,created_at:a,merged_at:n,updated_at:i,closed_at:l,user:{id:e.data.user.id,login:e.data.user.login,name:lodash.isEmpty(e.data.user.name)?null:e.data.user.name,html_url:e.data.user.html_url,avatar_url:e.data.user.avatar_url},base:{label:e.data.base.label,ref:e.data.base.ref,sha:e.data.base.sha,user:{id:e.data.base.user.id,login:e.data.base.user.login,name:lodash.isEmpty(e.data.base.user.name)?null:e.data.base.user.name,html_url:e.data.base.user.html_url,avatar_url:e.data.base.user.avatar_url},repo:{id:e.data.base.repo.id,owner:e.data.base.repo.owner,name:e.data.base.repo.name,full_name:e.data.base.repo.full_name}},head:{label:e.data.head.label,ref:e.data.head.ref,sha:e.data.head.sha,user:{id:e.data.head.user.id,login:e.data.head.user.login,name:lodash.isEmpty(e.data.head.user.name)?null:e.data.head.user.name,html_url:e.data.head.user.html_url,avatar_url:e.data.head.user.avatar_url},repo:{id:e.data.head.repo.id,owner:e.data.head.repo.owner,name:e.data.head.repo.name,full_name:e.data.head.repo.full_name}},assignee:lodash.isEmpty(e.data.assignee)?null:{id:e.data.assignee.id,login:e.data.assignee.login,name:lodash.isEmpty(e.data.assignee.name)?null:e.data.assignee.name,html_url:e.data.assignee.html_url,avatar_url:e.data.assignee.avatar_url},assignees:lodash.isEmpty(e.data.assignees)?null:e.data.assignees.map(g=>({id:g.id,login:g.login,name:lodash.isEmpty(g.name)?null:g.name,html_url:g.html_url,avatar_url:g.avatar_url})),milestone:lodash.isEmpty(e.data.milestone)?null:{id:e.data.milestone.id,url:e.data.milestone.url,number:e.data.milestone.number,state:e.data.milestone.state,title:e.data.milestone.title,description:e.data.milestone.description,open_issues:e.data.milestone.open_issues,closed_issues:e.data.milestone.closed_issues,created_at:u,updated_at:_,closed_at:T,due_on:y},labels:lodash.isEmpty(e.data.labels)?null:e.data.labels.map(g=>({id:g.id,name:g.name,color:g.color})),commits:e.data.commits,additions:e.data.additions,deletions:e.data.deletions,changed_files:e.data.changed_files};e.data=c;}return e}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u62C9\u53D6\u8BF7\u6C42\u4FE1\u606F\u5931\u8D25\uFF1A ${r.message}`)}}async get_get_pull_request_list(t){if(!(t.owner||t.repo))throw new Error(f);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,...o}=t,e={};o.state&&(e.state=o.state),o.base&&(e.base=o.base),o.sort&&(e.sort=o.sort),o.direction&&!o.sort&&(e.direction=o.direction),o.per_page&&(e.per_page=o.per_page.toString()),o.page&&(e.page=o.page.toString());let a=await this.get(`/repos/${r}/${s}/pulls`,e);if(a.data){let n=await Promise.all(a.data.map(async i=>({id:i.id,html_url:i.html_url,number:i.number,state:lodash.isEmpty(i.merged_at)?i.state:"merged",locked:i.locked,title:i.title,body:i.body,draft:i.draft,created_at:this.format?p(i.created_at):i.created_at,merged_at:lodash.isEmpty(i.merged_at)?null:this.format?await p(i.merged_at):i.merged_at,updated_at:this.format?p(i.updated_at):i.updated_at,closed_at:lodash.isEmpty(i.closed_at)?null:this.format?await p(i.closed_at):i.closed_at,user:{id:i.user.id,login:i.user.login,name:lodash.isEmpty(i.user.name)?null:i.user.name,html_url:i.user.html_url,avatar_url:i.user.avatar_url},base:{label:i.base.label,ref:i.base.ref,sha:i.base.sha,user:{id:i.base.user.id,login:i.base.user.login,name:lodash.isEmpty(i.base.user.name)?i.base.user.login:i.base.user.name,html_url:i.base.user.html_url,avatar_url:i.base.user.avatar_url},repo:{id:i.base.repo.id,owner:i.base.repo.owner,name:i.base.repo.name,full_name:i.base.repo.full_name}},head:{label:i.head.label,ref:i.head.ref,sha:i.head.sha,user:{id:i.head.user.id,login:i.head.user.login,name:lodash.isEmpty(i.head.user.name)?null:i.head.user.name,html_url:i.head.user.html_url,avatar_url:i.head.user.avatar_url},repo:{id:i.head.repo.id,owner:i.head.repo.owner,name:i.head.repo.name,full_name:i.head.repo.full_name}},assignee:lodash.isEmpty(i.assignee)?null:{id:i.assignee.id,name:i.assignee.name,login:i.assignee.login,html_url:i.assignee.html_url,avatar_url:i.assignee.avatar_url},assignees:lodash.isEmpty(i.assignees)?null:i.assignees.map(l=>({id:l.id,name:l.name,login:l.login,html_url:l.html_url,avatar_url:l.avatar_url})),milestone:lodash.isEmpty(i.milestone)?null:{id:i.milestone.id,url:i.milestone.url,number:i.milestone.number,state:i.milestone.state,title:i.milestone.title,description:i.milestone.description,open_issues:i.milestone.open_issues,closed_issues:i.milestone.closed_issues,created_at:this.format?await p(i.milestone.created_at):i.milestone.created_at,updated_at:this.format?await p(i.milestone.updated_at):i.milestone.updated_at,closed_at:i.milestone.closed_at?this.format?await p(i.milestone.closed_at):i.milestone.closed_at:null,due_on:i.milestone.due_on?this.format?await p(i.milestone.due_on):i.milestone.due_on:null},labels:lodash.isEmpty(i.labels)?null:i.labels.map(l=>({id:l.id,name:l.name,color:l.color})),commits:i.commits,additions:i.additions,deletions:i.deletions,changed_files:i.changed_files})));a.data=n;}return a}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u62C9\u53D6\u8BF7\u6C42\u5217\u8868\u5931\u8D25\uFF1A ${r.message}`)}}async create_pull_request(t){if(!(t.owner||t.repo))throw new Error(f);if(!t.head)throw new Error(ta);if(!t.base)throw new Error(aa);if(!("issue"in t)&&!("title"in t))throw new Error(Vt);try{this.setRequestConfig({token:this.userToken});let r={};if("issue"in t){if(!t.issue)throw new Error(Jt);r.issue=t.issue;}else if("title"in t){if(!t.title)throw new Error(Pt);r.title=t.title,t.body&&(r.body=t.body);}t.head&&(r.head=t.head),t.head_repo&&(r.head_repo=t.head_repo),t.base&&(r.base=t.base),t.draft&&(r.draft=t.draft);let{owner:s,repo:o}=t,e=await this.post(`/repos/${s}/${o}/pulls`,r);if(e.statusCode===403)throw new Error(R);if(e.data){let[a,n,i,l,u,_,T,y]=await Promise.all([this.format?p(e.data.created_at):e.data.created_at,this.format?p(e.data.updated_at):e.data.updated_at,e.data.merged_at?this.format?await p(e.data.merged_at):e.data.merged_at:null,e.data.closed_at?this.format?await p(e.data.closed_at):e.data.closed_at:null,this.format?await p(e.data.milestone.created_at):e.data.milestone.created_at,this.format?await p(e.data.milestone.updated_at):e.data.milestone.updated_at,e.data.milestone.closed_at?this.format?await p(e.data.milestone.closed_at):e.data.milestone.closed_at:null,e.data.milestone.due_on?this.format?await p(e.data.milestone.due_on):e.data.milestone.due_on:null]),c={id:e.data.id,html_url:e.data.html_url,number:e.data.number,state:lodash.isEmpty(e.data.merged_at)?e.data.state:"merged",locked:e.data.locked,title:e.data.title,body:e.data.body,draft:e.data.draft,created_at:a,merged_at:n,updated_at:i,closed_at:l,user:{id:e.data.user.id,login:e.data.user.login,name:lodash.isEmpty(e.data.user.name)?null:e.data.user.name,html_url:e.data.user.html_url,avatar_url:e.data.user.avatar_url},base:{label:e.data.base.label,ref:e.data.base.ref,sha:e.data.base.sha,user:{id:e.data.base.user.id,login:e.data.base.user.login,name:lodash.isEmpty(e.data.base.user.name)?null:e.data.base.user.name,html_url:e.data.base.user.html_url,avatar_url:e.data.base.user.avatar_url},repo:{id:e.data.base.repo.id,owner:e.data.base.repo.owner,name:e.data.base.repo.name,full_name:e.data.base.repo.full_name}},head:{label:e.data.head.label,ref:e.data.head.ref,sha:e.data.head.sha,user:{id:e.data.head.user.id,login:e.data.head.user.login,name:lodash.isEmpty(e.data.head.user.name)?null:e.data.head.user.name,html_url:e.data.head.user.html_url,avatar_url:e.data.head.user.avatar_url},repo:{id:e.data.head.repo.id,owner:e.data.head.repo.owner,name:e.data.head.repo.name,full_name:e.data.head.repo.full_name}},assignee:lodash.isEmpty(e.data.assignee)?null:{id:e.data.assignee.id,login:e.data.assignee.login,name:lodash.isEmpty(e.data.assignee.name)?null:e.data.assignee.name,html_url:e.data.assignee.html_url,avatar_url:e.data.assignee.avatar_url},assignees:lodash.isEmpty(e.data.assignees)?null:e.data.assignees.map(g=>({id:g.id,login:g.login,name:lodash.isEmpty(g.name)?null:g.name,html_url:g.html_url,avatar_url:g.avatar_url})),milestone:lodash.isEmpty(e.data.milestone)?null:{id:e.data.milestone.id,url:e.data.milestone.url,number:e.data.milestone.number,state:e.data.milestone.state,title:e.data.milestone.title,description:e.data.milestone.description,open_issues:e.data.milestone.open_issues,closed_issues:e.data.milestone.closed_issues,created_at:u,updated_at:_,closed_at:T,due_on:y},labels:lodash.isEmpty(e.data.labels)?null:e.data.labels.map(g=>({id:g.id,name:g.name,color:g.color})),commits:e.data.commits,additions:e.data.additions,deletions:e.data.deletions,changed_files:e.data.changed_files};e.data=c;}return e}catch(r){throw new Error(`[GitHub] \u521B\u5EFA\u62C9\u53D6\u8BF7\u6C42\u5931\u8D25: ${r.message}`)}}async update_pull_request(t){if(!(t.owner||t.repo))throw new Error(f);if(!t.pr_number)throw new Error(W);try{this.setRequestConfig({token:this.userToken});let r={};t.title&&(r.title=t.title),t.body&&(r.body=t.body),t.state&&(r.state=t.state);let{owner:s,repo:o,pr_number:e}=t,a=await this.patch(`/repos/${s}/${o}/pulls/${e}`,null,r);if(a.statusCode===403)throw new Error(R);if(a.data){let[n,i,l,u,_,T,y,c]=await Promise.all([this.format?p(a.data.created_at):a.data.created_at,this.format?p(a.data.updated_at):a.data.updated_at,a.data.merged_at?this.format?await p(a.data.merged_at):a.data.merged_at:null,a.data.closed_at?this.format?await p(a.data.closed_at):a.data.closed_at:null,this.format?await p(a.data.milestone.created_at):a.data.milestone.created_at,this.format?await p(a.data.milestone.updated_at):a.data.milestone.updated_at,a.data.milestone.closed_at?this.format?await p(a.data.milestone.closed_at):a.data.milestone.closed_at:null,a.data.milestone.due_on?this.format?await p(a.data.milestone.due_on):a.data.milestone.due_on:null]),g={id:a.data.id,html_url:a.data.html_url,number:a.data.number,state:lodash.isEmpty(a.data.merged_at)?a.data.state:"merged",locked:a.data.locked,title:a.data.title,body:a.data.body,draft:a.data.draft,created_at:n,merged_at:i,updated_at:l,closed_at:u,user:{id:a.data.user.id,login:a.data.user.login,name:lodash.isEmpty(a.data.user.name)?null:a.data.user.name,html_url:a.data.user.html_url,avatar_url:a.data.user.avatar_url},base:{label:a.data.base.label,ref:a.data.base.ref,sha:a.data.base.sha,user:{id:a.data.base.user.id,login:a.data.base.user.login,name:lodash.isEmpty(a.data.base.user.name)?null:a.data.base.user.name,html_url:a.data.base.user.html_url,avatar_url:a.data.base.user.avatar_url},repo:{id:a.data.base.repo.id,owner:a.data.base.repo.owner,name:a.data.base.repo.name,full_name:a.data.base.repo.full_name}},head:{label:a.data.head.label,ref:a.data.head.ref,sha:a.data.head.sha,user:{id:a.data.head.user.id,login:a.data.head.user.login,name:lodash.isEmpty(a.data.head.user.name)?null:a.data.head.user.name,html_url:a.data.head.user.html_url,avatar_url:a.data.head.user.avatar_url},repo:{id:a.data.head.repo.id,owner:a.data.head.repo.owner,name:a.data.head.repo.name,full_name:a.data.head.repo.full_name}},assignee:lodash.isEmpty(a.data.assignee)?null:{id:a.data.assignee.id,login:a.data.assignee.login,name:lodash.isEmpty(a.data.assignee.name)?null:a.data.assignee.name,html_url:a.data.assignee.html_url,avatar_url:a.data.assignee.avatar_url},assignees:lodash.isEmpty(a.data.assignees)?null:a.data.assignees.map(b=>({id:b.id,login:b.login,name:lodash.isEmpty(b.name)?null:b.name,html_url:b.html_url,avatar_url:b.avatar_url})),milestone:lodash.isEmpty(a.data.milestone)?null:{id:a.data.milestone.id,url:a.data.milestone.url,number:a.data.milestone.number,state:a.data.milestone.state,title:a.data.milestone.title,description:a.data.milestone.description,open_issues:a.data.milestone.open_issues,closed_issues:a.data.milestone.closed_issues,created_at:_,updated_at:T,closed_at:y,due_on:c},labels:lodash.isEmpty(a.data.labels)?null:a.data.labels.map(b=>({id:b.id,name:b.name,color:b.color})),commits:a.data.commits,additions:a.data.additions,deletions:a.data.deletions,changed_files:a.data.changed_files};a.data=g;}return a}catch(r){throw new Error(`[GitHub] \u66F4\u65B0\u62C9\u53D6\u8BF7\u6C42\u5931\u8D25: ${r.message}`)}}async merge_pull_request(t){if(!(t.owner||t.repo))throw new Error(f);if(!t.pr_number)throw new Error(W);try{this.setRequestConfig({token:this.userToken});let r={};if(t.commit_title&&(r.commit_title=t.commit_title),t.commit_message&&(r.commit_message=t.commit_message),t.sha&&(r.sha=t.sha),t.merge_method){let n=["merge","squash","rebase"];r.merge_method=n.includes(t.merge_method)?t.merge_method:n[0];}let{owner:s,repo:o,pr_number:e}=t,a=await this.put(`/repos/${s}/${o}/pulls/${e}/merge`,r);switch(a.statusCode){case 403:throw new Error(R);case 404:throw new Error(ye);case 405:throw new Error(ra);case 409:throw new Error(sa)}if(a.statusCode===200&&a.data){let n={sha:a.data.sha,merged:a.data.merged,message:a.data.message};a.data=n;}return a}catch(r){throw new Error(`[GitHub] \u5408\u5E76\u62C9\u53D6\u8BF7\u6C42\u5931\u8D25: ${r.message}`)}}async get_pull_request_files_list(t){if(!(t.owner||t.repo))throw new Error(f);if(!t.pr_number)throw new Error(W);try{this.setRequestConfig({token:this.userToken});let r={};t.per_page&&(r.per_page=t.per_page),t.page&&(r.page=t.page);let{owner:s,repo:o,pr_number:e}=t,a=await this.get(`/repos/${s}/${o}/pulls/${e}/files`,r);switch(a.statusCode){case 403:throw new Error(R);case 404:throw new Error(ye)}if(a.data){let n=a.data.map(i=>({sha:i.sha,filename:i.filename,status:i.status,additions:i.additions,deletions:i.deletions,changes:i.changes,blob_url:i.blob_url,raw_url:i.raw_url,patch:i.patch}));a.data=n;}return a}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u62C9\u53D6\u8BF7\u6C42\u6587\u4EF6\u5217\u8868\u5931\u8D25: ${r.message}`)}}async get_pull_request_comment_info(t){if(!(t.owner||t.repo))throw new Error(f);if(!t.comment_id)throw new Error(_e);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,comment_id:o}=t,e=await this.get(`/repos/${r}/${s}/pulls/comments/${o}`);switch(e.statusCode){case 403:throw new Error(R);case 404:throw new Error(te)}if(e.data){let[a,n]=await Promise.all([this.format?p(e.data.created_at):e.data.created_at,this.format?p(e.data.updated_at):e.data.updated_at]),i={id:e.data.id,body:e.data.body,user:{id:e.data.user.id,login:e.data.user.login,name:lodash.isEmpty(e.data.user.name)?null:e.data.user.name,avatar_url:e.data.user.avatar_url,html_url:e.data.user.html_url},created_at:a,updated_at:n};e.data=i;}return e}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_pull_request_comments_list(t){if(!(t.owner||t.repo))throw new Error(f);if(!t.pr_number)throw new Error(W);try{this.setRequestConfig({token:this.userToken});let r={};t.direction&&(r.direction=t.direction),t.per_page&&(r.per_page=t.per_page),t.page&&(r.page=t.page);let{owner:s,repo:o,pr_number:e}=t,a=await this.get(`/repos/${s}/${o}/pulls/${e}/comments`,r);switch(a.statusCode){case 403:throw new Error(R);case 404:throw new Error(te)}if(a.data){let n=await Promise.all(a.data.map(async i=>({id:i.id,body:i.body,user:{id:i.user.id,login:i.user.login,name:lodash.isEmpty(i.user.name)?null:i.user.name,html_url:i.user.html_url,avatar_url:i.user.avatar_url},created_at:this.format?await p(i.created_at):i.created_at,updated_at:this.format?await p(i.updated_at):i.updated_at})));a.data=n;}return a}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${r.message}`)}}async create_pull_request_comment(t){if(!(t.owner||t.repo))throw new Error(f);if(!t.pr_number)throw new Error(W);if(!t.body)throw new Error(ze);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,pr_number:o,body:e}=t,a=await this.post(`/repos/${r}/${s}/pulls/${o}/comments`,{body:e});switch(a.statusCode){case 403:throw new Error(R);case 404:throw new Error(ye)}if(a.data){let n={id:a.data.id,body:a.data.body};a.data=n;}return a}catch(r){throw new Error(`[GitHub] \u521B\u5EFA\u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u5931\u8D25: ${r.message}`)}}async update_pull_request_comment(t){if(!(t.owner||t.repo))throw new Error(f);if(!t.comment_id)throw new Error(_e);if(!t.body)throw new Error(ze);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,comment_id:o,body:e}=t,a=await this.patch(`/repos/${r}/${s}/issues/comments/${o}`,null,{body:e});switch(a.statusCode){case 403:throw new Error(R);case 404:throw new Error(te)}let n;return a.statusCode===200?n={success:!0,message:Ga}:n={success:!1,message:oa},a.data=n,a}catch(r){throw new Error(`[GitHub] \u66F4\u65B0\u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u5931\u8D25: ${r.message}`)}}async edit_pull_request_comment(t){return await this.update_pull_request_comment(t)}async delete_pull_request_comment(t){if(!(t.owner||t.repo))throw new Error(f);if(!t.comment_id)throw new Error(_e);try{let r=await this.delete(`/repos/${t.owner}/${t.repo}/pulls/comments/${t.comment_id}`);switch(r.statusCode){case 403:throw new Error(R);case 404:throw new Error(te)}let s;return r.statusCode===204?s={success:!0,message:La}:(s={success:!1,message:na},r.data=s),r}catch(r){throw new Error(`[GitHub] \u5220\u9664\u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u5931\u8D25: ${r.message}`)}}};});var Tr={};A(Tr,{Workflow:()=>qe});var qe,ct=h(()=>{k();v();qe=class extends exports.GitHubClient{constructor(t){super(t),this.userToken=t.userToken,this.base_url=t.base_url,this.api_url=t.api_url;}async get_workflow_info(t){if(!t.owner||!t.repo)throw new Error(f);if(!t.workflow_id)throw new Error(X);try{let{owner:r,repo:s,workflow_id:o}=t;this.setRequestConfig({token:this.userToken});let e=await this.get(`/repos/${r}/${s}/actions/workflows/${o}`);if(e.statusCode===404)throw new Error(B);if(e.data){let a={id:e.data.id,html_url:e.data.html_url,name:e.data.name,path:e.data.path,state:e.data.state,created_at:this.format?await p(e.data.created_at):e.data.created_at,updated_at:this.format?await p(e.data.updated_at):e.data.updated_at};e.data=a;}return e}catch(r){throw new Error(`\u83B7\u53D6\u5DE5\u4F5C\u6D41\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_repo_workflows_list(t){if(!t.owner||!t.repo)throw new Error(f);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s}=t,o={};t.per_page&&(o.per_page=t.per_page),t.page&&(o.page=t.page);let e=await this.get(`/repos/${r}/${s}/actions/workflows`,o);if(e.statusCode===404)throw new Error(B);if(e.data){let a={total:e.data.total_count,workflows:await Promise.all(e.data.workflows.map(async n=>({id:n.id,html_url:n.html_url,name:n.name,path:n.path,state:n.state,created_at:this.format?await p(n.created_at):n.created_at,updated_at:this.format?await p(n.updated_at):n.updated_at})))};e.data=a;}return e}catch(r){throw new Error(`\u83B7\u53D6\u5DE5\u4F5C\u6D41\u5217\u8868\u5931\u8D25: ${r.message}`)}}async run_repo_workflow(t){if(!t.owner||!t.repo)throw new Error(f);if(!t.workflow_id)throw new Error(X);if(!t.ref)throw new Error(Lt);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,workflow_id:o}=t,e={ref:t.ref};t.inputs&&(e.inputs=t.inputs);let a=await this.post(`/repos/${r}/${s}/actions/workflows/${o}/dispatches`,e);if(a.statusCode===404)throw new Error(B);if(a.statusCode===403)throw new Error(R);let n;return a.statusCode===204?n={success:!0,message:Ma(o)}:n={success:!1,message:Dt(o)},a.data=n,a}catch(r){throw new Error(`\u8FD0\u884C\u5DE5\u4F5C\u6D41\u5931\u8D25: ${r.message}`)}}async enable_repo_workflow(t){if(!t.owner||!t.repo)throw new Error(f);if(!t.workflow_id)throw new Error(X);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,workflow_id:o}=t,e=await this.put(`/repos/${r}/${s}/actions/workflows/${o}/enable`,null);if(e.statusCode===404)throw new Error(B);if(e.statusCode===403)throw new Error(R);let a;return e.statusCode===204?a={success:!0,message:Aa(o)}:a={success:!1,message:Ht(o)},e.data=a,e}catch(r){throw new Error(`\u542F\u7528\u5DE5\u4F5C\u6D41\u5931\u8D25: ${r.message}`)}}async disable_repo_workflow(t){if(!t.owner||!t.repo)throw new Error(f);if(!t.workflow_id)throw new Error(X);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,workflow_id:o}=t,e=await this.put(`/repos/${r}/${s}/actions/workflows/${o}/disable`,null);if(e.statusCode===404)throw new Error(B);if(e.statusCode===403)throw new Error(R);let a;return e.statusCode===204?a={success:!0,message:qa(o)}:a={success:!1,message:Nt(o)},e.data=a,e}catch(r){throw new Error(`\u7981\u7528\u5DE5\u4F5C\u6D41\u5931\u8D25: ${r.message}`)}}async rerun_repo_workflow(t){if(!t.owner||!t.repo)throw new Error(f);if(!t.job_id)throw new Error(Ot);try{this.setRequestConfig({token:this.userToken});let{owner:r,repo:s,job_id:o}=t,e=await this.post(`/repos/${r}/${s}/actions/jobs/${o}/rerun`,null);if(e.statusCode===404)throw new Error(B);if(e.statusCode===403)throw new Error(R);let a;return e.statusCode===204?a={success:!0,message:$a(o)}:a={success:!1,message:Bt(o)},e.data=a,e}catch(r){throw new Error(`\u91CD\u65B0\u8FD0\u884C\u5DE5\u4F5C\u6D41\u5931\u8D25: ${r.message}`)}}};});var Pr={};A(Pr,{Search:()=>Se});var Se,gt=h(()=>{k();v();Se=class extends exports.GitHubClient{constructor(t){super(t),this.userToken=t.userToken,this.base_url=t.base_url,this.api_url=t.api_url;}async search_users(t){if(!t.q)throw new Error(je);try{this.setRequestConfig({token:this.userToken});let r={};r.q=t.q,t.order&&(r.order=t.order),t.per_page&&(r.per_page=t.per_page.toString()),t.page&&(r.page=t.page.toString());let s=await this.get("/search/users",r);if(s.data){let o={total_count:s.data.total_count,items:s.data.items.map(e=>({id:e.id,login:e.login,name:lodash.isEmpty(e.name)?null:e.name,email:lodash.isEmpty(e.email)?null:e.email,avatar_url:e.avatar_url,html_url:e.html_url}))};s.data=o;}return s}catch(r){throw new Error(`\u641C\u7D22\u7528\u6237\u5931\u8D25: ${r.message}`)}}async search_repos(t){if(!t.q)throw new Error(je);try{this.setRequestConfig({token:this.userToken});let r={};r.q=t.q,t.order&&(r.order=t.order),t.per_page&&(r.per_page=t.per_page.toString()),t.page&&(r.page=t.page.toString());let s=await this.get("/search/repositories",r);if(s.data){let o={total_count:s.data.total_count,items:s.data.items.map(e=>({id:e.id,owner:e.owner.login,name:e.name,full_name:e.full_name,description:lodash.isEmpty(e.description)?null:e.description,visibility:e.public?"public":"private",public:e.public,private:e.private,archived:e.archived,language:lodash.isEmpty(e.language)?null:e.language,pushed_at:e.pushed_at}))};s.data=o;}return s}catch(r){throw new Error(`\u641C\u7D22\u4ED3\u5E93\u5931\u8D25: ${r.message}`)}}};});var Ue;exports.GitHubClient=void 0;var v=h(()=>{k();et();tt();pe();Ue="github",exports.GitHubClient=class{base_url;api_url;jwtToken;userToken;Private_Key;Client_ID;Client_Secret;WebHook_Secret;format;currentRequestConfig;proxy;constructor(t){this.Private_Key="Private_Key"in t?t.Private_Key:null,this.Client_ID="Client_ID"in t?t.Client_ID:null,this.Client_Secret="Client_Secret"in t?t.Client_Secret:null,this.WebHook_Secret="WebHook_Secret"in t?t.WebHook_Secret:null,this.validateAppClient(),this.jwtToken=this.generate_jwt(),this.base_url=V(Ue,{proxyType:"original"}),this.api_url=Ze(Ue,{proxyType:"original"}),this.userToken="access_token"in t?t.access_token:null,this.currentRequestConfig={url:this.api_url,token:null,tokenType:"Bearer"},this.format=t.format??false;}get type(){return Ue}get is_app_client(){return !!(this.Client_ID&&this.Client_Secret&&this.Private_Key)}validateAppClient(){if(!this.is_app_client)return;let{Private_Key:t,Client_ID:r,Client_Secret:s}=this,o=t!==null&&t!=="",e=r!==null&&r!=="",a=s!==null&&s!=="",n=[];if(e||n.push("Client_ID"),a||n.push("Client_Secret"),o||n.push("Private_Key"),n.length!==0){if(n.length>0&&n.length<3){let i=n[0];if(i==="Client_ID")throw new Error(wt);if(i==="Client_Secret")throw new Error(bt);if(i==="Private_Key")throw new Error(Rt)}if(n.length===3)throw new Error(ft)}}async get_app(){let{App:t}=await Promise.resolve().then(()=>(_t(),kr));return this.app=new t(this),this.app}async get_auth(){let{Auth:t}=await Promise.resolve().then(()=>(st(),cr));return this.auth=new t(this),this.auth}async get_commit(){let{Commit:t}=await Promise.resolve().then(()=>(ot(),gr));return this.commit=new t(this),this.commit}async get_issue(){let{Issue:t}=await Promise.resolve().then(()=>(nt(),_r));return this.issue=new t(this),this.issue}async get_repo(){let{Repo:t}=await Promise.resolve().then(()=>(it(),yr));return this.repo=new t(this),this.repo}async get_user(){let{User:t}=await Promise.resolve().then(()=>(pt(),hr));return this.user=new t(this),this.user}async get_org(){let{Org:t}=await Promise.resolve().then(()=>(ut(),fr));return this.org=new t(this),this.org}async get_webhook(){let{WebHook:t}=await Promise.resolve().then(()=>(dt(),br));return this.webhook=new t(this),this.webhook}async get_pull_request(){let{Pull_Request:t}=await Promise.resolve().then(()=>(mt(),Rr));return this.pull_request=new t(this),this.pull_request}async get_workflow(){let{Workflow:t}=await Promise.resolve().then(()=>(ct(),Tr));return this.workflow=new t(this),this.workflow}async get_search(){let{Search:t}=await Promise.resolve().then(()=>(gt(),Pr));return this.search=new t(this),this.search}setProxy(t){if(!t?.address||!t?.type)throw this.proxy=null,new Error(kt);try{let r=new url.URL(t.address);if(!(Object.values(exports.ProxyType).includes(t.type)||Object.values(exports.ProxyProtocol).includes(t.type)))throw new Error(It(t.type));switch(t.type){case "common":case "reverse":{let s=t.type;this.api_url=Ze(Ue,{proxyUrl:t.address,proxyType:s}),this.currentRequestConfig.url=this.api_url;break}case "http":case "https":case "socks":case "socks5":t.address=`${r.protocol}//${r.host}`;break}this.proxy=t;}catch{throw this.proxy=null,new Error(Ct)}}setToken(t){if(!t.startsWith("ghu_")&&!t.startsWith("ghp_")&&!t.startsWith("ghs_"))throw this.userToken=null,new Error(G);this.userToken=t;}generate_jwt(){if(!this.is_app_client&&!this.Private_Key)throw new Error(x);let t={exp:Math.floor(Date.now()/1e3)+10*60,iat:Math.floor(Date.now()/1e3),iss:this.Client_ID};return ts__default.default.sign(t,this.Private_Key,{algorithm:"RS256"})}getCurrentRequestConfig(){return {...this.currentRequestConfig,url:this.api_url}}setRequestConfig(t){t.url&&(this.currentRequestConfig.url=t.url),t.token&&(this.currentRequestConfig.token=t.token),t.tokenType&&(this.currentRequestConfig.tokenType=t.tokenType);}createRequest(){let{url:t,token:r,tokenType:s}=this.getCurrentRequestConfig(),o=this.proxy?.type!=="common"?this.proxy:null,e={"X-GitHub-Api-Version":"2022-11-28",Accept:"application/vnd.github+json"};return new be(t,s,r,o,e)}async get(t,r,s){try{if(!t)throw new Error(z);this.setRequestConfig({token:this.userToken});let e=await this.createRequest().get(t,r,s);if(e.statusCode===401)throw new Error(K);if((e.statusCode===403||e.statusCode===429)&&e.headers["x-ratelimit-remaining"]==="0")throw new Error(J);return {success:e.success,status:e.success?"ok":"error",statusCode:e.statusCode,msg:e.msg,data:e.data}}catch(o){throw new Error(`[GitHub] GET \u8BF7\u6C42${t}\u5931\u8D25: ${o.message}`)}}async post(t,r,s){try{if(!t)throw new Error(z);this.setRequestConfig({token:this.userToken});let e=await this.createRequest().post(t,r,s);if(e.statusCode===401)throw new Error(K);if((e.statusCode===403||e.statusCode===429)&&e.headers["x-ratelimit-remaining"]==="0")throw new Error(J);return {success:e.success,status:e.success?"ok":"error",statusCode:e.statusCode,msg:e.msg,data:e.data}}catch(o){throw new Error(`[GitHUb] POST \u8BF7\u6C42${t}\u5931\u8D25: ${o.message}`)}}async patch(t,r=null,s,o){try{if(!t)throw new Error(z);this.setRequestConfig({token:this.userToken});let a=await this.createRequest().patch(t,r,s,o);if(a.statusCode===401)throw new Error(K);if((a.statusCode===403||a.statusCode===429)&&a.headers["x-ratelimit-remaining"]==="0")throw new Error(J);return {success:a.success,status:a.success?"ok":"error",statusCode:a.statusCode,msg:a.msg,data:a.data}}catch(e){throw new Error(`[GitHub] PATCH \u8BF7\u6C42${t}\u5931\u8D25: ${e.message}`)}}async put(t,r,s){try{if(!t)throw new Error(z);this.setRequestConfig({token:this.userToken});let e=await this.createRequest().put(t,r,s);if(e.statusCode===401)throw new Error(K);if((e.statusCode===403||e.statusCode===429)&&e.headers["x-ratelimit-remaining"]==="0")throw new Error(J);return {success:e.success,status:e.success?"ok":"error",statusCode:e.statusCode,msg:e.msg,data:e.data}}catch(o){throw new Error(`[GitHUb] PUT \u8BF7\u6C42${t}\u5931\u8D25: ${o.message}`)}}async delete(t,r=null,s,o){try{if(!t)throw new Error(z);this.setRequestConfig({token:this.userToken});let a=await this.createRequest().delete(t,r,s,o);if(a.statusCode===401)throw new Error(K);if((a.statusCode===403||a.statusCode===429)&&a.headers["x-ratelimit-remaining"]==="0")throw new Error(J);return {success:a.success,status:a.success?"ok":"error",statusCode:a.statusCode,msg:a.msg,data:a.data}}catch(e){throw new Error(`[GitHub] DELETE\u8BF7\u6C42 ${t} \u5931\u8D25: ${e.message}`)}}};});var kr={};A(kr,{App:()=>Ge});var Ge,_t=h(()=>{k();v();Ge=class extends exports.GitHubClient{constructor(t){super(t),this.userToken=t.userToken,this.base_url=t.base_url,this.api_url=t.api_url;}async get_app_info(t){if(!t.app_slug)throw new Error(Tt);if(!this.userToken)throw new Error(G);try{this.setRequestConfig({token:this.userToken});let{app_slug:r}=t,s=await this.get(`/apps/${r}`);if(s.data){let[o,e]=await Promise.all([this.format?p(s.data.created_at):s.data.created_at,this.format?p(s.data.updated_at):s.data.updated_at]),a={id:s.data.id,name:s.data.name,client_id:s.data.client_id,slug:s.data.slug,owner:{id:s.data.owner.id,login:s.data.owner.login,name:lodash.isEmpty(s.data.owner.name)?null:s.data.owner.name,email:lodash.isEmpty(s.data.owner.email)?null:s.data.owner.email,html_url:s.data.owner.html_url,avatar_url:s.data.owner.avatar_url,type:lodash.capitalize(s.data.owner.type.toLowerCase())},description:s.data.description,external_url:s.data.external_url,html_url:s.data.html_url,permissions:s.data.permissions,events:s.data.events,created_at:o,updated_at:e};s.data=a;}return s}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_app_info_by_auth(){if(!this.is_app_client)throw new Error(x);try{this.setRequestConfig({token:this.jwtToken});let t=await this.get("/app");if(t.data){let[r,s]=await Promise.all([this.format?p(t.data.created_at):t.data.created_at,this.format?p(t.data.updated_at):t.data.updated_at]),o={id:t.data.id,name:t.data.name,client_id:t.data.client_id,slug:t.data.slug,owner:{id:t.data.owner.id,login:t.data.owner.login,name:lodash.isEmpty(t.data.owner.name)?null:t.data.owner.name,email:lodash.isEmpty(t.data.owner.email)?null:t.data.owner.email,html_url:t.data.owner.html_url,avatar_url:t.data.owner.avatar_url,type:lodash.capitalize(t.data.owner.type.toLowerCase())},description:t.data.description,external_url:t.data.external_url,html_url:t.data.html_url,permissions:t.data.permissions,events:t.data.events,created_at:r,updated_at:s};t.data=o;}return t}catch(t){throw new Error(`[GitHub] \u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${t.message}`)}}async get_app_installation_by_repo(t){if(!this.is_app_client)throw new Error(x);if(!t.owner||!t.repo)throw new Error(f);try{this.setRequestConfig({token:this.jwtToken});let{owner:r,repo:s}=t,o=await this.get(`/repos/${r}/${s}/installation`);switch(o.statusCode){case 404:throw new Error(I);case 301:throw new Error(me)}if(o.data){let[e,a]=await Promise.all([this.format?p(o.data.created_at):o.data.created_at,this.format?p(o.data.updated_at):o.data.updated_at]),n={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:lodash.isEmpty(o.data.account.name)?null:o.data.account.name,email:lodash.isEmpty(o.data.account.email)?null:o.data.account.email,html_url:o.data.account.html_url,avatar_url:o.data.account.avatar_url,type:lodash.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:e,updated_at:a};o.data=n;}return o}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u5B58\u50A8\u5E93\u5B89\u88C5\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_app_installation_by_user(t){if(!this.is_app_client)throw new Error(x);if(!t.username)throw new Error($);try{this.setRequestConfig({token:this.jwtToken});let{username:r}=t,s=await this.get(`/users/${r}/installation`);switch(s.statusCode){case 404:throw new Error(I);case 301:throw new Error(me)}if(s.data){let[o,e]=await Promise.all([this.format?p(s.data.created_at):s.data.created_at,this.format?p(s.data.updated_at):s.data.updated_at]),a={id:s.data.id,html_url:s.data.html_url,app_id:s.data.app_id,app_slug:s.data.app_slug,target_id:s.data.target_id,target_type:s.data.target_type,account:{id:s.data.account.id,login:s.data.account.login,name:lodash.isEmpty(s.data.account.name)?null:s.data.account.name,email:lodash.isEmpty(s.data.account.email)?null:s.data.account.email,html_url:s.data.account.html_url,avatar_url:s.data.account.avatar_url,type:lodash.capitalize(s.data.account.type.toLowerCase())},repository_selection:s.data.repository_selection,access_tokens_url:s.data.access_tokens_url,repositories_url:s.data.repositories_url,permissions:s.data.permissions,events:s.data.events,created_at:o,updated_at:e};s.data=a;}return s}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u5B58\u50A8\u5E93\u5B89\u88C5\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_app_installation_by_org(t){if(!this.is_app_client)throw new Error(x);if(!t.org)throw new Error(L);try{this.setRequestConfig({token:this.jwtToken});let{org:r}=t,s=await this.get(`/orgs/${r}/installation`);switch(s.statusCode){case 404:throw new Error(I);case 301:throw new Error(me)}if(s.data){let[o,e]=await Promise.all([this.format?p(s.data.created_at):s.data.created_at,this.format?p(s.data.updated_at):s.data.updated_at]),a={id:s.data.id,html_url:s.data.html_url,app_id:s.data.app_id,app_slug:s.data.app_slug,target_id:s.data.target_id,target_type:s.data.target_type,account:{id:s.data.account.id,login:s.data.account.login,name:lodash.isEmpty(s.data.account.name)?null:s.data.account.name,email:lodash.isEmpty(s.data.account.email)?null:s.data.account.email,html_url:s.data.account.html_url,avatar_url:s.data.account.avatar_url,type:lodash.capitalize(s.data.account.type.toLowerCase())},repository_selection:s.data.repository_selection,access_tokens_url:s.data.access_tokens_url,repositories_url:s.data.repositories_url,permissions:s.data.permissions,events:s.data.events,created_at:o,updated_at:e};s.data=a;}return s}catch(r){throw new Error(`[GitHub] \u83B7\u53D6\u5B58\u50A8\u5E93\u5B89\u88C5\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async create_access_token_for_app(t){if(!t.installation_id)throw new Error($t);try{this.setRequestConfig({token:this.jwtToken});let r={};t.repositories&&(r.repositories=t.repositories),t.repository_ids&&(r.repository_ids=t.repository_ids),t.permissions&&(r.permissions=t.permissions);let s=await this.post(`app/installations/${t.installation_id}/access_tokens`,r);if(s.statusCode===201&&s.data){let o=this.format?await p(s.data.expires_at):s.data.expires_at,e={token:s.data.token,expires_at:o,permissions:s.data.permissions,repository_selection:s.data.repository_selection,repositories:await Promise.all(s.data.repositories.map(async a=>({id:a.id,name:a.name,full_name:a.full_name,owner:{id:a.owner.id,login:a.owner.login,name:lodash.isEmpty(s.data.owner.name)?null:s.data.owner.name,avatar_url:a.owner.avatar_url,type:a.owner.type,html_url:a.owner.html_url},public:!a.private,private:a.private,visibility:a.private?"private":"public",fork:a.fork,archived:a.archived,disabled:a.disabled,html_url:a.html_url,description:a.description,stargazers_count:a.stargazers_count,watchers_count:a.watchers_count,language:a.language,forks_count:a.forks_count,open_issues_count:a.open_issues_count,default_branch:a.default_branch,created_at:this.format?await p(a.created_at):a.created_at,updated_at:this.format?await p(a.updated_at):a.updated_at,pushed_at:this.format?await p(a.pushed_at):a.pushed_at})))};s.data=e;}return s}catch(r){throw new Error(`[GitHub] \u4E3A\u5E94\u7528\u7A0B\u5E8F\u521B\u5EFA\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${r.message}`)}}async revoke_access_token_for_app(){this.setRequestConfig({token:this.jwtToken});let t=await this.delete("/installation/token"),r=false,s="error",o,e=400,a;return t.statusCode===201?(r=true,s="ok",e=200,o="\u8BF7\u6C42\u6210\u529F",a={success:r,message:Ca}):(r=false,s="error",e=403,o="\u8BF7\u6C42\u5931\u8D25",a={success:r,message:St}),Promise.resolve({success:r,status:s,statusCode:e,msg:o,data:a})}async create_install_link(t){try{if(!this.is_app_client)throw new Error(x);let r=new URL(`apps/${await this.get_app_name()}/installations/new`,this.base_url);return r.search=new URLSearchParams({...t&&{state:t}}).toString(),r.toString()}catch(r){throw new Error(`[GitHub] \u751F\u6210\u5E94\u7528\u5B89\u88C5\u94FE\u63A5\u5931\u8D25: ${r.message}`)}}async create_config_install_link(t){try{if(!this.is_app_client)throw new Error(x);let r=new URL(`apps/${await this.get_app_name()}/installations/new`,this.base_url);return r.search=new URLSearchParams({...t&&{state:t}}).toString(),r.toString()}catch(r){throw new Error(`[GitHub] \u751F\u6210\u5E94\u7528\u914D\u7F6E\u94FE\u63A5\u5931\u8D25: ${r.message}`)}}async get_app_name(){return (await this.get_app_info_by_auth()).data.name}async is_app_installed_in_repo(t){try{return !!await this.get_app_installation_by_repo({owner:t.owner,repo:t.repo})}catch{return false}}};});k();Re();var yt={};A(yt,{App:()=>Ge,Auth:()=>Te,Commit:()=>ke,GitHubClient:()=>exports.GitHubClient,Issue:()=>Ce,Org:()=>ve,Pull_Request:()=>Ae,Repo:()=>xe,Search:()=>Se,User:()=>Ie,WebHook:()=>Me,Workflow:()=>qe});_t();st();v();ot();nt();ut();mt();it();gt();pt();dt();ct();pe();var ht=class{github;constructor(t){if(!t.github)throw new Error("GitHub \u5BA2\u6237\u7AEF\u672A\u914D\u7F6E");this.github=new exports.GitHubClient(t.github);}};var Vn=ht;
|
6
|
+
exports.Client=ht;exports.create_state_id=Yr;exports.default=Vn;exports.format_date=p;exports.get_langage_color=Ye;exports.get_local_git_repo_info=ha;exports.get_local_git_repos_list=Lr;exports.get_local_npm_package_info=Pa;exports.get_local_npm_packages_list=zr;exports.get_local_repo_default_branch=fa;exports.get_relative_time=$r;exports.get_remote_repo_default_branch=se;exports.github=yt;exports.render_markdown=Br;
|