@candriajs/git-neko-kit 0.6.0 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs +3 -3
- package/dist/esm/index.mjs +3 -3
- package/dist/index.d.ts +32 -15
- package/package.json +1 -2
package/dist/cjs/index.cjs
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var We=require('path'),url=require('url'),Ke=require('fs'),gt=require('color-convert'),O=require('dayjs'),_t=require('dayjs/plugin/relativeTime.js'),ht=require('git-url-parse'),yt=require('language-colors'),uuid=require('uuid'),M=require('axios'),httpProxyAgent=require('http-proxy-agent'),httpsProxyAgent=require('https-proxy-agent'),socksProxyAgent=require('socks-proxy-agent'),lodashEs=require('lodash-es'),ut=require('crypto'),kt=require('jsonwebtoken');var _documentCurrentScript=typeof document!=='undefined'?document.currentScript:null;function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var We__default=/*#__PURE__*/_interopDefault(We);var Ke__default=/*#__PURE__*/_interopDefault(Ke);var gt__default=/*#__PURE__*/_interopDefault(gt);var O__default=/*#__PURE__*/_interopDefault(O);var _t__default=/*#__PURE__*/_interopDefault(_t);var ht__default=/*#__PURE__*/_interopDefault(ht);var yt__default=/*#__PURE__*/_interopDefault(yt);var M__default=/*#__PURE__*/_interopDefault(M);var ut__default=/*#__PURE__*/_interopDefault(ut);var kt__default=/*#__PURE__*/_interopDefault(kt);var mt=Object.defineProperty;var y=(u,e)=>()=>(u&&(e=u(u=0)),e);var P=(u,e)=>{for(var s in e)mt(u,s,{get:e[s],enumerable:true});};var G,I,ye,U,E,we,fe,be,w,c,Te,N,Re,A,x,Ce,ke,D,Pe,d,Ee,Ie,ve,Ae,b,R,xe,$e,Me,Le,S,q,C,Ue,W,$,Ne,j,v,Se=y(()=>{G="\u55B5\u545C~ \u6388\u6743\u7801\u4E0D\u80FD\u4E3A\u7A7A",I="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u4E0D\u80FD\u4E3A\u7A7A",ye="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A\u54E6",U="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",E="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",we="\u55B5\u545C~ \u8BAE\u9898\u6807\u9898\u4E0D\u80FD\u4E3A\u7A7A",fe="\u55B5\u545C~ \u7EC4\u7EC7\u540D\u6216\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A",be="\u55B5\u545C~ \u7EC4\u7EC7\u540D\u4E0D\u80FD\u4E3A\u7A7A",w="\u55B5\u545C~ \u4ED3\u5E93\u62E5\u6709\u8005\u6216\u4ED3\u5E93\u540D\u4E0D\u80FD\u4E3A\u7A7A",c="\u55B5\u545C~ \u53C2\u6570\u597D\u50CF\u4E0D\u592A\u5BF9\u5462",Te="\u55B5\u545C~ \u4EE3\u7406\u5730\u5740\u683C\u5F0F\u4E0D\u6B63\u786E\u54E6",N="\u55B5\u545C~ \u8FD9\u4E2A\u5B50\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",Re="\u55B5\u545C~ \u7528\u6237ID\u4E0D\u80FD\u4E3A\u7A7A",A="\u55B5\u545C~ \u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A",x="\u55B5\u545C~ \u8FD9\u4E2A\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",Ce="\u55B5\u545C~ \u8FD9\u4E2A\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",ke="\u55B5\u545C~ \u6743\u9650\u4E0D\u6B63\u786E\uFF0C\u8BF7\u68C0\u67E5\u6743\u9650",D="\u55B5\u545C~ \u8FD9\u4E2A\u5237\u65B0\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",Pe="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5DF2\u8FC7\u671F",d="\u55B5\u545C~ \u8BBF\u95EE\u88AB\u62D2\u7EDD\u5566\uFF0C\u53EF\u80FD\u662F\u4EE4\u724C\u8FC7\u671F\u4E86\u6216\u6743\u9650\u4E0D\u8DB3",Ee="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u5931\u8D25",Ie="\u55B5\u545C~ \u7EC4\u7EC7\u8D26\u53F7\u6682\u4E0D\u652F\u6301",ve="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u4E0D\u5B58\u5728\u54E6",Ae="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",b="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u4E0D\u5B58\u5728\u54E6",R="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u4E0D\u5B58\u5728\u54E6",xe="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u5DF2\u88AB\u79FB\u52A8",$e="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u9501\u5B9A\u5931\u8D25\u54E6",Me="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u521B\u5EFA\u5931\u8D25\u54E6",Le="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u89E3\u9501\u5931\u8D25\u54E6",S="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u4E0D\u5B58\u5728\u54E6",q="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u6216\u7528\u6237\u4E0D\u5B58\u5728\u54E6",C="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",Ue="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u5DF2\u88AB\u79FB\u52A8",W="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u4E0D\u5B58\u5728\u6216\u8BBF\u95EE\u88AB\u62D2\u7EDD\u5566\uFF0C\u53EF\u80FD\u662F\u4EE4\u724C\u8FC7\u671F\u4E86\u6216\u6743\u9650\u4E0D\u8DB3",$="\u55B5\u545C~ \u8FD9\u4E2A\u7528\u6237\u4E0D\u5B58\u5728\u54E6",Ne="\u55B5\u545C~ WebHook \u7B7E\u540D\u683C\u5F0F\u4E0D\u6B63\u786E",j="\u55B5\u545C~ WebHook \u7B7E\u540D\u9A8C\u8BC1\u5931\u8D25",v="\u55B5\u545C~ \u8BBF\u95EE\u901F\u7387\u53D7\u9650\u5566 \u8BF7\u7B49\u5F851\u5C0F\u65F6\u540E\u518D\u8BD5 \u6216 \u4F7F\u7528\u8BBF\u95EE\u4EE4\u724C\u63D0\u5347\u9650\u989D";});var qe,Oe,Be,He,ze,Ge,De=y(()=>{qe="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u6210\u529F",Oe="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u6709\u6548",Be="\u55B5\u545C~ WebHook \u7B7E\u540D\u6210\u529F",He="\u55B5\u545C~ \u8BAE\u9898\u9501\u5B9A\u6210\u529F",ze="\u55B5\u545C~ \u8BAE\u9898\u89E3\u9501\u6210\u529F",Ge="\u55B5\u545C~ \u8BAE\u9898\u8BC4\u8BBA\u521B\u5EFA\u6210\u529F";});var je,Fe,Je=y(()=>{je=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))).replace(/\\/g,"/").replace(/\/$/,""),Fe=We__default.default.resolve(je,"../../").replace(/\\/g,"/").replace(/\/$/,""),We__default.default.resolve(je,"../").replace(/\\/g,"/").replace(/\/$/,"");});function Ve(u="",e=""){e=e??Fe;try{let s=`${e}/${u}`;if(!Ke__default.default.existsSync(s))return console.warn(`\u6587\u4EF6\u4E0D\u5B58\u5728: ${s}`),{};let o=Ke__default.default.readFileSync(s,"utf8");return JSON.parse(o)}catch(s){return console.error(`\u8BFB\u53D6 JSON \u6587\u4EF6\u5931\u8D25: ${u}`,s),{}}}async function Ye(u="zh-cn"){let e=String(u).toLowerCase();await import(`dayjs/locale/${e}.js`),O__default.default.locale(e);}async function h(u,e="zh-cn",s="YYYY-MM-DD HH:mm:ss"){return await Ye(e),O__default.default(u).format(s)}async function Xe(u,e="zh-cn"){return await Ye(e),O__default.default.extend(_t__default.default),O__default.default(u).fromNow()}function f(u){let e=/^https?:\/\/[^/]+\/(?:https?:\/\/)?([^/]+\/[^/]+\/[^/]+)/,s=u.match(e);if(s){let a=s[1];u=a.startsWith("https")?a:`https://${a}`;}let o=ht__default.default(u);return {owner:o.owner,repo:o.name}}function wt(u){if(!Array.isArray(u))throw new Error("RGB\u503C\u5FC5\u987B\u662F\u6570\u7EC4\u7C7B\u578B");if(u.length!==3)throw new Error("RGB\u6570\u7EC4\u5FC5\u987B\u5305\u542B\u4E14\u4EC5\u5305\u542B3\u4E2A\u503C");if(!u.every(e=>Number.isInteger(e)&&e>=0&&e<=255))throw new Error("RGB\u503C\u5FC5\u987B\u90FD\u662F0-255\u4E4B\u95F4\u7684\u6574\u6570");return `#${gt__default.default.rgb.hex(u)}`}function B(u){return u=String(u).toLowerCase(),wt(yt__default.default[u].color)??"#cccccc"}async function ft(u,e){return Promise.resolve(Array.from({length:Math.ceil(u.length/e)},(s,o)=>u.slice(o*e,o*e+e)))}async function Qe(u){let e=/data-date="(.*?)" id="contribution-day-component/g,s=/<tool-tip .*?class="sr-only position-absolute">(.*?) contribution/g,o=Array.from(u.matchAll(e),n=>n[1]),a=Array.from(u.matchAll(s),n=>String(n[1]).toLowerCase()==="no"?0:parseInt(n[1]));if(!o.length||!a.length)return {total:0,contributions:[]};let t=o.map((n,i)=>({date:n,count:a[i]})).sort((n,i)=>n.date.localeCompare(i.date)),r=await ft(t,7);return {total:a.reduce((n,i)=>n+i,0),contributions:r}}var F=y(()=>{Je();});var J,Ze=y(()=>{F();J=Ve("package.json");});var T=y(()=>{Se();De();F();Ze();});function K(u,e){let s={github:"api.github.com",gitee:"gitee.com/api/v5",gitcode:"api.gitcode.com/api/v5"};return `https://${e?.replace(/\/$/,"")??""}/${s[u??"github"]}`.replace(/\/$/,"")}function V(u,e){let s={github:"github.com",gitee:"gitee.com",gitcode:"gitcode.com"};return `https://${e?.replace(/\/$/,"")??""}/${s[u??"github"]}`.replace(/\/$/,"")}async function et(){return Promise.resolve(uuid.v4().replace(/-/g,""))}var Y=y(()=>{});var H,X=y(()=>{T();H=class{baseUrl;tokenType;authorization;proxy;defaultHeaders;constructor(e,s="Bearer",o,a,t){this.baseUrl=e.replace(/\/$/,""),this.authorization=o,this.proxy=a,this.tokenType=s,this.defaultHeaders=t;}async request(e,s,o,a,t){let r=`${this.baseUrl}/${s}`.replace(/\/+/g,"/"),n={headers:this.createHeaders(t),params:o,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":{let _=new socksProxyAgent.SocksProxyAgent(l);n.httpAgent=_,n.httpsAgent=_;break}}}try{let i;switch(e){case "get":i=await M__default.default.get(r,n);break;case "post":i=await M__default.default.post(r,a,n);break;case "patch":i=await M__default.default.patch(r,a,n);break;case "put":i=await M__default.default.put(r,a,n);break;case "delete":i=await M__default.default.delete(r,{...n,data:a});break;default:throw new Error(`\u4E0D\u652F\u6301\u7684\u8BF7\u6C42\u65B9\u6CD5: ${e}`)}let l=Object.fromEntries(Object.entries(i.headers).filter(([_,m])=>m!==void 0).map(([_,m])=>[_.toLowerCase(),m]));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,_=l.response?.headers?Object.fromEntries(Object.entries(l.response.headers).filter(([m,L])=>L!==void 0).map(([m,L])=>[m,L])):{};return {success:false,statusCode:l.response?.status??500,headers:_,msg:l.message??"\u7F51\u7EDC\u8FDE\u63A5\u5931\u8D25",data:null}}}async get(e,s,o){return this.request("get",e,s,null,o)}async post(e,s,o,a){return this.request("post",e,s,o,a)}async patch(e,s=null,o,a){return this.request("patch",e,s,o,a)}async put(e,s,o,a){return this.request("put",e,s,o,a)}async delete(e,s=null,o,a){return this.request("delete",e,s,o,a)}createHeaders(e){let s={"Content-Type":"application/json","User-Agent":`${J.name}/v${J.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 e&&Object.assign(s,e),s}};});var at={};P(at,{Auth:()=>Q});var Q,Z=y(()=>{T();k();Q=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async create_auth_link(e){try{let s=new URL("/login/oauth/authorize",this.BaseUrl);return s.search=new URLSearchParams({client_id:this.Client_ID,...e&&{state:e}}).toString(),Promise.resolve(s.toString())}catch(s){throw new Error(`\u751F\u6210\u6388\u6743\u94FE\u63A5\u5931\u8D25: ${s.message}`)}}async get_token_by_code(e){try{if(!e.code)throw new Error(G);return this.setRequestConfig({url:this.BaseUrl}),await this.post("login/oauth/access_token",{client_id:this.Client_ID,client_secret:this.Client_Secret,code:e.code},{Accept:"application/json"})}catch(s){throw new Error(`\u8BF7\u6C42\u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${s.message}`)}}async check_token_status(e){try{let s=e?.access_token??this.userToken;if(!s)throw new Error(I);if(!s.startsWith("ghu_"))throw new Error(Ce);this.setRequestConfig({url:this.ApiUrl,tokenType:"Basic",token:`${this.Client_ID}:${this.Client_Secret}`});let o=await this.post(`/applications/${this.Client_ID}/token`,{access_token:s});if(o.data){let a=!(o.status==="ok"&&(o.statusCode===404||o.statusCode===422));o.data={success:a,info:a?Oe:Pe};}return o}catch(s){throw new Error(`\u8BF7\u6C42\u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u72B6\u6001\u5931\u8D25: ${s.message}`)}}async refresh_token(e){try{if(!e.refresh_token)throw new Error(G);if(!e.refresh_token.startsWith("ghr_"))throw new Error(D);this.setRequestConfig({url:this.BaseUrl});let s=await this.post("login/oauth/access_token",{client_id:this.Client_ID,client_secret:this.Client_Secret,grant_type:"refresh_token",refresh_token:e.refresh_token},{Accept:"application/json"}),o=s.status==="ok"&&s.statusCode===200&&!s.data.error,a=Ee;switch(s.data.error){case "bad_refresh_token":a=D;break;case "unauthorized":a=d;break}if(s.data){if(!o)throw new Error(a);s.data={success:o,info:qe,access_token:s.data.access_token,expires_in:s.data.expires_in??null,refresh_token:s.data.refresh_token??null,refresh_token_expires_in:s.data.refresh_token_expires_in??null,scope:s.data.scope,token_type:s.data.token_type};}return s}catch(s){throw new Error(`\u8BF7\u6C42\u5237\u65B0\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${s.message}`)}}};});var st={};P(st,{Commit:()=>ee});var ee,te=y(()=>{T();k();ee=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_commit_info(e){try{this.setRequestConfig({token:this.userToken});let s,o,a,t;if("url"in e){a=e.url;let i=f(a);s=i?.owner,o=i?.repo;}else if("owner"in e&&"repo"in e)s=e.owner,o=e.repo;else throw new Error(c);e.sha?t=e.sha:t=await(await this.get_repo()).get_repo_default_branch({owner:s,repo:o});let r=await this.get(`/repos/${s}/${o}/commits/${t}`);switch(r.statusCode){case 401:throw new Error(d);case 404:throw new Error(Ae);case 422:throw new Error(ve)}let n=e.format??this.format;if(r.data){let i=r.data?.commit?.message??"",[l,..._]=i.split(`
|
2
|
-
`);
|
3
|
-
`)},tree:{url:r.data.commit.tree.url,sha:r.data.commit.tree.sha}},parents:r.data.parents.map(m=>({sha:m.sha,url:m.url})),stats:{additions:r.data.stats.additions,deletions:r.data.stats.deletions,total:r.data.stats.total},files:r.data.files.map(m=>({sha:m.sha,filename:m.filename,status:m.status,additions:m.additions,deletions:m.deletions,changes:m.changes,blob_url:m.blob_url,raw_url:m.raw_url}))};}return r}catch(s){throw new Error(`\u83B7\u53D6\u63D0\u4EA4\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}};});var ot={};P(ot,{Issue:()=>ae});var ae,re=y(()=>{T();k();ae=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_issue_info(e){let s,o;try{if(this.setRequestConfig({token:this.userToken}),"url"in e){let t=e?.url?.trim(),r=f(t);s=r?.owner,o=r?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(c);let a=await this.get(`/repos/${s}/${o}/issues/${Number(e.issue_number)}`);switch(a.statusCode){case 404:throw new Error(R);case 301:throw new Error(xe)}return a.data&&(a.data={id:a.data.id,html_url:a.data.html_url,number:a.data.number,comments:a.data.comments,state:a.data.state,state_reason:a.data.state_reason,title:a.data.title,body:a.data.body,user:a.data.user?{id:a.data.user.id,login:a.data.user.login,name:a.data.user.name,email:a.data.user.email,html_url:a.data.user.html_url,avatar_url:a.data.user.avatar_url,type:lodashEs.capitalize(a.data.user.type.toLowerCase())}:null,labels:a.data.labels?a.data.labels.map(t=>({id:t.id,name:t.name,color:t.color})):null,assignee:a.data.assignee?{id:a.data.assignee.id,login:a.data.assignee.login,name:a.data.assignee.name,email:a.data.assignee.email,html_url:a.data.assignee.html_url,avatar_url:a.data.assignee.avatar_url,type:lodashEs.capitalize(a.data.assignee.type.toLowerCase())}:null,milestone:a.data.milestone?{id:a.data.milestone.id,url:a.data.milestone.url,number:a.data.milestone.number,state:a.data.milestone.state,title:a.data.milestone.title,description:a.data.milestone.description,open_issues:a.data.milestone.open_issues,closed_issues:a.data.milestone.closed_issues,created_at:a.data.milestone.created_at,updated_at:a.data.milestone.updated_at,closed_at:a.data.milestone.closed_at,due_on:a.data.milestone.due_on}:null,closed_at:a.data.closed_at,created_at:a.data.created_at,updated_at:a.data.updated_at}),a}catch(a){throw new Error(`\u83B7\u53D6Issue\u8BE6\u60C5\u5931\u8D25: ${a.message}`)}}async get_repo_issue_list(e){let s,o;try{if(this.setRequestConfig({token:this.userToken}),"url"in e){let i=e?.url?.trim(),l=f(i);s=l?.owner,o=l?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(c);let{...a}=e,t={};a.milestone&&(t.milestone=a.milestone.toString()),a.state&&(t.state=a.state),a.assignee&&(t.assignee=a.assignee),a.creator&&(t.creator=a.creator),a.labels&&(t.labels=a.labels),a.sort&&(t.sort=a.sort),a.direction&&(t.direction=a.direction),a.since&&(t.since=a.since),a.per_page&&(t.per_page=a.per_page.toString()),a.page&&(t.page=a.page.toString());let r=`/repos/${s}/${o}/issues`,n=await this.get(r,t);if(n.statusCode===401)throw new Error(d);return n.data&&(n.data=n.data.map(i=>({id:i.id,html_url:i.html_url,number:i.number,comments:i.comments,state:i.state,state_reason:i.state_reason,title:i.title,body:i.body,user:i.user?{id:i.user.id,login:i.user.login,name:i.user.name,email:i.user.email,html_url:i.user.html_url,avatar_url:i.user.avatar_url,type:lodashEs.capitalize(i.user.type.toLowerCase())}:null,labels:i.labels?i.labels.map(l=>({id:l.id,name:l.name,color:l.color})):null,assignee:i.assignee?{id:i.assignee.id,login:i.assignee.login,name:i.assignee.name,email:i.assignee.email,html_url:i.assignee.html_url,avatar_url:i.assignee.avatar_url,type:lodashEs.capitalize(i.assignee.type.toLowerCase())}:null,milestone:i.milestone?{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:i.milestone.created_at,updated_at:i.milestone.updated_at,closed_at:i.milestone.closed_at,due_on:i.milestone.due_on}:null,closed_at:i.closed_at,created_at:i.created_at,updated_at:i.updated_at}))),n}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93${s}/${o}\u7684Issue\u5217\u8868\u5931\u8D25: ${a.message}`)}}async create_issue(e){if(!e.owner||!e.repo)throw new Error(w);if(!e.title)throw new Error(we);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,...a}=e,t={...a,...a.labels&&{labels:Array.isArray(a.labels)?a.labels:[a.labels]},...a.assignees&&{assignees:Array.isArray(a.assignees)?a.assignees:[a.assignees]}},r=await this.post(`/repos/${s}/${o}/issues`,t);switch(r.statusCode){case 403:throw new Error(d);case 301:throw new Error(C)}return r.data&&r.data&&(r.data={id:r.data.id,html_url:r.data.html_url,number:r.data.number,comments:r.data.comments,state:r.data.state,state_reason:r.data.state_reason,title:r.data.title,body:r.data.body,user:r.data.user?{id:r.data.user.id,login:r.data.user.login,name:r.data.user.name,email:r.data.user.email,html_url:r.data.user.html_url,avatar_url:r.data.user.avatar_url,type:lodashEs.capitalize(r.data.user.type.toLowerCase())}:null,labels:r.data.labels?r.data.labels.map(n=>({id:n.id,name:n.name,color:n.color})):null,assignee:r.data.assignee?{id:r.data.assignee.id,login:r.data.assignee.login,name:r.data.assignee.name,email:r.data.assignee.email,html_url:r.data.assignee.html_url,avatar_url:r.data.assignee.avatar_url,type:lodashEs.capitalize(r.data.assignee.type.toLowerCase())}:null,milestone:r.data.milestone?{id:r.data.milestone.id,url:r.data.milestone.url,number:r.data.milestone.number,state:r.data.milestone.state,title:r.data.milestone.title,description:r.data.milestone.description,open_issues:r.data.milestone.open_issues,closed_issues:r.data.milestone.closed_issues,created_at:r.data.milestone.created_at,updated_at:r.data.milestone.updated_at,closed_at:r.data.milestone.closed_at,due_on:r.data.milestone.due_on}:null,closed_at:r.data.closed_at,created_at:r.data.created_at,updated_at:r.data.updated_at}),r}catch(s){throw new Error(`\u521B\u5EFAIssue\u5931\u8D25: ${s.message}`)}}async update_issue(e){if(!e.owner||!e.repo)throw new Error(w);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:a,...t}=e,r={...t,...t.labels&&{labels:Array.isArray(t.labels)?t.labels:[t.labels]},...t.assignees&&{assignees:Array.isArray(t.assignees)?t.assignees:[t.assignees]}},n=await this.patch(`/repos/${s}/${o}/issues/${Number(a)}`,null,r);switch(n.statusCode){case 404:throw new Error(R);case 403:throw new Error(d);case 301:throw new Error(C)}return n.data&&n.data&&(n.data={id:n.data.id,html_url:n.data.html_url,number:n.data.number,comments:n.data.comments,state:n.data.state,state_reason:n.data.state_reason,title:n.data.title,body:n.data.body,user:n.data.user?{id:n.data.user.id,login:n.data.user.login,name:n.data.user.name,email:n.data.user.email,html_url:n.data.user.html_url,avatar_url:n.data.user.avatar_url,type:lodashEs.capitalize(n.data.user.type.toLowerCase())}:null,labels:n.data.labels?n.data.labels.map(i=>({id:i.id,name:i.name,color:i.color})):null,assignee:n.data.assignee?{id:n.data.assignee.id,login:n.data.assignee.login,name:n.data.assignee.name,email:n.data.assignee.email,html_url:n.data.assignee.html_url,avatar_url:n.data.assignee.avatar_url,type:lodashEs.capitalize(n.data.assignee.type.toLowerCase())}:null,milestone:n.data.milestone?{id:n.data.milestone.id,url:n.data.milestone.url,number:n.data.milestone.number,state:n.data.milestone.state,title:n.data.milestone.title,description:n.data.milestone.description,open_issues:n.data.milestone.open_issues,closed_issues:n.data.milestone.closed_issues,created_at:n.data.milestone.created_at,updated_at:n.data.milestone.updated_at,closed_at:n.data.milestone.closed_at,due_on:n.data.milestone.due_on}:null,closed_at:n.data.closed_at,created_at:n.data.created_at,updated_at:n.data.updated_at}),n}catch(s){throw new Error(`\u66F4\u65B0Issue\u5931\u8D25: ${s.message}`)}}async open_issue(e){if(!e.owner||!e.repo)throw new Error(w);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:a}=e,t=await this.patch(`/repos/${s}/${o}/issues/${a}`,null,{state:"open"});switch(t.statusCode){case 404:throw new Error(R);case 403:throw new Error(d);case 301:throw new Error(C)}return t.data&&t.data&&(t.data={id:t.data.id,html_url:t.data.html_url,number:t.data.number,comments:t.data.comments,state:t.data.state,state_reason:t.data.state_reason,title:t.data.title,body:t.data.body,user:t.data.user?{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url,type:lodashEs.capitalize(t.data.user.type.toLowerCase())}:null,labels:t.data.labels?t.data.labels.map(r=>({id:r.id,name:r.name,color:r.color})):null,assignee:t.data.assignee?{id:t.data.assignee.id,login:t.data.assignee.login,name:t.data.assignee.name,email:t.data.assignee.email,html_url:t.data.assignee.html_url,avatar_url:t.data.assignee.avatar_url,type:lodashEs.capitalize(t.data.assignee.type.toLowerCase())}:null,milestone:t.data.milestone?{id:t.data.milestone.id,url:t.data.milestone.url,number:t.data.milestone.number,state:t.data.milestone.state,title:t.data.milestone.title,description:t.data.milestone.description,open_issues:t.data.milestone.open_issues,closed_issues:t.data.milestone.closed_issues,created_at:t.data.milestone.created_at,updated_at:t.data.milestone.updated_at,closed_at:t.data.milestone.closed_at,due_on:t.data.milestone.due_on}:null,closed_at:t.data.closed_at,created_at:t.data.created_at,updated_at:t.data.updated_at}),t}catch(s){throw new Error(`\u6253\u5F00Issue\u5931\u8D25: ${s.message}`)}}async reopen_issue(e){return this.open_issue(e)}async close_issue(e){if(!e.owner||!e.repo)throw new Error(w);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:a}=e,t=await this.patch(`/repos/${s}/${o}/issues/${a}`,null,{state:"closed"});switch(t.statusCode){case 404:throw new Error(R);case 403:throw new Error(d);case 301:throw new Error(C)}return t.data&&t.data&&(t.data={id:t.data.id,html_url:t.data.html_url,number:t.data.number,comments:t.data.comments,state:t.data.state,state_reason:t.data.state_reason,title:t.data.title,body:t.data.body,user:t.data.user?{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url,type:lodashEs.capitalize(t.data.user.type.toLowerCase())}:null,labels:t.data.labels?t.data.labels.map(r=>({id:r.id,name:r.name,color:r.color})):null,assignee:t.data.assignee?{id:t.data.assignee.id,login:t.data.assignee.login,name:t.data.assignee.name,email:t.data.assignee.email,html_url:t.data.assignee.html_url,avatar_url:t.data.assignee.avatar_url,type:lodashEs.capitalize(t.data.assignee.type.toLowerCase())}:null,milestone:t.data.milestone?{id:t.data.milestone.id,url:t.data.milestone.url,number:t.data.milestone.number,state:t.data.milestone.state,title:t.data.milestone.title,description:t.data.milestone.description,open_issues:t.data.milestone.open_issues,closed_issues:t.data.milestone.closed_issues,created_at:t.data.milestone.created_at,updated_at:t.data.milestone.updated_at,closed_at:t.data.milestone.closed_at,due_on:t.data.milestone.due_on}:null,closed_at:t.data.closed_at,created_at:t.data.created_at,updated_at:t.data.updated_at}),t}catch(s){throw new Error(`\u5173\u95EDIssue\u5931\u8D25: ${s.message}`)}}async lock_issue(e){if(!e.owner||!e.repo)throw new Error(w);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:a,lock_reason:t}=e,r=await this.put(`/repos/${s}/${o}/issues/${Number(a)}`,{locked:!0,lock_reason:t});switch(r.statusCode){case 404:throw new Error(R);case 403:throw new Error(d);case 301:throw new Error(C)}let n;return r.statusCode===204?n=He:n=$e,r.data={info:n},r}catch(s){throw new Error(`\u9501\u5B9AIssue${e.issue_number}\u5931\u8D25: ${s.message}`)}}async unlock_issue(e){if(!e.owner||!e.repo)throw new Error(w);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:a}=e,t=await this.delete(`/repos/${s}/${o}/issues/${a}/lock`);switch(t.statusCode){case 404:throw new Error(R);case 403:throw new Error(d);case 301:throw new Error(C)}let r;return t.statusCode===204?r=ze:r=Le,t.data={info:r},t}catch(s){throw new Error(`\u89E3\u9501Issue\u5931\u8D25: ${s.message}`)}}async get_repo_comments_list(e){if(!e.owner||!e.repo)throw new Error(w);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,...a}=e,t={};a.sort&&(t.sort=a.sort),a.sort&&a.direction&&(t.direction=a.direction),a.since&&(t.since=a.since),a.per_page&&(t.per_page=a.per_page.toString()),a.page&&(t.page=a.page.toString());let r=`/repos/${s}/${o}/issues/comments/`,n=await this.get(r,t);if(n.statusCode===404)throw new Error(b);return n.data&&(n.data=n.data.map(i=>({id:i.id,html_url:i.html_url,body:i.body,user:i.user?{id:i.user.id,login:i.user.login,name:i.user.name,email:i.user.email,html_url:i.user.html_url,avatar_url:i.user.avatar_url,type:lodashEs.capitalize(i.user.type.toLowerCase())}:null,created_at:i.created_at,updated_at:i.updated_at}))),n}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${s.message}`)}}async get_issue_comments_list(e){if(!e.owner||!e.repo)throw new Error(w);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:a,...t}=e,r={};t.since&&(r.since=t.since),t.per_page&&(r.per_page=t.per_page.toString()),t.page&&(r.page=t.page.toString());let n=`/repos/${s}/${o}/issues/${Number(a)}/comments`,i=await this.get(n,r);if(i.statusCode===404)throw new Error(b);return i.data&&(i.data=i.data.map(l=>({id:l.id,html_url:l.html_url,body:l.body,user:l.user?{id:l.user.id,login:l.user.login,name:l.user.name,email:l.user.email,html_url:l.user.html_url,avatar_url:l.user.avatar_url,type:lodashEs.capitalize(l.user.type.toLowerCase())}:null,created_at:l.created_at,updated_at:l.updated_at}))),i}catch(s){throw new Error(`\u83B7\u53D6\u8BAE\u9898\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${s.message}`)}}async get_issue_comment_info(e){if(!e.owner||!e.repo)throw new Error(w);if(!e.comment_id)throw new Error(U);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,comment_id:a}=e,t=await this.get(`/repos/${s}/${o}/issues/comments/${Number(a)}`);if(t.statusCode===404)throw new Error(b);return t.data&&(t.data={id:t.data.id,html_url:t.data.html_url,body:t.data.body,user:t.data.user?{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url,type:lodashEs.capitalize(t.data.user.type.toLowerCase())}:null,created_at:t.data.created_at,updated_at:t.data.updated_at}),t}catch(s){throw new Error(`\u83B7\u53D6\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}async create_issue_comment(e){if(!e.owner||!e.repo)throw new Error(w);if(!e.issue_number)throw new Error(b);if(!e.body)throw new Error(ye);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:a,body:t}=e,r=await this.post(`/repos/${s}/${o}/issues/${Number(a)}/comments`,{body:t});if(r.statusCode===404)throw new Error(b);return r.data&&(r.data={id:r.data.id,html_url:r.data.html_url,body:r.data.body,user:r.data.user?{id:r.data.user.id,login:r.data.user.login,name:r.data.user.name,email:r.data.user.email,html_url:r.data.user.html_url,avatar_url:r.data.user.avatar_url,type:lodashEs.capitalize(r.data.user.type.toLowerCase())}:null,created_at:r.data.created_at,updated_at:r.data.updated_at}),r}catch(s){throw new Error(`\u521B\u5EFA\u8BAE\u9898\u8BC4\u8BBA\u5931\u8D25: ${s.message}`)}}async update_issue_comment(e){if(!e.owner||!e.repo)throw new Error(w);if(!e.comment_id)throw new Error(U);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,comment_id:a,...t}=e,r=await this.patch(`/repos/${s}/${o}/issues/comments/${Number(a)}`,null,t);if(r.statusCode===404)throw new Error(b);return r.data&&(r.data={id:r.data.id,html_url:r.data.html_url,body:r.data.body,user:r.data.user?{id:r.data.user.id,login:r.data.user.login,name:r.data.user.name,email:r.data.user.email,html_url:r.data.user.html_url,avatar_url:r.data.user.avatar_url,type:lodashEs.capitalize(r.data.user.type.toLowerCase())}:null,created_at:r.data.created_at,updated_at:r.data.updated_at}),r}catch(s){throw new Error(`\u66F4\u65B0\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}async remove_issue_comment(e){if(!e.owner||!e.repo)throw new Error(w);if(!e.comment_id)throw new Error(U);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,comment_id:a}=e,t=await this.delete(`/repos/${s}/${o}/issues/comments/${Number(a)}`);if(t.statusCode===404)throw new Error(b);let r;return t.statusCode===204?r=Ge:r=Me,t.data={info:r},t}catch(s){throw new Error(`\u5220\u9664\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}async delete_issue_comment(e){return this.remove_issue_comment(e)}async get_sub_issue_list(e){if(!e.owner||!e.repo)throw new Error(w);if(!e.issue_number)throw new Error(b);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:a,...t}=e,r={};t.per_page&&(r.per_page=t.per_page.toString()),t.page&&(r.page=t.page.toString());let n=`/repos/${s}/${o}/issues/${Number(a)}/sub_issues`,i=await this.get(n,r);if(i.statusCode===404)throw new Error(R);return i.data&&(i.data=i.data.map(l=>({id:l.id,html_url:l.html_url,number:l.number,comments:l.comments,state:l.state,state_reason:l.state_reason,title:l.title,body:l.body,user:l.user?{id:l.user.id,login:l.user.login,name:l.user.name,email:l.user.email,html_url:l.user.html_url,avatar_url:l.user.avatar_url,type:lodashEs.capitalize(l.user.type.toLowerCase())}:null,labels:l.labels?l.labels.map(_=>({id:_.id,name:_.name,color:_.color})):null,assignee:l.assignee?{id:l.assignee.id,login:l.assignee.login,name:l.assignee.name,email:l.assignee.email,html_url:l.assignee.html_url,avatar_url:l.assignee.avatar_url,type:lodashEs.capitalize(l.assignee.type.toLowerCase())}:null,milestone:l.milestone?{id:l.milestone.id,url:l.milestone.url,number:l.milestone.number,state:l.milestone.state,title:l.milestone.title,description:l.milestone.description,open_issues:l.milestone.open_issues,closed_issues:l.milestone.closed_issues,created_at:l.milestone.created_at,updated_at:l.milestone.updated_at,closed_at:l.milestone.closed_at,due_on:l.milestone.due_on}:null,closed_at:l.closed_at,created_at:l.created_at,updated_at:l.updated_at}))),i}catch(s){throw new Error(`\u83B7\u53D6\u5B50\u8BAE\u9898\u5217\u8868\u5931\u8D25: ${s.message}`)}}async add_sub_issue(e){if(!e.owner||!e.repo)throw new Error(w);if(!e.issue_number)throw new Error(b);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:a,sub_issue_id:t,replace_parent:r}=e,n=await this.post(`/repos/${s}/${o}/issues/${a}/sub_issues`,{sub_issue_id:t,replace_parent:r});if(n.statusCode===404)throw new Error(R);return n.data&&(n.data={id:n.data.id,html_url:n.data.html_url,number:n.data.number,comments:n.data.comments,state:n.data.state,state_reason:n.data.state_reason,title:n.data.title,body:n.data.body,user:n.data.user?{id:n.data.user.id,login:n.data.user.login,name:n.data.user.name,email:n.data.user.email,html_url:n.data.user.html_url,avatar_url:n.data.user.avatar_url,type:lodashEs.capitalize(n.data.user.type.toLowerCase())}:null,labels:n.data.labels?n.data.labels.map(i=>({id:i.id,name:i.name,color:i.color})):null,assignee:n.data.assignee?{id:n.data.assignee.id,login:n.data.assignee.login,name:n.data.assignee.name,email:n.data.assignee.email,html_url:n.data.assignee.html_url,avatar_url:n.data.assignee.avatar_url,type:lodashEs.capitalize(n.data.assignee.type.toLowerCase())}:null,milestone:n.data.milestone?{id:n.data.milestone.id,url:n.data.milestone.url,number:n.data.milestone.number,state:n.data.milestone.state,title:n.data.milestone.title,description:n.data.milestone.description,open_issues:n.data.milestone.open_issues,closed_issues:n.data.milestone.closed_issues,created_at:n.data.milestone.created_at,updated_at:n.data.milestone.updated_at,closed_at:n.data.milestone.closed_at,due_on:n.data.milestone.due_on}:null,closed_at:n.data.closed_at,created_at:n.data.created_at,updated_at:n.data.updated_at}),n}catch(s){throw new Error(`\u6DFB\u52A0\u5B50\u8BAE\u9898\u5931\u8D25: ${s.message}`)}}async remove_sub_issue(e){if(!e.owner||!e.repo)throw new Error(w);if(!e.issue_number)throw new Error(b);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:a,sub_issue_id:t}=e,r=await this.delete(`/repos/${s}/${o}/issues/${a}/sub_issue`,null,{sub_issue_id:t});if(r.statusCode===404)throw new Error(R);return r.data&&(r.data={id:r.data.id,html_url:r.data.html_url,number:r.data.number,comments:r.data.comments,state:r.data.state,state_reason:r.data.state_reason,title:r.data.title,body:r.data.body,user:r.data.user?{id:r.data.user.id,login:r.data.user.login,name:r.data.user.name,email:r.data.user.email,html_url:r.data.user.html_url,avatar_url:r.data.user.avatar_url,type:lodashEs.capitalize(r.data.user.type.toLowerCase())}:null,labels:r.data.labels?r.data.labels.map(n=>({id:n.id,name:n.name,color:n.color})):null,assignee:r.data.assignee?{id:r.data.assignee.id,login:r.data.assignee.login,name:r.data.assignee.name,email:r.data.assignee.email,html_url:r.data.assignee.html_url,avatar_url:r.data.assignee.avatar_url,type:lodashEs.capitalize(r.data.assignee.type.toLowerCase())}:null,milestone:r.data.milestone?{id:r.data.milestone.id,url:r.data.milestone.url,number:r.data.milestone.number,state:r.data.milestone.state,title:r.data.milestone.title,description:r.data.milestone.description,open_issues:r.data.milestone.open_issues,closed_issues:r.data.milestone.closed_issues,created_at:r.data.milestone.created_at,updated_at:r.data.milestone.updated_at,closed_at:r.data.milestone.closed_at,due_on:r.data.milestone.due_on}:null,closed_at:r.data.closed_at,created_at:r.data.created_at,updated_at:r.data.updated_at}),r}catch(s){throw new Error(`\u5220\u9664\u5B50\u8BAE\u9898\u5931\u8D25: ${s.message}`)}}async delete_sub_issue(e){return this.remove_sub_issue(e)}async reprioritize_sub_issue(e){if(!e.owner||!e.repo)throw new Error(w);if(!e.issue_number)throw new Error(b);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:a,sub_issue_id:t,...r}=e,n={};r.before_id&&!r.after_id&&(n.before_id=r.before_id.toString()),r.after_id&&!r.before_id&&(n.after_id=r.after_id.toString());let i=`/repos/${s}/${o}/issues/${a}/sub_issues/priority`,l=await this.patch(i,n,{sub_issue_id:String(t)});if(l.statusCode===404)throw new Error(R);return l.data&&(l.data={id:l.data.id,html_url:l.data.html_url,number:l.data.number,comments:l.data.comments,state:l.data.state,state_reason:l.data.state_reason,title:l.data.title,body:l.data.body,user:l.data.user?{id:l.data.user.id,login:l.data.user.login,name:l.data.user.name,email:l.data.user.email,html_url:l.data.user.html_url,avatar_url:l.data.user.avatar_url,type:lodashEs.capitalize(l.data.user.type.toLowerCase())}:null,labels:l.data.labels?l.data.labels.map(_=>({id:_.id,name:_.name,color:_.color})):null,assignee:l.data.assignee?{id:l.data.assignee.id,login:l.data.assignee.login,name:l.data.assignee.name,email:l.data.assignee.email,html_url:l.data.assignee.html_url,avatar_url:l.data.assignee.avatar_url,type:lodashEs.capitalize(l.data.assignee.type.toLowerCase())}:null,milestone:l.data.milestone?{id:l.data.milestone.id,url:l.data.milestone.url,number:l.data.milestone.number,state:l.data.milestone.state,title:l.data.milestone.title,description:l.data.milestone.description,open_issues:l.data.milestone.open_issues,closed_issues:l.data.milestone.closed_issues,created_at:l.data.milestone.created_at,updated_at:l.data.milestone.updated_at,closed_at:l.data.milestone.closed_at,due_on:l.data.milestone.due_on}:null,closed_at:l.data.closed_at,created_at:l.data.created_at,updated_at:l.data.updated_at}),l}catch(s){throw new Error(`\u91CD\u65B0\u6392\u5E8F\u5B50\u8BAE\u9898\u5931\u8D25: ${s.message}`)}}};});var nt={};P(nt,{Repo:()=>se});var se,oe=y(()=>{T();k();se=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_org_repos_list(e){if(!e.org)throw new Error(c);try{this.setRequestConfig({token:this.userToken});let{org:s,...o}=e,a={};o?.type&&(a.type=o.type),o?.sort&&(a.sort=o.sort),o?.direction&&(a.direction=o.direction),o?.per_page&&(a.per_page=o.per_page.toString()),o?.page&&(a.page=o.page.toString());let t=`/orgs/${s}/repos`,r=await this.get(t,a);switch(r.statusCode){case 404:throw new Error(S);case 401:throw new Error(d)}let n=e.format??this.format;return r.data&&(r.data=await Promise.all(r.data.map(async i=>({id:i.id,name:i.name,full_name:i.full_name,owner:{id:i.owner.id,login:i.owner.login,name:i.owner.name,avatar_url:i.owner.avatar_url,type:i.owner.type,html_url:i.owner.html_url,company:i.owner.company,email:i.owner.email,bio:i.owner.bio,blog:i.owner.blog,followers:i.owner.followers,following:i.owner.following},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,created_at:n?await h(i.created_at):i.created_at,updated_at:n?await h(i.updated_at):i.updated_at,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})))),r}catch(s){throw new Error(`\u83B7\u53D6\u7EC4\u7EC7\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${s.message}`)}}async get_user_repos_list_by_token(e){try{this.setRequestConfig({token:this.userToken});let{...s}=e,o={};!e?.visibility&&!e?.affiliation&&s?.type&&(o.type=s.type),s?.visibility&&(o.visibility=s.visibility),s?.affiliation&&(o.affiliation=s.affiliation),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 t=await this.get("/uses/repos",o);if(t.statusCode===401)throw new Error(d);let r=e?.format??this.format;return t.data&&(t.data=await Promise.all(t.data.map(async n=>({id:n.id,name:n.name,full_name:n.full_name,owner:{id:n.owner.id,login:n.owner.login,name:n.owner.name,avatar_url:n.owner.avatar_url,type:n.owner.type,html_url:n.owner.html_url,company:n.owner.company,email:n.owner.email,bio:n.owner.bio,blog:n.owner.blog,followers:n.owner.followers,following:n.owner.following},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,created_at:r?await h(n.created_at):n.created_at,updated_at:r?await h(n.updated_at):n.updated_at,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})))),t}catch(s){throw new Error(`\u83B7\u53D6\u6388\u6743\u7528\u6237\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${s.message}`)}}async get_user_repos_list(e){try{if(!e.username)throw new Error(A);this.setRequestConfig({token:this.userToken});let{username:s,...o}=e,a={};o?.type&&(a.type=o.type),o?.sort&&(a.sort=o.sort),o?.direction&&(a.direction=o.direction),o?.per_page&&(a.per_page=o.per_page.toString()),o?.page&&(a.page=o.page.toString());let t=e?.format??this.format,r=`/users/${s}/repos`,n=await this.get(r,a);switch(n.statusCode){case 404:throw new Error($);case 401:throw new Error(d)}return n.data&&(n.data=await Promise.all(n.data.map(async i=>({id:i.id,name:i.name,full_name:i.full_name,owner:{id:i.owner.id,login:i.owner.login,name:i.owner.name,avatar_url:i.owner.avatar_url,type:i.owner.type,html_url:i.owner.html_url,company:i.owner.company,email:i.owner.email,bio:i.owner.bio,blog:i.owner.blog,followers:i.owner.followers,following:i.owner.following},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,created_at:t?await h(i.created_at):i.created_at,updated_at:t?await h(i.updated_at):i.updated_at,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})))),n}catch(s){throw new Error(`\u83B7\u53D6\u7528\u6237\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${s.message}`)}}async get_repo_info(e){try{this.setRequestConfig({token:this.userToken});let s,o;if("url"in e){let r=e.url.trim(),n=f(r);s=n?.owner,o=n?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(c);let a=await this.get(`/repos/${s}/${o}`);switch(a.statusCode){case 401:throw new Error(d);case 404:throw new Error(q)}let t=e?.format??this.format;return a.data&&(a.data={id:a.data.id,name:a.data.name,full_name:a.data.full_name,owner:{id:a.data.owner.id,login:a.data.owner.login,name:a.data.owner.name,avatar_url:a.data.owner.avatar_url,type:a.data.owner.type,html_url:a.data.owner.html_url,company:a.data.owner.company,email:a.data.owner.email,bio:a.data.owner.bio,blog:a.data.owner.blog,followers:a.data.owner.followers,following:a.data.owner.following},public:!a.data.private,private:a.data.private,visibility:a.data.private?"private":"public",fork:a.data.fork,archived:a.data.archived,disabled:a.data.disabled,html_url:a.data.html_url,description:a.data.description,created_at:t?await h(a.data.created_at):a.data.created_at,updated_at:t?await h(a.data.updated_at):a.data.updated_at,stargazers_count:a.data.stargazers_count,watchers_count:a.data.watchers_count,language:a.data.language,forks_count:a.data.forks_count,open_issues_count:a.data.open_issues_count,default_branch:a.data.default_branch}),a}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}async get_repo_languages_list(e){try{this.setRequestConfig({token:this.userToken});let s,o;if("url"in e){let t=e.url.trim(),r=f(t);s=r?.owner,o=r?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(c);let a=await this.get(`/repos/${s}/${o}/languages`);switch(a.statusCode){case 401:throw new Error(d);case 404:throw new Error(C)}if(a.data){let t=Object.values(a.data).reduce((r,n)=>r+n,0);a.data={languages:await Promise.all(Object.entries(a.data).map(([r,n])=>{let i=String(r).toLowerCase();return {language:r,color:B(i),percent:Number((n/t*100).toFixed(2)),bytes:n}}))};}return a}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5217\u8868\u5931\u8D25: ${s.message}`)}}async create_org_repo(e){try{let{owner:s,...o}=e,a={...o},t=await this.post(`/orgs/${s}/repos`,a);if(t.statusCode===401)throw new Error(d);let r=e?.format??this.format;return t.data&&(t.data={id:t.data.id,name:t.data.name,full_name:t.data.full_name,owner:{id:t.data.owner.id,login:t.data.owner.login,name:t.data.owner.name,avatar_url:t.data.owner.avatar_url,type:t.data.owner.type,html_url:t.data.owner.html_url,company:t.data.owner.company,email:t.data.owner.email,bio:t.data.owner.bio,blog:t.data.owner.blog,followers:t.data.owner.followers,following:t.data.owner.following},public:!t.data.private,private:t.data.private,visibility:t.data.private?"private":"public",fork:t.data.fork,archived:t.data.archived,disabled:t.data.disabled,html_url:t.data.html_url,description:t.data.description,created_at:r?await h(t.data.created_at):t.data.created_at,updated_at:r?await h(t.data.updated_at):t.data.updated_at,stargazers_count:t.data.stargazers_count,watchers_count:t.data.watchers_count,language:t.data.language,forks_count:t.data.forks_count,open_issues_count:t.data.open_issues_count,default_branch:t.data.default_branch}),t}catch(s){throw new Error(`\u521B\u5EFA\u7EC4\u7EC7\u4ED3\u5E93\u5931\u8D25: ${s.message}`)}}async get_collaborators_list(e){try{this.setRequestConfig({token:this.userToken});let s,o;if("url"in e){let n=e.url.trim(),i=f(n);s=i?.owner,o=i?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(c);let{...a}=e,t={};a.affiliation&&(t.milestone=a.affiliation.toString()),a.permission&&(t.permission=a.permission.toString()),a.per_page&&(t.per_page=a.per_page.toString()),a.page&&(t.page=a.page.toString());let r=await this.get(`/repos/${s}/${o}/collaborators`,t);return r.data&&(r.data=await Promise.all(r.data.map(n=>({id:n.id,login:n.login,avatar_url:n.avatar_url,email:n.email,name:n.name,permissions:n.permissions,role_name:n.role_name})))),r}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u534F\u4F5C\u8005\u5217\u8868\u5931\u8D25: ${s.message}`)}}async add_collaborator(e){let s,o,a;try{if(this.setRequestConfig({token:this.userToken}),"url"in e){let n=e.url.trim(),i=f(n);s=i?.owner,o=i?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(c);a=e?.username;let t=await this.put(`/repos/${s}/${o}/collaborators/${a}`,{permission:e.permission??"pull"});if(t.statusCode===404)throw new Error(W);if(t.statusCode===422){let n=t.data.message;if(n&&n.includes("is not a valid permission"))throw new Error(ke)}let r=e?.format??this.format;return t.data&&(t.data={id:t.data.id,repository:{id:t.data.repository.id,name:t.data.repository.name,full_name:t.data.repository.full_name,owner:{id:t.data.repository.owner.id,login:t.data.repository.owner.login,name:t.data.repository.owner.name,avatar_url:t.data.repository.owner.avatar_url,type:t.data.repository.owner.type,html_url:t.data.repository.owner.html_url,company:t.data.repository.owner.company,email:t.data.repository.owner.email,bio:t.data.repository.owner.bio,blog:t.data.repository.owner.blog,followers:t.data.repository.owner.followers,following:t.data.repository.owner.following},public:!t.data.repository.private,private:t.data.repository.private,visibility:t.data.repository.private?"private":"public",fork:t.data.repository.fork,archived:t.data.repository.archived,disabled:t.data.repository.disabled,html_url:t.data.repository.html_url,description:t.data.repository.description,created_at:r?await h(t.data.repository.created_at):t.data.repository.created_at,updated_at:r?await h(t.data.repository.updated_at):t.data.repository.updated_at,stargazers_count:t.data.repository.stargazers_count,watchers_count:t.data.repository.watchers_count,language:t.data.repository.language,forks_count:t.data.repository.forks_count,open_issues_count:t.data.repository.open_issues_count,default_branch:t.data.repository.default_branch}}),t}catch(t){throw new Error(`\u6DFB\u52A0\u534F\u4F5C\u8005${a}\u5931\u8D25: ${t.message}`)}}async remove_collaborator(e){let s,o,a;try{if(this.setRequestConfig({token:this.userToken}),"url"in e){let r=e.url.trim(),n=f(r);s=n?.owner,o=n?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(c);a=e?.username;let t=await this.delete(`/repos/${s}/${o}/collaborators/${a}`);if(t.statusCode===404)throw new Error(W);return t.status&&t.statusCode===204?t.data={info:`\u79FB\u9664\u534F\u4F5C\u8005${a}\u6210\u529F`}:t.data={info:`\u79FB\u9664\u534F\u4F5C\u8005${a}\u5931\u8D25`},t}catch(t){throw new Error(`\u79FB\u9664\u534F\u4F5C\u8005${a}\u5931\u8D25: ${t.message}`)}}async delete_collaborator(e){return this.remove_collaborator(e)}async get_repo_visibility(e){try{let s,o;if("url"in e){let a=e.url.trim(),t=f(a);s=t?.owner,o=t?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(c);return (await this.get_repo_info({owner:s,repo:o})).data.visibility}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u53EF\u89C1\u6027\u5931\u8D25: ${s.message}`)}}async get_repo_default_branch(e){try{let s,o;if("url"in e){let a=e.url.trim(),t=f(a);s=t?.owner,o=t?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(c);return (await this.get_repo_info({owner:s,repo:o})).data.default_branch}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u9ED8\u8BA4\u5206\u652F\u5931\u8D25: ${s.message}`)}}async get_repo_main_language(e){try{let s,o;if("url"in e){let a=e.url.trim(),t=f(a);s=t?.owner,o=t?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(c);return (await this.get_repo_info({owner:s,repo:o})).data.language}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5931\u8D25: ${s.message}`)}}};});var it={};P(it,{User:()=>ie});var ie,le=y(()=>{T();k();ie=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_user_info(e){let s=e.access_token??this.userToken;if(!e.username)throw new Error(fe);if(!s?.startsWith("ghu_"))throw new Error(x);try{this.setRequestConfig({token:s});let o=await this.get(`/users/${e.username}`);if(o.statusCode===401)throw new Error(d);if(o.statusCode===404)throw new Error(q);return o.data&&(o.data={id:o.data.id,login:o.data.login,name:o.data.name||null,type:lodashEs.capitalize(o.data.type.toLowerCase()),html_url:o.data.html_url,avatar_url:o.data.avatar_url,company:o.data.company||null,email:o.data.email||null,bio:o.data.bio||null,blog:o.data.blog||null,followers:o.data.followers,following:o.data.following}),o}catch(o){throw new Error(`\u83B7\u53D6\u7528\u6237\u6216\u7EC4\u7EC7\u4FE1\u606F\u5931\u8D25: ${o.message}`)}}async get_user_info_by_user_id(e){let s=e.access_token??this.userToken;if(!e.user_id)throw new Error(Re);if(!s?.startsWith("ghu_"))throw new Error(x);try{this.setRequestConfig({token:this.userToken});let o=await this.get(`/user/${e.user_id}`);if(o.statusCode===401)throw new Error(d);if(o.statusCode===404)throw new Error($);return o.data&&(o.data={id:o.data.id,login:o.data.login,name:o.data.name||null,type:lodashEs.capitalize(o.data.type.toLowerCase()),html_url:o.data.html_url,avatar_url:o.data.avatar_url,company:o.data.company||null,email:o.data.email||null,bio:o.data.bio||null,blog:o.data.blog||null,followers:o.data.followers,following:o.data.following}),o}catch(o){throw new Error(`\u901A\u8FC7\u7528\u6237id\u83B7\u53D6\u7528\u6237${e.user_id}\u4FE1\u606F\u5931\u8D25: ${o.message}`)}}async get_user_info_by_auth(e){let s=e?.access_token??this.userToken;if(!e||!s)throw new Error(I);try{this.setRequestConfig({token:s});let o=await this.get("/user");switch(o.statusCode){case 401:throw new Error(d);case 404:throw new Error($)}return o.data&&(o.data={id:o.data.id,login:o.data.login,name:o.data.name||null,type:lodashEs.capitalize(o.data.type.toLowerCase()),html_url:o.data.html_url,avatar_url:o.data.avatar_url,company:o.data.company||null,email:o.data.email||null,bio:o.data.bio||null,blog:o.data.blog||null,followers:o.data.followers,following:o.data.following}),o}catch(o){throw new Error(`\u83B7\u53D6\u6388\u6743\u7528\u6237\u4FE1\u606F\u5931\u8D25: ${o.message}`)}}async get_user_info_by_token(e){return this.get_user_info_by_auth(e)}async get_user_contribution(e){try{if(!e.username)throw new Error(A);if((await this.get_user_info({username:e.username})).data.type==="Organization")throw new Error(`${Ie}\u83B7\u53D6\u8D21\u732E\u65E5\u5386`);this.setRequestConfig({url:this.BaseUrl});let o=await this.get(`/${e.username}`,{action:"show",controller:"profiles",tab:"contributions",user_id:e.username},{"X-Requested-With":"XMLHttpRequest"});if(o.statusCode===404)throw new Error(A);let a=await Qe(o.data);return {...o,data:a}}catch(s){throw new Error(`\u83B7\u53D6\u7528\u6237${e.username}\u8D21\u732E\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}async get_user_id(){return (await this.get_user_info_by_auth({})).data.id}async get_username(){return (await this.get_user_info_by_auth()).data.login}async get_nickname(){return (await this.get_user_info_by_auth()).data.name}async get_user_email(){return (await this.get_user_info_by_auth()).data.email}async get_avatar_url(){return (await this.get_user_info_by_auth()).data.avatar_url}};});var lt={};P(lt,{Org:()=>ue});var ue,pe=y(()=>{T();k();ue=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_org_info(e){if(!e.org)throw new Error(be);try{this.setRequestConfig({token:this.userToken});let s=await this.get(`/orgs/${e.org}`);if(s.statusCode===404)throw new Error(S);return s.data&&(s.data={id:s.data.id,login:s.data.login,name:s.data.name,avatar_url:s.data.avatar_url,description:s.data.description,html_url:s.data.html_url}),s}catch(s){throw new Error(`\u83B7\u53D6\u7EC4\u7EC7${e.org}\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}};});var pt={};P(pt,{WebHook:()=>de});var de,me=y(()=>{T();k();de=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async check_webhook_signature(e){let s=e.secret??this.WebHook_Secret;if(!s||!e.payload||!e.signature)throw new Error(c);if(!e.signature.startsWith("sha256="))throw new Error(Ne);let o=false,a="error",t=400,r=j,n;try{let i=ut__default.default.createHmac("sha256",s),l=typeof e.payload=="string"?e.payload:JSON.stringify(e.payload);i.update(l,"utf8");let _=i.digest("hex"),m=e.signature.replace("sha256=","");ut__default.default.timingSafeEqual(Buffer.from(_),Buffer.from(m))?(o=!0,a="ok",t=200,r="\u8BF7\u6C42\u6210\u529F",n={info:Be}):(o=!1,a="error",t=403,r="\u8BF7\u6C42\u5931\u8D25",n={info:j});}catch(i){throw new Error(`\u8BF7\u6C42\u9A8C\u8BC1WebHook\u7B7E\u540D\u5931\u8D25: ${i.message}`)}return Promise.resolve({success:o,status:a,statusCode:t,msg:r,data:n})}};});var z;exports.GitHubClient=void 0;var k=y(()=>{T();Y();X();z="github",exports.GitHubClient=class{BaseUrl;ApiUrl;jwtToken;userToken;format;Private_Key;Client_ID;Client_Secret;WebHook_Secret;currentRequestConfig;proxy;constructor(e){this.Private_Key=e.Private_Key,this.Client_ID=e.Client_ID,this.Client_Secret=e.Client_Secret,this.WebHook_Secret=e.WebHook_Secret,this.jwtToken=this.generate_jwt(),this.BaseUrl=V(z),this.ApiUrl=K(z),this.userToken=null,this.currentRequestConfig={url:this.ApiUrl,token:null,tokenType:"Bearer"},this.format=e.format??false;}async get_app(){let{App:e}=await Promise.resolve().then(()=>(ce(),dt));return this.app=new e(this),this.app}async get_auth(){let{Auth:e}=await Promise.resolve().then(()=>(Z(),at));return this.auth=new e(this),this.auth}async get_commit(){let{Commit:e}=await Promise.resolve().then(()=>(te(),st));return this.commit=new e(this),this.commit}async get_issue(){let{Issue:e}=await Promise.resolve().then(()=>(re(),ot));return this.issue=new e(this),this.issue}async get_repo(){let{Repo:e}=await Promise.resolve().then(()=>(oe(),nt));return this.repo=new e(this),this.repo}async get_user(){let{User:e}=await Promise.resolve().then(()=>(le(),it));return this.user=new e(this),this.user}async get_org(){let{Org:e}=await Promise.resolve().then(()=>(pe(),lt));return this.org=new e(this),this.org}async get_webhook(){let{WebHook:e}=await Promise.resolve().then(()=>(me(),pt));return this.webhook=new e(this),this.webhook}setProxy(e){if(e?.address){let s=new url.URL(e.address);if(!["http:","https:","socks:"].includes(s.protocol))throw new Error(Te);e.address=e.address.replace(/\/$/,"");}e?.type==="common"&&(this.BaseUrl=V(z,e.address),this.ApiUrl=K(z,e.address)),this.proxy=e;}setToken(e){if(!e.startsWith("ghu_"))throw console.log("token \u5FC5\u987B\u4EE5 ghu_ \u5F00\u5934"),this.userToken=null,new Error(x);return this.userToken=e,this}generate_jwt(){let e=this.Private_Key,s={exp:Math.floor(Date.now()/1e3)+10*60,iat:Math.floor(Date.now()/1e3),iss:this.Client_ID};return kt__default.default.sign(s,e,{algorithm:"RS256"})}setRequestConfig(e){e.url&&(this.currentRequestConfig.url=e.url),e.token&&(this.currentRequestConfig.token=e.token),e.tokenType&&(this.currentRequestConfig.tokenType=e.tokenType);}createRequest(){let{url:e,token:s,tokenType:o}=this.currentRequestConfig,a=this.proxy?.type!=="common"?this.proxy:null,t={"X-GitHub-Api-Version":"2022-11-28",Accept:"application/vnd.github+json"};return new H(e,o,s??null,a,t)}async get(e,s,o){try{let t=await this.createRequest().get(e,s,o);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(a){throw new Error(`GET \u8BF7\u6C42${e}\u5931\u8D25: ${a.message}`)}}async post(e,s,o){try{let t=await this.createRequest().post(e,s,o);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(a){throw new Error(`POST \u8BF7\u6C42${e}\u5931\u8D25: ${a.message}`)}}async patch(e,s=null,o,a){try{let r=await this.createRequest().patch(e,s,o,a);if((r.statusCode===403||r.statusCode===429)&&r.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:r.success,status:r.success?"ok":"error",statusCode:r.statusCode,msg:r.msg,data:r.data}}catch(t){throw new Error(`PATCH \u8BF7\u6C42${e}\u5931\u8D25: ${t.message}`)}}async put(e,s,o){try{let t=await this.createRequest().put(e,s,o);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(a){throw new Error(`PUT \u8BF7\u6C42${e}\u5931\u8D25: ${a.message}`)}}async delete(e,s=null,o,a){try{let r=await this.createRequest().delete(e,s,o,a);if((r.statusCode===403||r.statusCode===429)&&r.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:r.success,status:r.success?"ok":"error",statusCode:r.statusCode,msg:r.msg,data:r.data}}catch(t){throw new Error(`DELETE \u8BF7\u6C42${e}\u5931\u8D25: ${t.message}`)}}};});var dt={};P(dt,{App:()=>_e});var _e,ce=y(()=>{T();k();_e=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_app_info(e){let s=e.access_token??this.userToken;if(!e.app_slug)throw new Error(c);if(!s)throw new Error(I);try{this.setRequestConfig({token:s});let o=await this.get(`/apps/${e.app_slug}`);return o.statusCode===200&&(o.data={id:o.data.id,name:o.data.name,client_id:o.data.client_id,slug:o.data.slug,owner:{id:o.data.owner.id,login:o.data.owner.login,name:o.data.owner.name,email:o.data.owner.email,html_url:o.data.owner.html_url,avatar_url:o.data.owner.avatar_url,type:lodashEs.capitalize(o.data.owner.type.toLowerCase())},description:o.data.description,external_url:o.data.external_url,html_url:o.data.html_url,permissions:o.data.permissions,events:o.data.events,created_at:o.data.created_at,updated_at:o.data.updated_at}),o}catch(o){throw new Error(`\u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${o.message}`)}}async get_app_info_by_auth(){try{this.setRequestConfig({url:this.ApiUrl,token:this.jwtToken});let e=await this.get("/app");return e.statusCode===200&&(e.data={id:e.data.id,name:e.data.name,client_id:e.data.client_id,slug:e.data.slug,owner:{id:e.data.owner.id,login:e.data.owner.login,name:e.data.owner.name,email:e.data.owner.email,html_url:e.data.owner.html_url,avatar_url:e.data.owner.avatar_url,type:lodashEs.capitalize(e.data.owner.type.toLowerCase())},description:e.data.description,external_url:e.data.external_url,html_url:e.data.html_url,permissions:e.data.permissions,events:e.data.events,created_at:e.data.created_at,updated_at:e.data.updated_at}),e}catch(e){throw new Error(`\u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${e.message}`)}}async get_app_installation_by_repo(e){let s,o;try{if(this.setRequestConfig({token:this.jwtToken}),"url"in e){let t=e.url.trim(),r=f(t);s=r?.owner,o=r?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(c);let a=await this.get(`/repos/${s}/${o}/installation`);switch(a.statusCode){case 404:throw new Error(C);case 301:throw new Error(Ue)}return a.data&&(a.data={id:a.data.id,html_url:a.data.html_url,app_id:a.data.app_id,app_slug:a.data.app_slug,target_id:a.data.target_id,target_type:a.data.target_type,account:a.data.account?{id:a.data.account.id,login:a.data.account.login,name:a.data.account.name,email:a.data.account.email,html_url:a.data.account.html_url,avatar_url:a.data.account.avatar_url,type:lodashEs.capitalize(a.data.account.type.toLowerCase())}:null,repository_selection:a.data.repository_selection,access_tokens_url:a.data.access_tokens_url,repositories_url:a.data.repositories_url,permissions:a.data.permissions,events:a.data.events,created_at:a.data.created_at,updated_at:a.data.updated_at}),a}catch(a){throw new Error(`\u83B7\u53D6\u5B58\u50A8\u5E93\u5B89\u88C5\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async create_install_link(e){try{let s=new URL(`apps/${await this.get_app_name()}/installations/new`,this.BaseUrl);return s.search=new URLSearchParams({...e&&{state:e}}).toString(),s.toString()}catch(s){throw new Error(`\u751F\u6210\u5E94\u7528\u5B89\u88C5\u94FE\u63A5\u5931\u8D25: ${s.message}`)}}async create_config_install_link(e){try{let s=new URL(`apps/${await this.get_app_name()}/installations/new`,this.BaseUrl);return s.search=new URLSearchParams({...e&&{state:e}}).toString(),s.toString()}catch(s){throw new Error(`\u751F\u6210\u5E94\u7528\u914D\u7F6E\u94FE\u63A5\u5931\u8D25: ${s.message}`)}}async get_app_name(){return (await this.get_app_info_by_auth()).data.name}};});T();Y();X();ce();Z();k();te();re();pe();oe();le();me();k();var he=class{github;constructor(e){if(!e.github)throw new Error("GitHub \u5BA2\u6237\u7AEF\u672A\u914D\u7F6E");this.github=new exports.GitHubClient(e.github);}},_r={create_state_id:et,formatDate:h,get_relative_time:Xe,get_langage_color:B};var hr=he;exports.Client=he;exports.default=hr;exports.utils=_r;
|
1
|
+
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var je=require('path'),url=require('url'),Ve=require('fs'),ct=require('color-convert'),O=require('dayjs'),gt=require('dayjs/plugin/relativeTime.js'),_t=require('git-url-parse'),ht=require('language-colors'),uuid=require('uuid'),M=require('axios'),httpProxyAgent=require('http-proxy-agent'),httpsProxyAgent=require('https-proxy-agent'),socksProxyAgent=require('socks-proxy-agent'),lodashEs=require('lodash-es'),lt=require('crypto'),Pt=require('jsonwebtoken');var _documentCurrentScript=typeof document!=='undefined'?document.currentScript:null;function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var je__default=/*#__PURE__*/_interopDefault(je);var Ve__default=/*#__PURE__*/_interopDefault(Ve);var ct__default=/*#__PURE__*/_interopDefault(ct);var O__default=/*#__PURE__*/_interopDefault(O);var gt__default=/*#__PURE__*/_interopDefault(gt);var _t__default=/*#__PURE__*/_interopDefault(_t);var ht__default=/*#__PURE__*/_interopDefault(ht);var M__default=/*#__PURE__*/_interopDefault(M);var lt__default=/*#__PURE__*/_interopDefault(lt);var Pt__default=/*#__PURE__*/_interopDefault(Pt);var dt=Object.defineProperty;var h=(u,e)=>()=>(u&&(e=u(u=0)),e);var P=(u,e)=>{for(var s in e)dt(u,s,{get:e[s],enumerable:true});};var V,I,we,U,E,fe,be,Te,y,g,Re,N,Ce,A,x,ke,Pe,Y,Ee,d,Ie,ve,Ae,xe,b,R,$e,Me,Le,Ue,S,q,C,Ne,X,$,Se,Q,v,qe=h(()=>{V="\u55B5\u545C~ \u6388\u6743\u7801\u4E0D\u80FD\u4E3A\u7A7A",I="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u4E0D\u80FD\u4E3A\u7A7A",we="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A\u54E6",U="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",E="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",fe="\u55B5\u545C~ \u8BAE\u9898\u6807\u9898\u4E0D\u80FD\u4E3A\u7A7A",be="\u55B5\u545C~ \u7EC4\u7EC7\u540D\u6216\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A",Te="\u55B5\u545C~ \u7EC4\u7EC7\u540D\u4E0D\u80FD\u4E3A\u7A7A",y="\u55B5\u545C~ \u4ED3\u5E93\u62E5\u6709\u8005\u6216\u4ED3\u5E93\u540D\u4E0D\u80FD\u4E3A\u7A7A",g="\u55B5\u545C~ \u53C2\u6570\u597D\u50CF\u4E0D\u592A\u5BF9\u5462",Re="\u55B5\u545C~ \u4EE3\u7406\u5730\u5740\u683C\u5F0F\u4E0D\u6B63\u786E\u54E6",N="\u55B5\u545C~ \u8FD9\u4E2A\u5B50\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",Ce="\u55B5\u545C~ \u7528\u6237ID\u4E0D\u80FD\u4E3A\u7A7A",A="\u55B5\u545C~ \u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A",x="\u55B5\u545C~ \u8FD9\u4E2A\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",ke="\u55B5\u545C~ \u8FD9\u4E2A\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",Pe="\u55B5\u545C~ \u6743\u9650\u4E0D\u6B63\u786E\uFF0C\u8BF7\u68C0\u67E5\u6743\u9650",Y="\u55B5\u545C~ \u8FD9\u4E2A\u5237\u65B0\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",Ee="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5DF2\u8FC7\u671F",d="\u55B5\u545C~ \u8BBF\u95EE\u88AB\u62D2\u7EDD\u5566\uFF0C\u53EF\u80FD\u662F\u4EE4\u724C\u8FC7\u671F\u4E86\u6216\u6743\u9650\u4E0D\u8DB3",Ie="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u5931\u8D25",ve="\u55B5\u545C~ \u7EC4\u7EC7\u8D26\u53F7\u6682\u4E0D\u652F\u6301",Ae="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u4E0D\u5B58\u5728\u54E6",xe="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",b="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u4E0D\u5B58\u5728\u54E6",R="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u4E0D\u5B58\u5728\u54E6",$e="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u5DF2\u88AB\u79FB\u52A8",Me="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u9501\u5B9A\u5931\u8D25\u54E6",Le="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u521B\u5EFA\u5931\u8D25\u54E6",Ue="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u89E3\u9501\u5931\u8D25\u54E6",S="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u4E0D\u5B58\u5728\u54E6",q="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u6216\u7528\u6237\u4E0D\u5B58\u5728\u54E6",C="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",Ne="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u5DF2\u88AB\u79FB\u52A8",X="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u4E0D\u5B58\u5728\u6216\u8BBF\u95EE\u88AB\u62D2\u7EDD\u5566\uFF0C\u53EF\u80FD\u662F\u4EE4\u724C\u8FC7\u671F\u4E86\u6216\u6743\u9650\u4E0D\u8DB3",$="\u55B5\u545C~ \u8FD9\u4E2A\u7528\u6237\u4E0D\u5B58\u5728\u54E6",Se="\u55B5\u545C~ WebHook \u7B7E\u540D\u683C\u5F0F\u4E0D\u6B63\u786E",Q="\u55B5\u545C~ WebHook \u7B7E\u540D\u9A8C\u8BC1\u5931\u8D25",v="\u55B5\u545C~ \u8BBF\u95EE\u901F\u7387\u53D7\u9650\u5566 \u8BF7\u7B49\u5F851\u5C0F\u65F6\u540E\u518D\u8BD5 \u6216 \u4F7F\u7528\u8BBF\u95EE\u4EE4\u724C\u63D0\u5347\u9650\u989D";});var Oe,Be,He,ze,De,We,Ge=h(()=>{Oe="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u6210\u529F",Be="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u6709\u6548",He="\u55B5\u545C~ WebHook \u7B7E\u540D\u6210\u529F",ze="\u55B5\u545C~ \u8BAE\u9898\u9501\u5B9A\u6210\u529F",De="\u55B5\u545C~ \u8BAE\u9898\u89E3\u9501\u6210\u529F",We="\u55B5\u545C~ \u8BAE\u9898\u8BC4\u8BBA\u521B\u5EFA\u6210\u529F";});var Fe,Je,Ke=h(()=>{Fe=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))).replace(/\\/g,"/").replace(/\/$/,""),Je=je__default.default.resolve(Fe,"../../").replace(/\\/g,"/").replace(/\/$/,""),je__default.default.resolve(Fe,"../").replace(/\\/g,"/").replace(/\/$/,"");});function Ye(u="",e=""){e=e??Je;try{let s=`${e}/${u}`;if(!Ve__default.default.existsSync(s))return console.warn(`\u6587\u4EF6\u4E0D\u5B58\u5728: ${s}`),{};let o=Ve__default.default.readFileSync(s,"utf8");return JSON.parse(o)}catch(s){return console.error(`\u8BFB\u53D6 JSON \u6587\u4EF6\u5931\u8D25: ${u}`,s),{}}}async function Xe(u="zh-cn"){let e=String(u).toLowerCase();await import(`dayjs/locale/${e}.js`),O__default.default.locale(e);}async function w(u,e="zh-cn",s="YYYY-MM-DD HH:mm:ss"){return await Xe(e),O__default.default(u).format(s)}async function yt(u,e="zh-cn"){return await Xe(e),O__default.default.extend(gt__default.default),O__default.default(u).fromNow()}function f(u){let e=/^https?:\/\/[^/]+\/(?:https?:\/\/)?([^/]+\/[^/]+\/[^/]+)/,s=u.match(e);if(s){let r=s[1];u=r.startsWith("https")?r:`https://${r}`;}let o=_t__default.default(u);return {owner:o.owner,repo:o.name}}function wt(u){if(!Array.isArray(u))throw new Error("RGB\u503C\u5FC5\u987B\u662F\u6570\u7EC4\u7C7B\u578B");if(u.length!==3)throw new Error("RGB\u6570\u7EC4\u5FC5\u987B\u5305\u542B\u4E14\u4EC5\u5305\u542B3\u4E2A\u503C");if(!u.every(e=>Number.isInteger(e)&&e>=0&&e<=255))throw new Error("RGB\u503C\u5FC5\u987B\u90FD\u662F0-255\u4E4B\u95F4\u7684\u6574\u6570");return `#${ct__default.default.rgb.hex(u)}`}function Z(u){return u=String(u).toLowerCase(),wt(ht__default.default[u].color)??"#cccccc"}async function ft(u,e){return Promise.resolve(Array.from({length:Math.ceil(u.length/e)},(s,o)=>u.slice(o*e,o*e+e)))}async function Qe(u){let e=/data-date="(.*?)" id="contribution-day-component/g,s=/<tool-tip .*?class="sr-only position-absolute">(.*?) contribution/g,o=Array.from(u.matchAll(e),n=>n[1]),r=Array.from(u.matchAll(s),n=>String(n[1]).toLowerCase()==="no"?0:parseInt(n[1]));if(!o.length||!r.length)return {total:0,contributions:[]};let t=o.map((n,i)=>({date:n,count:r[i]})).sort((n,i)=>n.date.localeCompare(i.date)),a=await ft(t,7);return {total:r.reduce((n,i)=>n+i,0),contributions:a}}var ee=h(()=>{Ke();});var te,Ze=h(()=>{ee();te=Ye("package.json");});var T=h(()=>{qe();Ge();ee();Ze();});function re(u,e){let s={github:"api.github.com",gitee:"gitee.com/api/v5",gitcode:"api.gitcode.com/api/v5"};return `https://${e?.replace(/\/$/,"")??""}/${s[u??"github"]}`.replace(/\/$/,"")}function ae(u,e){let s={github:"github.com",gitee:"gitee.com",gitcode:"gitcode.com"};return `https://${e?.replace(/\/$/,"")??""}/${s[u??"github"]}`.replace(/\/$/,"")}async function Tt(){return Promise.resolve(uuid.v4().replace(/-/g,""))}var se=h(()=>{});var B,oe=h(()=>{T();B=class{baseUrl;tokenType;authorization;proxy;defaultHeaders;constructor(e,s="Bearer",o,r,t){this.baseUrl=e.replace(/\/$/,""),this.authorization=o,this.proxy=r,this.tokenType=s,this.defaultHeaders=t;}async request(e,s,o,r,t){let a=`${this.baseUrl}/${s}`.replace(/\/+/g,"/"),n={headers:this.createHeaders(t),params:o,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":{let _=new socksProxyAgent.SocksProxyAgent(l);n.httpAgent=_,n.httpsAgent=_;break}}}try{let i;switch(e){case "get":i=await M__default.default.get(a,n);break;case "post":i=await M__default.default.post(a,r,n);break;case "patch":i=await M__default.default.patch(a,r,n);break;case "put":i=await M__default.default.put(a,r,n);break;case "delete":i=await M__default.default.delete(a,{...n,data:r});break;default:throw new Error(`\u4E0D\u652F\u6301\u7684\u8BF7\u6C42\u65B9\u6CD5: ${e}`)}let l=Object.fromEntries(Object.entries(i.headers).filter(([_,c])=>c!==void 0).map(([_,c])=>[_.toLowerCase(),c]));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,_=l.response?.headers?Object.fromEntries(Object.entries(l.response.headers).filter(([c,L])=>L!==void 0).map(([c,L])=>[c,L])):{};return {success:false,statusCode:l.response?.status??500,headers:_,msg:l.message??"\u7F51\u7EDC\u8FDE\u63A5\u5931\u8D25",data:null}}}async get(e,s,o){return this.request("get",e,s,null,o)}async post(e,s,o,r){return this.request("post",e,s,o,r)}async patch(e,s=null,o,r){return this.request("patch",e,s,o,r)}async put(e,s,o,r){return this.request("put",e,s,o,r)}async delete(e,s=null,o,r){return this.request("delete",e,s,o,r)}createHeaders(e){let s={"Content-Type":"application/json","User-Agent":`${te.name}/v${te.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 e&&Object.assign(s,e),s}};});var tt={};P(tt,{Auth:()=>H});var H,ne=h(()=>{T();k();H=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async create_auth_link(e){try{let s=new URL("/login/oauth/authorize",this.BaseUrl);return s.search=new URLSearchParams({client_id:this.Client_ID,...e&&{state:e}}).toString(),Promise.resolve(s.toString())}catch(s){throw new Error(`\u751F\u6210\u6388\u6743\u94FE\u63A5\u5931\u8D25: ${s.message}`)}}async get_token_by_code(e){try{if(!e.code)throw new Error(V);return this.setRequestConfig({url:this.BaseUrl}),await this.post("login/oauth/access_token",{client_id:this.Client_ID,client_secret:this.Client_Secret,code:e.code},{Accept:"application/json"})}catch(s){throw new Error(`\u8BF7\u6C42\u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${s.message}`)}}async check_token_status(e){try{let s=e?.access_token??this.userToken;if(!s)throw new Error(I);if(!s.startsWith("ghu_"))throw new Error(ke);this.setRequestConfig({url:this.ApiUrl,tokenType:"Basic",token:`${this.Client_ID}:${this.Client_Secret}`});let o=await this.post(`/applications/${this.Client_ID}/token`,{access_token:s});if(o.data){let r=!(o.status==="ok"&&(o.statusCode===404||o.statusCode===422));o.data={success:r,info:r?Be:Ee};}return o}catch(s){throw new Error(`\u8BF7\u6C42\u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u72B6\u6001\u5931\u8D25: ${s.message}`)}}async refresh_token(e){try{if(!e.refresh_token)throw new Error(V);if(!e.refresh_token.startsWith("ghr_"))throw new Error(Y);this.setRequestConfig({url:this.BaseUrl});let s=await this.post("login/oauth/access_token",{client_id:this.Client_ID,client_secret:this.Client_Secret,grant_type:"refresh_token",refresh_token:e.refresh_token},{Accept:"application/json"}),o=s.status==="ok"&&s.statusCode===200&&!s.data.error,r=Ie;switch(s.data.error){case "bad_refresh_token":r=Y;break;case "unauthorized":r=d;break}if(s.data){if(!o)throw new Error(r);s.data={success:o,info:Oe,access_token:s.data.access_token,expires_in:s.data.expires_in??null,refresh_token:s.data.refresh_token??null,refresh_token_expires_in:s.data.refresh_token_expires_in??null,scope:s.data.scope,token_type:s.data.token_type};}return s}catch(s){throw new Error(`\u8BF7\u6C42\u5237\u65B0\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${s.message}`)}}};});var at={};P(at,{Commit:()=>z});var z,ie=h(()=>{T();k();z=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_commit_info(e){try{this.setRequestConfig({token:this.userToken});let s,o,r,t;if("url"in e){r=e.url;let i=f(r);s=i?.owner,o=i?.repo;}else if("owner"in e&&"repo"in e)s=e.owner,o=e.repo;else throw new Error(g);e.sha?t=e.sha:t=await(await this.get_repo()).get_repo_default_branch({owner:s,repo:o});let a=await this.get(`/repos/${s}/${o}/commits/${t}`);switch(a.statusCode){case 401:throw new Error(d);case 404:throw new Error(xe);case 422:throw new Error(Ae)}let n=e.format??this.format;if(a.data){let i=a.data?.commit?.message??"",[l,..._]=i.split(`
|
2
|
+
`);a.data={url:a.data.url,sha:a.data.sha,html_url:a.data.html_url,comments_url:a.data.comments_url,commit:{url:a.data.commit.url,author:a.data.commit.author?{id:a.data.commit.author.id,login:a.data.commit.author.login,name:a.data.commit.author.name,avatar_url:a.data.commit.author.avatar_url,email:a.data.commit.author.email,html_url:a.data.commit.author.html_url,type:lodashEs.capitalize(String(a.data.commit.author.type).toLowerCase()),date:n?await w(a.data.commit.author.date):a.data.commit.author.date}:null,committer:a.data.commit.committer?{id:a.data.commit.committer.id,login:a.data.commit.committer.login,name:a.data.commit.committer.name,avatar_url:a.data.commit.committer.avatar_url,email:a.data.commit.committer.email,html_url:a.data.commit.committer.html_url,type:lodashEs.capitalize(String(a.data.commit.committer.type).toLowerCase()),date:n?await w(a.data.commit.committer.date):a.data.commit.committer.date}:null,message:a.data.commit.message,...n&&{title:l,body:_.join(`
|
3
|
+
`)},tree:{url:a.data.commit.tree.url,sha:a.data.commit.tree.sha}},parents:a.data.parents.map(c=>({sha:c.sha,url:c.url})),stats:{additions:a.data.stats.additions,deletions:a.data.stats.deletions,total:a.data.stats.total},files:a.data.files.map(c=>({sha:c.sha,filename:c.filename,status:c.status,additions:c.additions,deletions:c.deletions,changes:c.changes,blob_url:c.blob_url,raw_url:c.raw_url}))};}return a}catch(s){throw new Error(`\u83B7\u53D6\u63D0\u4EA4\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}};});var st={};P(st,{Issue:()=>D});var D,le=h(()=>{T();k();D=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_issue_info(e){let s,o;try{if(this.setRequestConfig({token:this.userToken}),"url"in e){let t=e?.url?.trim(),a=f(t);s=a?.owner,o=a?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);let r=await this.get(`/repos/${s}/${o}/issues/${Number(e.issue_number)}`);switch(r.statusCode){case 404:throw new Error(R);case 301:throw new Error($e)}return r.data&&(r.data={id:r.data.id,html_url:r.data.html_url,number:r.data.number,comments:r.data.comments,state:r.data.state,state_reason:r.data.state_reason,title:r.data.title,body:r.data.body,user:r.data.user?{id:r.data.user.id,login:r.data.user.login,name:r.data.user.name,email:r.data.user.email,html_url:r.data.user.html_url,avatar_url:r.data.user.avatar_url,type:lodashEs.capitalize(r.data.user.type.toLowerCase())}:null,labels:r.data.labels?r.data.labels.map(t=>({id:t.id,name:t.name,color:t.color})):null,assignee:r.data.assignee?{id:r.data.assignee.id,login:r.data.assignee.login,name:r.data.assignee.name,email:r.data.assignee.email,html_url:r.data.assignee.html_url,avatar_url:r.data.assignee.avatar_url,type:lodashEs.capitalize(r.data.assignee.type.toLowerCase())}:null,milestone:r.data.milestone?{id:r.data.milestone.id,url:r.data.milestone.url,number:r.data.milestone.number,state:r.data.milestone.state,title:r.data.milestone.title,description:r.data.milestone.description,open_issues:r.data.milestone.open_issues,closed_issues:r.data.milestone.closed_issues,created_at:r.data.milestone.created_at,updated_at:r.data.milestone.updated_at,closed_at:r.data.milestone.closed_at,due_on:r.data.milestone.due_on}:null,closed_at:r.data.closed_at,created_at:r.data.created_at,updated_at:r.data.updated_at}),r}catch(r){throw new Error(`\u83B7\u53D6Issue\u8BE6\u60C5\u5931\u8D25: ${r.message}`)}}async get_repo_issue_list(e){let s,o;try{if(this.setRequestConfig({token:this.userToken}),"url"in e){let i=e?.url?.trim(),l=f(i);s=l?.owner,o=l?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);let{...r}=e,t={};r.milestone&&(t.milestone=r.milestone.toString()),r.state&&(t.state=r.state),r.assignee&&(t.assignee=r.assignee),r.creator&&(t.creator=r.creator),r.labels&&(t.labels=r.labels),r.sort&&(t.sort=r.sort),r.direction&&(t.direction=r.direction),r.since&&(t.since=r.since),r.per_page&&(t.per_page=r.per_page.toString()),r.page&&(t.page=r.page.toString());let a=`/repos/${s}/${o}/issues`,n=await this.get(a,t);if(n.statusCode===401)throw new Error(d);return n.data&&(n.data=n.data.map(i=>({id:i.id,html_url:i.html_url,number:i.number,comments:i.comments,state:i.state,state_reason:i.state_reason,title:i.title,body:i.body,user:i.user?{id:i.user.id,login:i.user.login,name:i.user.name,email:i.user.email,html_url:i.user.html_url,avatar_url:i.user.avatar_url,type:lodashEs.capitalize(i.user.type.toLowerCase())}:null,labels:i.labels?i.labels.map(l=>({id:l.id,name:l.name,color:l.color})):null,assignee:i.assignee?{id:i.assignee.id,login:i.assignee.login,name:i.assignee.name,email:i.assignee.email,html_url:i.assignee.html_url,avatar_url:i.assignee.avatar_url,type:lodashEs.capitalize(i.assignee.type.toLowerCase())}:null,milestone:i.milestone?{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:i.milestone.created_at,updated_at:i.milestone.updated_at,closed_at:i.milestone.closed_at,due_on:i.milestone.due_on}:null,closed_at:i.closed_at,created_at:i.created_at,updated_at:i.updated_at}))),n}catch(r){throw new Error(`\u83B7\u53D6\u4ED3\u5E93${s}/${o}\u7684Issue\u5217\u8868\u5931\u8D25: ${r.message}`)}}async create_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.title)throw new Error(fe);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,...r}=e,t={...r,...r.labels&&{labels:Array.isArray(r.labels)?r.labels:[r.labels]},...r.assignees&&{assignees:Array.isArray(r.assignees)?r.assignees:[r.assignees]}},a=await this.post(`/repos/${s}/${o}/issues`,t);switch(a.statusCode){case 403:throw new Error(d);case 301:throw new Error(C)}return a.data&&a.data&&(a.data={id:a.data.id,html_url:a.data.html_url,number:a.data.number,comments:a.data.comments,state:a.data.state,state_reason:a.data.state_reason,title:a.data.title,body:a.data.body,user:a.data.user?{id:a.data.user.id,login:a.data.user.login,name:a.data.user.name,email:a.data.user.email,html_url:a.data.user.html_url,avatar_url:a.data.user.avatar_url,type:lodashEs.capitalize(a.data.user.type.toLowerCase())}:null,labels:a.data.labels?a.data.labels.map(n=>({id:n.id,name:n.name,color:n.color})):null,assignee:a.data.assignee?{id:a.data.assignee.id,login:a.data.assignee.login,name:a.data.assignee.name,email:a.data.assignee.email,html_url:a.data.assignee.html_url,avatar_url:a.data.assignee.avatar_url,type:lodashEs.capitalize(a.data.assignee.type.toLowerCase())}:null,milestone:a.data.milestone?{id:a.data.milestone.id,url:a.data.milestone.url,number:a.data.milestone.number,state:a.data.milestone.state,title:a.data.milestone.title,description:a.data.milestone.description,open_issues:a.data.milestone.open_issues,closed_issues:a.data.milestone.closed_issues,created_at:a.data.milestone.created_at,updated_at:a.data.milestone.updated_at,closed_at:a.data.milestone.closed_at,due_on:a.data.milestone.due_on}:null,closed_at:a.data.closed_at,created_at:a.data.created_at,updated_at:a.data.updated_at}),a}catch(s){throw new Error(`\u521B\u5EFAIssue\u5931\u8D25: ${s.message}`)}}async update_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r,...t}=e,a={...t,...t.labels&&{labels:Array.isArray(t.labels)?t.labels:[t.labels]},...t.assignees&&{assignees:Array.isArray(t.assignees)?t.assignees:[t.assignees]}},n=await this.patch(`/repos/${s}/${o}/issues/${Number(r)}`,null,a);switch(n.statusCode){case 404:throw new Error(R);case 403:throw new Error(d);case 301:throw new Error(C)}return n.data&&n.data&&(n.data={id:n.data.id,html_url:n.data.html_url,number:n.data.number,comments:n.data.comments,state:n.data.state,state_reason:n.data.state_reason,title:n.data.title,body:n.data.body,user:n.data.user?{id:n.data.user.id,login:n.data.user.login,name:n.data.user.name,email:n.data.user.email,html_url:n.data.user.html_url,avatar_url:n.data.user.avatar_url,type:lodashEs.capitalize(n.data.user.type.toLowerCase())}:null,labels:n.data.labels?n.data.labels.map(i=>({id:i.id,name:i.name,color:i.color})):null,assignee:n.data.assignee?{id:n.data.assignee.id,login:n.data.assignee.login,name:n.data.assignee.name,email:n.data.assignee.email,html_url:n.data.assignee.html_url,avatar_url:n.data.assignee.avatar_url,type:lodashEs.capitalize(n.data.assignee.type.toLowerCase())}:null,milestone:n.data.milestone?{id:n.data.milestone.id,url:n.data.milestone.url,number:n.data.milestone.number,state:n.data.milestone.state,title:n.data.milestone.title,description:n.data.milestone.description,open_issues:n.data.milestone.open_issues,closed_issues:n.data.milestone.closed_issues,created_at:n.data.milestone.created_at,updated_at:n.data.milestone.updated_at,closed_at:n.data.milestone.closed_at,due_on:n.data.milestone.due_on}:null,closed_at:n.data.closed_at,created_at:n.data.created_at,updated_at:n.data.updated_at}),n}catch(s){throw new Error(`\u66F4\u65B0Issue\u5931\u8D25: ${s.message}`)}}async open_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r}=e,t=await this.patch(`/repos/${s}/${o}/issues/${r}`,null,{state:"open"});switch(t.statusCode){case 404:throw new Error(R);case 403:throw new Error(d);case 301:throw new Error(C)}return t.data&&t.data&&(t.data={id:t.data.id,html_url:t.data.html_url,number:t.data.number,comments:t.data.comments,state:t.data.state,state_reason:t.data.state_reason,title:t.data.title,body:t.data.body,user:t.data.user?{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url,type:lodashEs.capitalize(t.data.user.type.toLowerCase())}:null,labels:t.data.labels?t.data.labels.map(a=>({id:a.id,name:a.name,color:a.color})):null,assignee:t.data.assignee?{id:t.data.assignee.id,login:t.data.assignee.login,name:t.data.assignee.name,email:t.data.assignee.email,html_url:t.data.assignee.html_url,avatar_url:t.data.assignee.avatar_url,type:lodashEs.capitalize(t.data.assignee.type.toLowerCase())}:null,milestone:t.data.milestone?{id:t.data.milestone.id,url:t.data.milestone.url,number:t.data.milestone.number,state:t.data.milestone.state,title:t.data.milestone.title,description:t.data.milestone.description,open_issues:t.data.milestone.open_issues,closed_issues:t.data.milestone.closed_issues,created_at:t.data.milestone.created_at,updated_at:t.data.milestone.updated_at,closed_at:t.data.milestone.closed_at,due_on:t.data.milestone.due_on}:null,closed_at:t.data.closed_at,created_at:t.data.created_at,updated_at:t.data.updated_at}),t}catch(s){throw new Error(`\u6253\u5F00Issue\u5931\u8D25: ${s.message}`)}}async reopen_issue(e){return this.open_issue(e)}async close_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r}=e,t=await this.patch(`/repos/${s}/${o}/issues/${r}`,null,{state:"closed"});switch(t.statusCode){case 404:throw new Error(R);case 403:throw new Error(d);case 301:throw new Error(C)}return t.data&&t.data&&(t.data={id:t.data.id,html_url:t.data.html_url,number:t.data.number,comments:t.data.comments,state:t.data.state,state_reason:t.data.state_reason,title:t.data.title,body:t.data.body,user:t.data.user?{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url,type:lodashEs.capitalize(t.data.user.type.toLowerCase())}:null,labels:t.data.labels?t.data.labels.map(a=>({id:a.id,name:a.name,color:a.color})):null,assignee:t.data.assignee?{id:t.data.assignee.id,login:t.data.assignee.login,name:t.data.assignee.name,email:t.data.assignee.email,html_url:t.data.assignee.html_url,avatar_url:t.data.assignee.avatar_url,type:lodashEs.capitalize(t.data.assignee.type.toLowerCase())}:null,milestone:t.data.milestone?{id:t.data.milestone.id,url:t.data.milestone.url,number:t.data.milestone.number,state:t.data.milestone.state,title:t.data.milestone.title,description:t.data.milestone.description,open_issues:t.data.milestone.open_issues,closed_issues:t.data.milestone.closed_issues,created_at:t.data.milestone.created_at,updated_at:t.data.milestone.updated_at,closed_at:t.data.milestone.closed_at,due_on:t.data.milestone.due_on}:null,closed_at:t.data.closed_at,created_at:t.data.created_at,updated_at:t.data.updated_at}),t}catch(s){throw new Error(`\u5173\u95EDIssue\u5931\u8D25: ${s.message}`)}}async lock_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r,lock_reason:t}=e,a=await this.put(`/repos/${s}/${o}/issues/${Number(r)}`,{locked:!0,lock_reason:t});switch(a.statusCode){case 404:throw new Error(R);case 403:throw new Error(d);case 301:throw new Error(C)}let n;return a.statusCode===204?n=ze:n=Me,a.data={info:n},a}catch(s){throw new Error(`\u9501\u5B9AIssue${e.issue_number}\u5931\u8D25: ${s.message}`)}}async unlock_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r}=e,t=await this.delete(`/repos/${s}/${o}/issues/${r}/lock`);switch(t.statusCode){case 404:throw new Error(R);case 403:throw new Error(d);case 301:throw new Error(C)}let a;return t.statusCode===204?a=De:a=Ue,t.data={info:a},t}catch(s){throw new Error(`\u89E3\u9501Issue\u5931\u8D25: ${s.message}`)}}async get_repo_comments_list(e){if(!e.owner||!e.repo)throw new Error(y);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,...r}=e,t={};r.sort&&(t.sort=r.sort),r.sort&&r.direction&&(t.direction=r.direction),r.since&&(t.since=r.since),r.per_page&&(t.per_page=r.per_page.toString()),r.page&&(t.page=r.page.toString());let a=`/repos/${s}/${o}/issues/comments/`,n=await this.get(a,t);if(n.statusCode===404)throw new Error(b);return n.data&&(n.data=n.data.map(i=>({id:i.id,html_url:i.html_url,body:i.body,user:i.user?{id:i.user.id,login:i.user.login,name:i.user.name,email:i.user.email,html_url:i.user.html_url,avatar_url:i.user.avatar_url,type:lodashEs.capitalize(i.user.type.toLowerCase())}:null,created_at:i.created_at,updated_at:i.updated_at}))),n}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${s.message}`)}}async get_issue_comments_list(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r,...t}=e,a={};t.since&&(a.since=t.since),t.per_page&&(a.per_page=t.per_page.toString()),t.page&&(a.page=t.page.toString());let n=`/repos/${s}/${o}/issues/${Number(r)}/comments`,i=await this.get(n,a);if(i.statusCode===404)throw new Error(b);return i.data&&(i.data=i.data.map(l=>({id:l.id,html_url:l.html_url,body:l.body,user:l.user?{id:l.user.id,login:l.user.login,name:l.user.name,email:l.user.email,html_url:l.user.html_url,avatar_url:l.user.avatar_url,type:lodashEs.capitalize(l.user.type.toLowerCase())}:null,created_at:l.created_at,updated_at:l.updated_at}))),i}catch(s){throw new Error(`\u83B7\u53D6\u8BAE\u9898\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${s.message}`)}}async get_issue_comment_info(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.comment_id)throw new Error(U);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,comment_id:r}=e,t=await this.get(`/repos/${s}/${o}/issues/comments/${Number(r)}`);if(t.statusCode===404)throw new Error(b);return t.data&&(t.data={id:t.data.id,html_url:t.data.html_url,body:t.data.body,user:t.data.user?{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url,type:lodashEs.capitalize(t.data.user.type.toLowerCase())}:null,created_at:t.data.created_at,updated_at:t.data.updated_at}),t}catch(s){throw new Error(`\u83B7\u53D6\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}async create_issue_comment(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(b);if(!e.body)throw new Error(we);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r,body:t}=e,a=await this.post(`/repos/${s}/${o}/issues/${Number(r)}/comments`,{body:t});if(a.statusCode===404)throw new Error(b);return a.data&&(a.data={id:a.data.id,html_url:a.data.html_url,body:a.data.body,user:a.data.user?{id:a.data.user.id,login:a.data.user.login,name:a.data.user.name,email:a.data.user.email,html_url:a.data.user.html_url,avatar_url:a.data.user.avatar_url,type:lodashEs.capitalize(a.data.user.type.toLowerCase())}:null,created_at:a.data.created_at,updated_at:a.data.updated_at}),a}catch(s){throw new Error(`\u521B\u5EFA\u8BAE\u9898\u8BC4\u8BBA\u5931\u8D25: ${s.message}`)}}async update_issue_comment(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.comment_id)throw new Error(U);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,comment_id:r,...t}=e,a=await this.patch(`/repos/${s}/${o}/issues/comments/${Number(r)}`,null,t);if(a.statusCode===404)throw new Error(b);return a.data&&(a.data={id:a.data.id,html_url:a.data.html_url,body:a.data.body,user:a.data.user?{id:a.data.user.id,login:a.data.user.login,name:a.data.user.name,email:a.data.user.email,html_url:a.data.user.html_url,avatar_url:a.data.user.avatar_url,type:lodashEs.capitalize(a.data.user.type.toLowerCase())}:null,created_at:a.data.created_at,updated_at:a.data.updated_at}),a}catch(s){throw new Error(`\u66F4\u65B0\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}async remove_issue_comment(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.comment_id)throw new Error(U);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,comment_id:r}=e,t=await this.delete(`/repos/${s}/${o}/issues/comments/${Number(r)}`);if(t.statusCode===404)throw new Error(b);let a;return t.statusCode===204?a=We:a=Le,t.data={info:a},t}catch(s){throw new Error(`\u5220\u9664\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}async delete_issue_comment(e){return this.remove_issue_comment(e)}async get_sub_issue_list(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(b);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r,...t}=e,a={};t.per_page&&(a.per_page=t.per_page.toString()),t.page&&(a.page=t.page.toString());let n=`/repos/${s}/${o}/issues/${Number(r)}/sub_issues`,i=await this.get(n,a);if(i.statusCode===404)throw new Error(R);return i.data&&(i.data=i.data.map(l=>({id:l.id,html_url:l.html_url,number:l.number,comments:l.comments,state:l.state,state_reason:l.state_reason,title:l.title,body:l.body,user:l.user?{id:l.user.id,login:l.user.login,name:l.user.name,email:l.user.email,html_url:l.user.html_url,avatar_url:l.user.avatar_url,type:lodashEs.capitalize(l.user.type.toLowerCase())}:null,labels:l.labels?l.labels.map(_=>({id:_.id,name:_.name,color:_.color})):null,assignee:l.assignee?{id:l.assignee.id,login:l.assignee.login,name:l.assignee.name,email:l.assignee.email,html_url:l.assignee.html_url,avatar_url:l.assignee.avatar_url,type:lodashEs.capitalize(l.assignee.type.toLowerCase())}:null,milestone:l.milestone?{id:l.milestone.id,url:l.milestone.url,number:l.milestone.number,state:l.milestone.state,title:l.milestone.title,description:l.milestone.description,open_issues:l.milestone.open_issues,closed_issues:l.milestone.closed_issues,created_at:l.milestone.created_at,updated_at:l.milestone.updated_at,closed_at:l.milestone.closed_at,due_on:l.milestone.due_on}:null,closed_at:l.closed_at,created_at:l.created_at,updated_at:l.updated_at}))),i}catch(s){throw new Error(`\u83B7\u53D6\u5B50\u8BAE\u9898\u5217\u8868\u5931\u8D25: ${s.message}`)}}async add_sub_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(b);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r,sub_issue_id:t,replace_parent:a}=e,n=await this.post(`/repos/${s}/${o}/issues/${r}/sub_issues`,{sub_issue_id:t,replace_parent:a});if(n.statusCode===404)throw new Error(R);return n.data&&(n.data={id:n.data.id,html_url:n.data.html_url,number:n.data.number,comments:n.data.comments,state:n.data.state,state_reason:n.data.state_reason,title:n.data.title,body:n.data.body,user:n.data.user?{id:n.data.user.id,login:n.data.user.login,name:n.data.user.name,email:n.data.user.email,html_url:n.data.user.html_url,avatar_url:n.data.user.avatar_url,type:lodashEs.capitalize(n.data.user.type.toLowerCase())}:null,labels:n.data.labels?n.data.labels.map(i=>({id:i.id,name:i.name,color:i.color})):null,assignee:n.data.assignee?{id:n.data.assignee.id,login:n.data.assignee.login,name:n.data.assignee.name,email:n.data.assignee.email,html_url:n.data.assignee.html_url,avatar_url:n.data.assignee.avatar_url,type:lodashEs.capitalize(n.data.assignee.type.toLowerCase())}:null,milestone:n.data.milestone?{id:n.data.milestone.id,url:n.data.milestone.url,number:n.data.milestone.number,state:n.data.milestone.state,title:n.data.milestone.title,description:n.data.milestone.description,open_issues:n.data.milestone.open_issues,closed_issues:n.data.milestone.closed_issues,created_at:n.data.milestone.created_at,updated_at:n.data.milestone.updated_at,closed_at:n.data.milestone.closed_at,due_on:n.data.milestone.due_on}:null,closed_at:n.data.closed_at,created_at:n.data.created_at,updated_at:n.data.updated_at}),n}catch(s){throw new Error(`\u6DFB\u52A0\u5B50\u8BAE\u9898\u5931\u8D25: ${s.message}`)}}async remove_sub_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(b);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r,sub_issue_id:t}=e,a=await this.delete(`/repos/${s}/${o}/issues/${r}/sub_issue`,null,{sub_issue_id:t});if(a.statusCode===404)throw new Error(R);return a.data&&(a.data={id:a.data.id,html_url:a.data.html_url,number:a.data.number,comments:a.data.comments,state:a.data.state,state_reason:a.data.state_reason,title:a.data.title,body:a.data.body,user:a.data.user?{id:a.data.user.id,login:a.data.user.login,name:a.data.user.name,email:a.data.user.email,html_url:a.data.user.html_url,avatar_url:a.data.user.avatar_url,type:lodashEs.capitalize(a.data.user.type.toLowerCase())}:null,labels:a.data.labels?a.data.labels.map(n=>({id:n.id,name:n.name,color:n.color})):null,assignee:a.data.assignee?{id:a.data.assignee.id,login:a.data.assignee.login,name:a.data.assignee.name,email:a.data.assignee.email,html_url:a.data.assignee.html_url,avatar_url:a.data.assignee.avatar_url,type:lodashEs.capitalize(a.data.assignee.type.toLowerCase())}:null,milestone:a.data.milestone?{id:a.data.milestone.id,url:a.data.milestone.url,number:a.data.milestone.number,state:a.data.milestone.state,title:a.data.milestone.title,description:a.data.milestone.description,open_issues:a.data.milestone.open_issues,closed_issues:a.data.milestone.closed_issues,created_at:a.data.milestone.created_at,updated_at:a.data.milestone.updated_at,closed_at:a.data.milestone.closed_at,due_on:a.data.milestone.due_on}:null,closed_at:a.data.closed_at,created_at:a.data.created_at,updated_at:a.data.updated_at}),a}catch(s){throw new Error(`\u5220\u9664\u5B50\u8BAE\u9898\u5931\u8D25: ${s.message}`)}}async delete_sub_issue(e){return this.remove_sub_issue(e)}async reprioritize_sub_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(b);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r,sub_issue_id:t,...a}=e,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/${s}/${o}/issues/${r}/sub_issues/priority`,l=await this.patch(i,n,{sub_issue_id:String(t)});if(l.statusCode===404)throw new Error(R);return l.data&&(l.data={id:l.data.id,html_url:l.data.html_url,number:l.data.number,comments:l.data.comments,state:l.data.state,state_reason:l.data.state_reason,title:l.data.title,body:l.data.body,user:l.data.user?{id:l.data.user.id,login:l.data.user.login,name:l.data.user.name,email:l.data.user.email,html_url:l.data.user.html_url,avatar_url:l.data.user.avatar_url,type:lodashEs.capitalize(l.data.user.type.toLowerCase())}:null,labels:l.data.labels?l.data.labels.map(_=>({id:_.id,name:_.name,color:_.color})):null,assignee:l.data.assignee?{id:l.data.assignee.id,login:l.data.assignee.login,name:l.data.assignee.name,email:l.data.assignee.email,html_url:l.data.assignee.html_url,avatar_url:l.data.assignee.avatar_url,type:lodashEs.capitalize(l.data.assignee.type.toLowerCase())}:null,milestone:l.data.milestone?{id:l.data.milestone.id,url:l.data.milestone.url,number:l.data.milestone.number,state:l.data.milestone.state,title:l.data.milestone.title,description:l.data.milestone.description,open_issues:l.data.milestone.open_issues,closed_issues:l.data.milestone.closed_issues,created_at:l.data.milestone.created_at,updated_at:l.data.milestone.updated_at,closed_at:l.data.milestone.closed_at,due_on:l.data.milestone.due_on}:null,closed_at:l.data.closed_at,created_at:l.data.created_at,updated_at:l.data.updated_at}),l}catch(s){throw new Error(`\u91CD\u65B0\u6392\u5E8F\u5B50\u8BAE\u9898\u5931\u8D25: ${s.message}`)}}};});var ot={};P(ot,{Repo:()=>W});var W,ue=h(()=>{T();k();W=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_org_repos_list(e){if(!e.org)throw new Error(g);try{this.setRequestConfig({token:this.userToken});let{org:s,...o}=e,r={};o?.type&&(r.type=o.type),o?.sort&&(r.sort=o.sort),o?.direction&&(r.direction=o.direction),o?.per_page&&(r.per_page=o.per_page.toString()),o?.page&&(r.page=o.page.toString());let t=`/orgs/${s}/repos`,a=await this.get(t,r);switch(a.statusCode){case 404:throw new Error(S);case 401:throw new Error(d)}let n=e.format??this.format;return a.data&&(a.data=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:i.owner.name,avatar_url:i.owner.avatar_url,type:i.owner.type,html_url:i.owner.html_url,company:i.owner.company,email:i.owner.email,bio:i.owner.bio,blog:i.owner.blog,followers:i.owner.followers,following:i.owner.following},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,created_at:n?await w(i.created_at):i.created_at,updated_at:n?await w(i.updated_at):i.updated_at,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})))),a}catch(s){throw new Error(`\u83B7\u53D6\u7EC4\u7EC7\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${s.message}`)}}async get_user_repos_list_by_token(e){try{this.setRequestConfig({token:this.userToken});let{...s}=e,o={};!e?.visibility&&!e?.affiliation&&s?.type&&(o.type=s.type),s?.visibility&&(o.visibility=s.visibility),s?.affiliation&&(o.affiliation=s.affiliation),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 t=await this.get("/uses/repos",o);if(t.statusCode===401)throw new Error(d);let a=e?.format??this.format;return t.data&&(t.data=await Promise.all(t.data.map(async n=>({id:n.id,name:n.name,full_name:n.full_name,owner:{id:n.owner.id,login:n.owner.login,name:n.owner.name,avatar_url:n.owner.avatar_url,type:n.owner.type,html_url:n.owner.html_url,company:n.owner.company,email:n.owner.email,bio:n.owner.bio,blog:n.owner.blog,followers:n.owner.followers,following:n.owner.following},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,created_at:a?await w(n.created_at):n.created_at,updated_at:a?await w(n.updated_at):n.updated_at,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})))),t}catch(s){throw new Error(`\u83B7\u53D6\u6388\u6743\u7528\u6237\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${s.message}`)}}async get_user_repos_list(e){try{if(!e.username)throw new Error(A);this.setRequestConfig({token:this.userToken});let{username:s,...o}=e,r={};o?.type&&(r.type=o.type),o?.sort&&(r.sort=o.sort),o?.direction&&(r.direction=o.direction),o?.per_page&&(r.per_page=o.per_page.toString()),o?.page&&(r.page=o.page.toString());let t=e?.format??this.format,a=`/users/${s}/repos`,n=await this.get(a,r);switch(n.statusCode){case 404:throw new Error($);case 401:throw new Error(d)}return n.data&&(n.data=await Promise.all(n.data.map(async i=>({id:i.id,name:i.name,full_name:i.full_name,owner:{id:i.owner.id,login:i.owner.login,name:i.owner.name,avatar_url:i.owner.avatar_url,type:i.owner.type,html_url:i.owner.html_url,company:i.owner.company,email:i.owner.email,bio:i.owner.bio,blog:i.owner.blog,followers:i.owner.followers,following:i.owner.following},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,created_at:t?await w(i.created_at):i.created_at,updated_at:t?await w(i.updated_at):i.updated_at,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})))),n}catch(s){throw new Error(`\u83B7\u53D6\u7528\u6237\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${s.message}`)}}async get_repo_info(e){try{this.setRequestConfig({token:this.userToken});let s,o;if("url"in e){let a=e.url.trim(),n=f(a);s=n?.owner,o=n?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);let r=await this.get(`/repos/${s}/${o}`);switch(r.statusCode){case 401:throw new Error(d);case 404:throw new Error(q)}let t=e?.format??this.format;return r.data&&(r.data={id:r.data.id,name:r.data.name,full_name:r.data.full_name,owner:{id:r.data.owner.id,login:r.data.owner.login,name:r.data.owner.name,avatar_url:r.data.owner.avatar_url,type:r.data.owner.type,html_url:r.data.owner.html_url,company:r.data.owner.company,email:r.data.owner.email,bio:r.data.owner.bio,blog:r.data.owner.blog,followers:r.data.owner.followers,following:r.data.owner.following},public:!r.data.private,private:r.data.private,visibility:r.data.private?"private":"public",fork:r.data.fork,archived:r.data.archived,disabled:r.data.disabled,html_url:r.data.html_url,description:r.data.description,created_at:t?await w(r.data.created_at):r.data.created_at,updated_at:t?await w(r.data.updated_at):r.data.updated_at,stargazers_count:r.data.stargazers_count,watchers_count:r.data.watchers_count,language:r.data.language,forks_count:r.data.forks_count,open_issues_count:r.data.open_issues_count,default_branch:r.data.default_branch}),r}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}async get_repo_languages_list(e){try{this.setRequestConfig({token:this.userToken});let s,o;if("url"in e){let t=e.url.trim(),a=f(t);s=a?.owner,o=a?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);let r=await this.get(`/repos/${s}/${o}/languages`);switch(r.statusCode){case 401:throw new Error(d);case 404:throw new Error(C)}if(r.data){let t=Object.values(r.data).reduce((a,n)=>a+n,0);r.data={languages:await Promise.all(Object.entries(r.data).map(([a,n])=>{let i=String(a).toLowerCase();return {language:a,color:Z(i),percent:Number((n/t*100).toFixed(2)),bytes:n}}))};}return r}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5217\u8868\u5931\u8D25: ${s.message}`)}}async create_org_repo(e){try{let{owner:s,...o}=e,r={...o},t=await this.post(`/orgs/${s}/repos`,r);if(t.statusCode===401)throw new Error(d);let a=e?.format??this.format;return t.data&&(t.data={id:t.data.id,name:t.data.name,full_name:t.data.full_name,owner:{id:t.data.owner.id,login:t.data.owner.login,name:t.data.owner.name,avatar_url:t.data.owner.avatar_url,type:t.data.owner.type,html_url:t.data.owner.html_url,company:t.data.owner.company,email:t.data.owner.email,bio:t.data.owner.bio,blog:t.data.owner.blog,followers:t.data.owner.followers,following:t.data.owner.following},public:!t.data.private,private:t.data.private,visibility:t.data.private?"private":"public",fork:t.data.fork,archived:t.data.archived,disabled:t.data.disabled,html_url:t.data.html_url,description:t.data.description,created_at:a?await w(t.data.created_at):t.data.created_at,updated_at:a?await w(t.data.updated_at):t.data.updated_at,stargazers_count:t.data.stargazers_count,watchers_count:t.data.watchers_count,language:t.data.language,forks_count:t.data.forks_count,open_issues_count:t.data.open_issues_count,default_branch:t.data.default_branch}),t}catch(s){throw new Error(`\u521B\u5EFA\u7EC4\u7EC7\u4ED3\u5E93\u5931\u8D25: ${s.message}`)}}async get_collaborators_list(e){try{this.setRequestConfig({token:this.userToken});let s,o;if("url"in e){let n=e.url.trim(),i=f(n);s=i?.owner,o=i?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);let{...r}=e,t={};r.affiliation&&(t.milestone=r.affiliation.toString()),r.permission&&(t.permission=r.permission.toString()),r.per_page&&(t.per_page=r.per_page.toString()),r.page&&(t.page=r.page.toString());let a=await this.get(`/repos/${s}/${o}/collaborators`,t);return a.data&&(a.data=await Promise.all(a.data.map(n=>({id:n.id,login:n.login,avatar_url:n.avatar_url,email:n.email,name:n.name,permissions:n.permissions,role_name:n.role_name})))),a}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u534F\u4F5C\u8005\u5217\u8868\u5931\u8D25: ${s.message}`)}}async add_collaborator(e){let s,o,r;try{if(this.setRequestConfig({token:this.userToken}),"url"in e){let n=e.url.trim(),i=f(n);s=i?.owner,o=i?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);r=e?.username;let t=await this.put(`/repos/${s}/${o}/collaborators/${r}`,{permission:e.permission??"pull"});if(t.statusCode===404)throw new Error(X);if(t.statusCode===422){let n=t.data.message;if(n&&n.includes("is not a valid permission"))throw new Error(Pe)}let a=e?.format??this.format;return t.data&&(t.data={id:t.data.id,repository:{id:t.data.repository.id,name:t.data.repository.name,full_name:t.data.repository.full_name,owner:{id:t.data.repository.owner.id,login:t.data.repository.owner.login,name:t.data.repository.owner.name,avatar_url:t.data.repository.owner.avatar_url,type:t.data.repository.owner.type,html_url:t.data.repository.owner.html_url,company:t.data.repository.owner.company,email:t.data.repository.owner.email,bio:t.data.repository.owner.bio,blog:t.data.repository.owner.blog,followers:t.data.repository.owner.followers,following:t.data.repository.owner.following},public:!t.data.repository.private,private:t.data.repository.private,visibility:t.data.repository.private?"private":"public",fork:t.data.repository.fork,archived:t.data.repository.archived,disabled:t.data.repository.disabled,html_url:t.data.repository.html_url,description:t.data.repository.description,created_at:a?await w(t.data.repository.created_at):t.data.repository.created_at,updated_at:a?await w(t.data.repository.updated_at):t.data.repository.updated_at,stargazers_count:t.data.repository.stargazers_count,watchers_count:t.data.repository.watchers_count,language:t.data.repository.language,forks_count:t.data.repository.forks_count,open_issues_count:t.data.repository.open_issues_count,default_branch:t.data.repository.default_branch}}),t}catch(t){throw new Error(`\u6DFB\u52A0\u534F\u4F5C\u8005${r}\u5931\u8D25: ${t.message}`)}}async remove_collaborator(e){let s,o,r;try{if(this.setRequestConfig({token:this.userToken}),"url"in e){let a=e.url.trim(),n=f(a);s=n?.owner,o=n?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);r=e?.username;let t=await this.delete(`/repos/${s}/${o}/collaborators/${r}`);if(t.statusCode===404)throw new Error(X);return t.status&&t.statusCode===204?t.data={info:`\u79FB\u9664\u534F\u4F5C\u8005${r}\u6210\u529F`}:t.data={info:`\u79FB\u9664\u534F\u4F5C\u8005${r}\u5931\u8D25`},t}catch(t){throw new Error(`\u79FB\u9664\u534F\u4F5C\u8005${r}\u5931\u8D25: ${t.message}`)}}async delete_collaborator(e){return this.remove_collaborator(e)}async get_repo_visibility(e){try{let s,o;if("url"in e){let r=e.url.trim(),t=f(r);s=t?.owner,o=t?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);return (await this.get_repo_info({owner:s,repo:o})).data.visibility}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u53EF\u89C1\u6027\u5931\u8D25: ${s.message}`)}}async get_repo_default_branch(e){try{let s,o;if("url"in e){let r=e.url.trim(),t=f(r);s=t?.owner,o=t?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);return (await this.get_repo_info({owner:s,repo:o})).data.default_branch}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u9ED8\u8BA4\u5206\u652F\u5931\u8D25: ${s.message}`)}}async get_repo_main_language(e){try{let s,o;if("url"in e){let r=e.url.trim(),t=f(r);s=t?.owner,o=t?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);return (await this.get_repo_info({owner:s,repo:o})).data.language}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5931\u8D25: ${s.message}`)}}};});var nt={};P(nt,{User:()=>G});var G,de=h(()=>{T();k();G=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_user_info(e){let s=e.access_token??this.userToken;if(!e.username)throw new Error(be);if(!s?.startsWith("ghu_"))throw new Error(x);try{this.setRequestConfig({token:s});let o=await this.get(`/users/${e.username}`);if(o.statusCode===401)throw new Error(d);if(o.statusCode===404)throw new Error(q);return o.data&&(o.data={id:o.data.id,login:o.data.login,name:o.data.name||null,type:lodashEs.capitalize(o.data.type.toLowerCase()),html_url:o.data.html_url,avatar_url:o.data.avatar_url,company:o.data.company||null,email:o.data.email||null,bio:o.data.bio||null,blog:o.data.blog||null,followers:o.data.followers,following:o.data.following}),o}catch(o){throw new Error(`\u83B7\u53D6\u7528\u6237\u6216\u7EC4\u7EC7\u4FE1\u606F\u5931\u8D25: ${o.message}`)}}async get_user_info_by_user_id(e){let s=e.access_token??this.userToken;if(!e.user_id)throw new Error(Ce);if(!s?.startsWith("ghu_"))throw new Error(x);try{this.setRequestConfig({token:this.userToken});let o=await this.get(`/user/${e.user_id}`);if(o.statusCode===401)throw new Error(d);if(o.statusCode===404)throw new Error($);return o.data&&(o.data={id:o.data.id,login:o.data.login,name:o.data.name||null,type:lodashEs.capitalize(o.data.type.toLowerCase()),html_url:o.data.html_url,avatar_url:o.data.avatar_url,company:o.data.company||null,email:o.data.email||null,bio:o.data.bio||null,blog:o.data.blog||null,followers:o.data.followers,following:o.data.following}),o}catch(o){throw new Error(`\u901A\u8FC7\u7528\u6237id\u83B7\u53D6\u7528\u6237${e.user_id}\u4FE1\u606F\u5931\u8D25: ${o.message}`)}}async get_user_info_by_auth(e){let s=e?.access_token??this.userToken;if(!e||!s)throw new Error(I);try{this.setRequestConfig({token:s});let o=await this.get("/user");switch(o.statusCode){case 401:throw new Error(d);case 404:throw new Error($)}return o.data&&(o.data={id:o.data.id,login:o.data.login,name:o.data.name||null,type:lodashEs.capitalize(o.data.type.toLowerCase()),html_url:o.data.html_url,avatar_url:o.data.avatar_url,company:o.data.company||null,email:o.data.email||null,bio:o.data.bio||null,blog:o.data.blog||null,followers:o.data.followers,following:o.data.following}),o}catch(o){throw new Error(`\u83B7\u53D6\u6388\u6743\u7528\u6237\u4FE1\u606F\u5931\u8D25: ${o.message}`)}}async get_user_info_by_token(e){return this.get_user_info_by_auth(e)}async get_user_contribution(e){try{if(!e.username)throw new Error(A);if((await this.get_user_info({username:e.username})).data.type==="Organization")throw new Error(`${ve}\u83B7\u53D6\u8D21\u732E\u65E5\u5386`);this.setRequestConfig({url:this.BaseUrl});let o=await this.get(`/${e.username}`,{action:"show",controller:"profiles",tab:"contributions",user_id:e.username},{"X-Requested-With":"XMLHttpRequest"});if(o.statusCode===404)throw new Error(A);let r=await Qe(o.data);return {...o,data:r}}catch(s){throw new Error(`\u83B7\u53D6\u7528\u6237${e.username}\u8D21\u732E\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}async get_user_id(){return (await this.get_user_info_by_auth({})).data.id}async get_username(){return (await this.get_user_info_by_auth()).data.login}async get_nickname(){return (await this.get_user_info_by_auth()).data.name}async get_user_email(){return (await this.get_user_info_by_auth()).data.email}async get_avatar_url(){return (await this.get_user_info_by_auth()).data.avatar_url}};});var it={};P(it,{Org:()=>j});var j,me=h(()=>{T();k();j=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_org_info(e){if(!e.org)throw new Error(Te);try{this.setRequestConfig({token:this.userToken});let s=await this.get(`/orgs/${e.org}`);if(s.statusCode===404)throw new Error(S);return s.data&&(s.data={id:s.data.id,login:s.data.login,name:s.data.name,avatar_url:s.data.avatar_url,description:s.data.description,html_url:s.data.html_url}),s}catch(s){throw new Error(`\u83B7\u53D6\u7EC4\u7EC7${e.org}\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}};});var ut={};P(ut,{WebHook:()=>F});var F,ce=h(()=>{T();k();F=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async check_webhook_signature(e){let s=e.secret??this.WebHook_Secret;if(!s||!e.payload||!e.signature)throw new Error(g);if(!e.signature.startsWith("sha256="))throw new Error(Se);let o=false,r="error",t=400,a=Q,n;try{let i=lt__default.default.createHmac("sha256",s),l=typeof e.payload=="string"?e.payload:JSON.stringify(e.payload);i.update(l,"utf8");let _=i.digest("hex"),c=e.signature.replace("sha256=","");lt__default.default.timingSafeEqual(Buffer.from(_),Buffer.from(c))?(o=!0,r="ok",t=200,a="\u8BF7\u6C42\u6210\u529F",n={info:He}):(o=!1,r="error",t=403,a="\u8BF7\u6C42\u5931\u8D25",n={info:Q});}catch(i){throw new Error(`\u8BF7\u6C42\u9A8C\u8BC1WebHook\u7B7E\u540D\u5931\u8D25: ${i.message}`)}return Promise.resolve({success:o,status:r,statusCode:t,msg:a,data:n})}};});var J;exports.GitHubClient=void 0;var k=h(()=>{T();se();oe();J="github",exports.GitHubClient=class{BaseUrl;ApiUrl;jwtToken;userToken;format;Private_Key;Client_ID;Client_Secret;WebHook_Secret;currentRequestConfig;proxy;constructor(e){this.Private_Key=e.Private_Key,this.Client_ID=e.Client_ID,this.Client_Secret=e.Client_Secret,this.WebHook_Secret=e.WebHook_Secret,this.jwtToken=this.generate_jwt(),this.BaseUrl=ae(J),this.ApiUrl=re(J),this.userToken=null,this.currentRequestConfig={url:this.ApiUrl,token:null,tokenType:"Bearer"},this.format=e.format??false;}async get_app(){let{App:e}=await Promise.resolve().then(()=>(ge(),pt));return this.app=new e(this),this.app}async get_auth(){let{Auth:e}=await Promise.resolve().then(()=>(ne(),tt));return this.auth=new e(this),this.auth}async get_commit(){let{Commit:e}=await Promise.resolve().then(()=>(ie(),at));return this.commit=new e(this),this.commit}async get_issue(){let{Issue:e}=await Promise.resolve().then(()=>(le(),st));return this.issue=new e(this),this.issue}async get_repo(){let{Repo:e}=await Promise.resolve().then(()=>(ue(),ot));return this.repo=new e(this),this.repo}async get_user(){let{User:e}=await Promise.resolve().then(()=>(de(),nt));return this.user=new e(this),this.user}async get_org(){let{Org:e}=await Promise.resolve().then(()=>(me(),it));return this.org=new e(this),this.org}async get_webhook(){let{WebHook:e}=await Promise.resolve().then(()=>(ce(),ut));return this.webhook=new e(this),this.webhook}setProxy(e){if(e?.address){let s=new url.URL(e.address);if(!["http:","https:","socks:"].includes(s.protocol))throw new Error(Re);e.address=e.address.replace(/\/$/,"");}e?.type==="common"&&(this.BaseUrl=ae(J,e.address),this.ApiUrl=re(J,e.address)),this.proxy=e;}setToken(e){if(!e.startsWith("ghu_"))throw console.log("token \u5FC5\u987B\u4EE5 ghu_ \u5F00\u5934"),this.userToken=null,new Error(x);return this.userToken=e,this}generate_jwt(){let e=this.Private_Key,s={exp:Math.floor(Date.now()/1e3)+10*60,iat:Math.floor(Date.now()/1e3),iss:this.Client_ID};return Pt__default.default.sign(s,e,{algorithm:"RS256"})}setRequestConfig(e){e.url&&(this.currentRequestConfig.url=e.url),e.token&&(this.currentRequestConfig.token=e.token),e.tokenType&&(this.currentRequestConfig.tokenType=e.tokenType);}createRequest(){let{url:e,token:s,tokenType:o}=this.currentRequestConfig,r=this.proxy?.type!=="common"?this.proxy:null,t={"X-GitHub-Api-Version":"2022-11-28",Accept:"application/vnd.github+json"};return new B(e,o,s??null,r,t)}async get(e,s,o){try{let t=await this.createRequest().get(e,s,o);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(r){throw new Error(`GET \u8BF7\u6C42${e}\u5931\u8D25: ${r.message}`)}}async post(e,s,o){try{let t=await this.createRequest().post(e,s,o);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(r){throw new Error(`POST \u8BF7\u6C42${e}\u5931\u8D25: ${r.message}`)}}async patch(e,s=null,o,r){try{let a=await this.createRequest().patch(e,s,o,r);if((a.statusCode===403||a.statusCode===429)&&a.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:a.success,status:a.success?"ok":"error",statusCode:a.statusCode,msg:a.msg,data:a.data}}catch(t){throw new Error(`PATCH \u8BF7\u6C42${e}\u5931\u8D25: ${t.message}`)}}async put(e,s,o){try{let t=await this.createRequest().put(e,s,o);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(r){throw new Error(`PUT \u8BF7\u6C42${e}\u5931\u8D25: ${r.message}`)}}async delete(e,s=null,o,r){try{let a=await this.createRequest().delete(e,s,o,r);if((a.statusCode===403||a.statusCode===429)&&a.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:a.success,status:a.success?"ok":"error",statusCode:a.statusCode,msg:a.msg,data:a.data}}catch(t){throw new Error(`DELETE \u8BF7\u6C42${e}\u5931\u8D25: ${t.message}`)}}};});var pt={};P(pt,{App:()=>K});var K,ge=h(()=>{T();k();K=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_app_info(e){let s=e.access_token??this.userToken;if(!e.app_slug)throw new Error(g);if(!s)throw new Error(I);try{this.setRequestConfig({token:s});let o=await this.get(`/apps/${e.app_slug}`);return o.statusCode===200&&(o.data={id:o.data.id,name:o.data.name,client_id:o.data.client_id,slug:o.data.slug,owner:{id:o.data.owner.id,login:o.data.owner.login,name:o.data.owner.name,email:o.data.owner.email,html_url:o.data.owner.html_url,avatar_url:o.data.owner.avatar_url,type:lodashEs.capitalize(o.data.owner.type.toLowerCase())},description:o.data.description,external_url:o.data.external_url,html_url:o.data.html_url,permissions:o.data.permissions,events:o.data.events,created_at:o.data.created_at,updated_at:o.data.updated_at}),o}catch(o){throw new Error(`\u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${o.message}`)}}async get_app_info_by_auth(){try{this.setRequestConfig({url:this.ApiUrl,token:this.jwtToken});let e=await this.get("/app");return e.statusCode===200&&(e.data={id:e.data.id,name:e.data.name,client_id:e.data.client_id,slug:e.data.slug,owner:{id:e.data.owner.id,login:e.data.owner.login,name:e.data.owner.name,email:e.data.owner.email,html_url:e.data.owner.html_url,avatar_url:e.data.owner.avatar_url,type:lodashEs.capitalize(e.data.owner.type.toLowerCase())},description:e.data.description,external_url:e.data.external_url,html_url:e.data.html_url,permissions:e.data.permissions,events:e.data.events,created_at:e.data.created_at,updated_at:e.data.updated_at}),e}catch(e){throw new Error(`\u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${e.message}`)}}async get_app_installation_by_repo(e){let s,o;try{if(this.setRequestConfig({token:this.jwtToken}),"url"in e){let t=e.url.trim(),a=f(t);s=a?.owner,o=a?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);let r=await this.get(`/repos/${s}/${o}/installation`);switch(r.statusCode){case 404:throw new Error(C);case 301:throw new Error(Ne)}return r.data&&(r.data={id:r.data.id,html_url:r.data.html_url,app_id:r.data.app_id,app_slug:r.data.app_slug,target_id:r.data.target_id,target_type:r.data.target_type,account:r.data.account?{id:r.data.account.id,login:r.data.account.login,name:r.data.account.name,email:r.data.account.email,html_url:r.data.account.html_url,avatar_url:r.data.account.avatar_url,type:lodashEs.capitalize(r.data.account.type.toLowerCase())}:null,repository_selection:r.data.repository_selection,access_tokens_url:r.data.access_tokens_url,repositories_url:r.data.repositories_url,permissions:r.data.permissions,events:r.data.events,created_at:r.data.created_at,updated_at:r.data.updated_at}),r}catch(r){throw new Error(`\u83B7\u53D6\u5B58\u50A8\u5E93\u5B89\u88C5\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async create_install_link(e){try{let s=new URL(`apps/${await this.get_app_name()}/installations/new`,this.BaseUrl);return s.search=new URLSearchParams({...e&&{state:e}}).toString(),s.toString()}catch(s){throw new Error(`\u751F\u6210\u5E94\u7528\u5B89\u88C5\u94FE\u63A5\u5931\u8D25: ${s.message}`)}}async create_config_install_link(e){try{let s=new URL(`apps/${await this.get_app_name()}/installations/new`,this.BaseUrl);return s.search=new URLSearchParams({...e&&{state:e}}).toString(),s.toString()}catch(s){throw new Error(`\u751F\u6210\u5E94\u7528\u914D\u7F6E\u94FE\u63A5\u5931\u8D25: ${s.message}`)}}async get_app_name(){return (await this.get_app_info_by_auth()).data.name}};});T();se();oe();var he={};P(he,{App:()=>K,Auth:()=>H,Commit:()=>z,GitHubClient:()=>exports.GitHubClient,Issue:()=>D,Org:()=>j,Repo:()=>W,User:()=>G,WebHook:()=>F});ge();ne();k();ie();le();me();ue();de();ce();var ye=class{github;constructor(e){if(!e.github)throw new Error("GitHub \u5BA2\u6237\u7AEF\u672A\u914D\u7F6E");this.github=new exports.GitHubClient(e.github);}};var _a=ye;exports.Client=ye;exports.create_state_id=Tt;exports.default=_a;exports.formatDate=w;exports.get_langage_color=Z;exports.get_relative_time=yt;exports.github=he;
|
package/dist/esm/index.mjs
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
import We from'path';import {URL as URL$1,fileURLToPath}from'url';import Ke from'fs';import gt from'color-convert';import O from'dayjs';import _t from'dayjs/plugin/relativeTime.js';import ht from'git-url-parse';import yt from'language-colors';import {v4}from'uuid';import M from'axios';import {HttpProxyAgent}from'http-proxy-agent';import {HttpsProxyAgent}from'https-proxy-agent';import {SocksProxyAgent}from'socks-proxy-agent';import {capitalize}from'lodash-es';import ut from'crypto';import kt from'jsonwebtoken';var mt=Object.defineProperty;var y=(u,e)=>()=>(u&&(e=u(u=0)),e);var P=(u,e)=>{for(var s in e)mt(u,s,{get:e[s],enumerable:true});};var G,I,ye,U,E,we,fe,be,w,c,Te,N,Re,A,x,Ce,ke,D,Pe,d,Ee,Ie,ve,Ae,b,R,xe,$e,Me,Le,S,q,C,Ue,W,$,Ne,j,v,Se=y(()=>{G="\u55B5\u545C~ \u6388\u6743\u7801\u4E0D\u80FD\u4E3A\u7A7A",I="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u4E0D\u80FD\u4E3A\u7A7A",ye="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A\u54E6",U="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",E="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",we="\u55B5\u545C~ \u8BAE\u9898\u6807\u9898\u4E0D\u80FD\u4E3A\u7A7A",fe="\u55B5\u545C~ \u7EC4\u7EC7\u540D\u6216\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A",be="\u55B5\u545C~ \u7EC4\u7EC7\u540D\u4E0D\u80FD\u4E3A\u7A7A",w="\u55B5\u545C~ \u4ED3\u5E93\u62E5\u6709\u8005\u6216\u4ED3\u5E93\u540D\u4E0D\u80FD\u4E3A\u7A7A",c="\u55B5\u545C~ \u53C2\u6570\u597D\u50CF\u4E0D\u592A\u5BF9\u5462",Te="\u55B5\u545C~ \u4EE3\u7406\u5730\u5740\u683C\u5F0F\u4E0D\u6B63\u786E\u54E6",N="\u55B5\u545C~ \u8FD9\u4E2A\u5B50\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",Re="\u55B5\u545C~ \u7528\u6237ID\u4E0D\u80FD\u4E3A\u7A7A",A="\u55B5\u545C~ \u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A",x="\u55B5\u545C~ \u8FD9\u4E2A\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",Ce="\u55B5\u545C~ \u8FD9\u4E2A\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",ke="\u55B5\u545C~ \u6743\u9650\u4E0D\u6B63\u786E\uFF0C\u8BF7\u68C0\u67E5\u6743\u9650",D="\u55B5\u545C~ \u8FD9\u4E2A\u5237\u65B0\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",Pe="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5DF2\u8FC7\u671F",d="\u55B5\u545C~ \u8BBF\u95EE\u88AB\u62D2\u7EDD\u5566\uFF0C\u53EF\u80FD\u662F\u4EE4\u724C\u8FC7\u671F\u4E86\u6216\u6743\u9650\u4E0D\u8DB3",Ee="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u5931\u8D25",Ie="\u55B5\u545C~ \u7EC4\u7EC7\u8D26\u53F7\u6682\u4E0D\u652F\u6301",ve="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u4E0D\u5B58\u5728\u54E6",Ae="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",b="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u4E0D\u5B58\u5728\u54E6",R="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u4E0D\u5B58\u5728\u54E6",xe="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u5DF2\u88AB\u79FB\u52A8",$e="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u9501\u5B9A\u5931\u8D25\u54E6",Me="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u521B\u5EFA\u5931\u8D25\u54E6",Le="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u89E3\u9501\u5931\u8D25\u54E6",S="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u4E0D\u5B58\u5728\u54E6",q="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u6216\u7528\u6237\u4E0D\u5B58\u5728\u54E6",C="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",Ue="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u5DF2\u88AB\u79FB\u52A8",W="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u4E0D\u5B58\u5728\u6216\u8BBF\u95EE\u88AB\u62D2\u7EDD\u5566\uFF0C\u53EF\u80FD\u662F\u4EE4\u724C\u8FC7\u671F\u4E86\u6216\u6743\u9650\u4E0D\u8DB3",$="\u55B5\u545C~ \u8FD9\u4E2A\u7528\u6237\u4E0D\u5B58\u5728\u54E6",Ne="\u55B5\u545C~ WebHook \u7B7E\u540D\u683C\u5F0F\u4E0D\u6B63\u786E",j="\u55B5\u545C~ WebHook \u7B7E\u540D\u9A8C\u8BC1\u5931\u8D25",v="\u55B5\u545C~ \u8BBF\u95EE\u901F\u7387\u53D7\u9650\u5566 \u8BF7\u7B49\u5F851\u5C0F\u65F6\u540E\u518D\u8BD5 \u6216 \u4F7F\u7528\u8BBF\u95EE\u4EE4\u724C\u63D0\u5347\u9650\u989D";});var qe,Oe,Be,He,ze,Ge,De=y(()=>{qe="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u6210\u529F",Oe="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u6709\u6548",Be="\u55B5\u545C~ WebHook \u7B7E\u540D\u6210\u529F",He="\u55B5\u545C~ \u8BAE\u9898\u9501\u5B9A\u6210\u529F",ze="\u55B5\u545C~ \u8BAE\u9898\u89E3\u9501\u6210\u529F",Ge="\u55B5\u545C~ \u8BAE\u9898\u8BC4\u8BBA\u521B\u5EFA\u6210\u529F";});var je,Fe,Je=y(()=>{je=fileURLToPath(import.meta.url).replace(/\\/g,"/").replace(/\/$/,""),Fe=We.resolve(je,"../../").replace(/\\/g,"/").replace(/\/$/,""),We.resolve(je,"../").replace(/\\/g,"/").replace(/\/$/,"");});function Ve(u="",e=""){e=e??Fe;try{let s=`${e}/${u}`;if(!Ke.existsSync(s))return console.warn(`\u6587\u4EF6\u4E0D\u5B58\u5728: ${s}`),{};let o=Ke.readFileSync(s,"utf8");return JSON.parse(o)}catch(s){return console.error(`\u8BFB\u53D6 JSON \u6587\u4EF6\u5931\u8D25: ${u}`,s),{}}}async function Ye(u="zh-cn"){let e=String(u).toLowerCase();await import(`dayjs/locale/${e}.js`),O.locale(e);}async function h(u,e="zh-cn",s="YYYY-MM-DD HH:mm:ss"){return await Ye(e),O(u).format(s)}async function Xe(u,e="zh-cn"){return await Ye(e),O.extend(_t),O(u).fromNow()}function f(u){let e=/^https?:\/\/[^/]+\/(?:https?:\/\/)?([^/]+\/[^/]+\/[^/]+)/,s=u.match(e);if(s){let a=s[1];u=a.startsWith("https")?a:`https://${a}`;}let o=ht(u);return {owner:o.owner,repo:o.name}}function wt(u){if(!Array.isArray(u))throw new Error("RGB\u503C\u5FC5\u987B\u662F\u6570\u7EC4\u7C7B\u578B");if(u.length!==3)throw new Error("RGB\u6570\u7EC4\u5FC5\u987B\u5305\u542B\u4E14\u4EC5\u5305\u542B3\u4E2A\u503C");if(!u.every(e=>Number.isInteger(e)&&e>=0&&e<=255))throw new Error("RGB\u503C\u5FC5\u987B\u90FD\u662F0-255\u4E4B\u95F4\u7684\u6574\u6570");return `#${gt.rgb.hex(u)}`}function B(u){return u=String(u).toLowerCase(),wt(yt[u].color)??"#cccccc"}async function ft(u,e){return Promise.resolve(Array.from({length:Math.ceil(u.length/e)},(s,o)=>u.slice(o*e,o*e+e)))}async function Qe(u){let e=/data-date="(.*?)" id="contribution-day-component/g,s=/<tool-tip .*?class="sr-only position-absolute">(.*?) contribution/g,o=Array.from(u.matchAll(e),n=>n[1]),a=Array.from(u.matchAll(s),n=>String(n[1]).toLowerCase()==="no"?0:parseInt(n[1]));if(!o.length||!a.length)return {total:0,contributions:[]};let t=o.map((n,i)=>({date:n,count:a[i]})).sort((n,i)=>n.date.localeCompare(i.date)),r=await ft(t,7);return {total:a.reduce((n,i)=>n+i,0),contributions:r}}var F=y(()=>{Je();});var J,Ze=y(()=>{F();J=Ve("package.json");});var T=y(()=>{Se();De();F();Ze();});function K(u,e){let s={github:"api.github.com",gitee:"gitee.com/api/v5",gitcode:"api.gitcode.com/api/v5"};return `https://${e?.replace(/\/$/,"")??""}/${s[u??"github"]}`.replace(/\/$/,"")}function V(u,e){let s={github:"github.com",gitee:"gitee.com",gitcode:"gitcode.com"};return `https://${e?.replace(/\/$/,"")??""}/${s[u??"github"]}`.replace(/\/$/,"")}async function et(){return Promise.resolve(v4().replace(/-/g,""))}var Y=y(()=>{});var H,X=y(()=>{T();H=class{baseUrl;tokenType;authorization;proxy;defaultHeaders;constructor(e,s="Bearer",o,a,t){this.baseUrl=e.replace(/\/$/,""),this.authorization=o,this.proxy=a,this.tokenType=s,this.defaultHeaders=t;}async request(e,s,o,a,t){let r=`${this.baseUrl}/${s}`.replace(/\/+/g,"/"),n={headers:this.createHeaders(t),params:o,validateStatus:()=>true};if(this.proxy){let i=this.proxy.type,l=this.proxy.address;switch(i){case "http":n.httpAgent=new HttpProxyAgent(l),n.httpsAgent=new HttpsProxyAgent(l);break;case "https":n.httpsAgent=new HttpsProxyAgent(l);break;case "socks":{let _=new SocksProxyAgent(l);n.httpAgent=_,n.httpsAgent=_;break}}}try{let i;switch(e){case "get":i=await M.get(r,n);break;case "post":i=await M.post(r,a,n);break;case "patch":i=await M.patch(r,a,n);break;case "put":i=await M.put(r,a,n);break;case "delete":i=await M.delete(r,{...n,data:a});break;default:throw new Error(`\u4E0D\u652F\u6301\u7684\u8BF7\u6C42\u65B9\u6CD5: ${e}`)}let l=Object.fromEntries(Object.entries(i.headers).filter(([_,m])=>m!==void 0).map(([_,m])=>[_.toLowerCase(),m]));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,_=l.response?.headers?Object.fromEntries(Object.entries(l.response.headers).filter(([m,L])=>L!==void 0).map(([m,L])=>[m,L])):{};return {success:false,statusCode:l.response?.status??500,headers:_,msg:l.message??"\u7F51\u7EDC\u8FDE\u63A5\u5931\u8D25",data:null}}}async get(e,s,o){return this.request("get",e,s,null,o)}async post(e,s,o,a){return this.request("post",e,s,o,a)}async patch(e,s=null,o,a){return this.request("patch",e,s,o,a)}async put(e,s,o,a){return this.request("put",e,s,o,a)}async delete(e,s=null,o,a){return this.request("delete",e,s,o,a)}createHeaders(e){let s={"Content-Type":"application/json","User-Agent":`${J.name}/v${J.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 e&&Object.assign(s,e),s}};});var at={};P(at,{Auth:()=>Q});var Q,Z=y(()=>{T();k();Q=class extends g{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async create_auth_link(e){try{let s=new URL("/login/oauth/authorize",this.BaseUrl);return s.search=new URLSearchParams({client_id:this.Client_ID,...e&&{state:e}}).toString(),Promise.resolve(s.toString())}catch(s){throw new Error(`\u751F\u6210\u6388\u6743\u94FE\u63A5\u5931\u8D25: ${s.message}`)}}async get_token_by_code(e){try{if(!e.code)throw new Error(G);return this.setRequestConfig({url:this.BaseUrl}),await this.post("login/oauth/access_token",{client_id:this.Client_ID,client_secret:this.Client_Secret,code:e.code},{Accept:"application/json"})}catch(s){throw new Error(`\u8BF7\u6C42\u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${s.message}`)}}async check_token_status(e){try{let s=e?.access_token??this.userToken;if(!s)throw new Error(I);if(!s.startsWith("ghu_"))throw new Error(Ce);this.setRequestConfig({url:this.ApiUrl,tokenType:"Basic",token:`${this.Client_ID}:${this.Client_Secret}`});let o=await this.post(`/applications/${this.Client_ID}/token`,{access_token:s});if(o.data){let a=!(o.status==="ok"&&(o.statusCode===404||o.statusCode===422));o.data={success:a,info:a?Oe:Pe};}return o}catch(s){throw new Error(`\u8BF7\u6C42\u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u72B6\u6001\u5931\u8D25: ${s.message}`)}}async refresh_token(e){try{if(!e.refresh_token)throw new Error(G);if(!e.refresh_token.startsWith("ghr_"))throw new Error(D);this.setRequestConfig({url:this.BaseUrl});let s=await this.post("login/oauth/access_token",{client_id:this.Client_ID,client_secret:this.Client_Secret,grant_type:"refresh_token",refresh_token:e.refresh_token},{Accept:"application/json"}),o=s.status==="ok"&&s.statusCode===200&&!s.data.error,a=Ee;switch(s.data.error){case "bad_refresh_token":a=D;break;case "unauthorized":a=d;break}if(s.data){if(!o)throw new Error(a);s.data={success:o,info:qe,access_token:s.data.access_token,expires_in:s.data.expires_in??null,refresh_token:s.data.refresh_token??null,refresh_token_expires_in:s.data.refresh_token_expires_in??null,scope:s.data.scope,token_type:s.data.token_type};}return s}catch(s){throw new Error(`\u8BF7\u6C42\u5237\u65B0\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${s.message}`)}}};});var st={};P(st,{Commit:()=>ee});var ee,te=y(()=>{T();k();ee=class extends g{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_commit_info(e){try{this.setRequestConfig({token:this.userToken});let s,o,a,t;if("url"in e){a=e.url;let i=f(a);s=i?.owner,o=i?.repo;}else if("owner"in e&&"repo"in e)s=e.owner,o=e.repo;else throw new Error(c);e.sha?t=e.sha:t=await(await this.get_repo()).get_repo_default_branch({owner:s,repo:o});let r=await this.get(`/repos/${s}/${o}/commits/${t}`);switch(r.statusCode){case 401:throw new Error(d);case 404:throw new Error(Ae);case 422:throw new Error(ve)}let n=e.format??this.format;if(r.data){let i=r.data?.commit?.message??"",[l,..._]=i.split(`
|
2
|
-
`);
|
3
|
-
`)},tree:{url:r.data.commit.tree.url,sha:r.data.commit.tree.sha}},parents:r.data.parents.map(m=>({sha:m.sha,url:m.url})),stats:{additions:r.data.stats.additions,deletions:r.data.stats.deletions,total:r.data.stats.total},files:r.data.files.map(m=>({sha:m.sha,filename:m.filename,status:m.status,additions:m.additions,deletions:m.deletions,changes:m.changes,blob_url:m.blob_url,raw_url:m.raw_url}))};}return r}catch(s){throw new Error(`\u83B7\u53D6\u63D0\u4EA4\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}};});var ot={};P(ot,{Issue:()=>ae});var ae,re=y(()=>{T();k();ae=class extends g{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_issue_info(e){let s,o;try{if(this.setRequestConfig({token:this.userToken}),"url"in e){let t=e?.url?.trim(),r=f(t);s=r?.owner,o=r?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(c);let a=await this.get(`/repos/${s}/${o}/issues/${Number(e.issue_number)}`);switch(a.statusCode){case 404:throw new Error(R);case 301:throw new Error(xe)}return a.data&&(a.data={id:a.data.id,html_url:a.data.html_url,number:a.data.number,comments:a.data.comments,state:a.data.state,state_reason:a.data.state_reason,title:a.data.title,body:a.data.body,user:a.data.user?{id:a.data.user.id,login:a.data.user.login,name:a.data.user.name,email:a.data.user.email,html_url:a.data.user.html_url,avatar_url:a.data.user.avatar_url,type:capitalize(a.data.user.type.toLowerCase())}:null,labels:a.data.labels?a.data.labels.map(t=>({id:t.id,name:t.name,color:t.color})):null,assignee:a.data.assignee?{id:a.data.assignee.id,login:a.data.assignee.login,name:a.data.assignee.name,email:a.data.assignee.email,html_url:a.data.assignee.html_url,avatar_url:a.data.assignee.avatar_url,type:capitalize(a.data.assignee.type.toLowerCase())}:null,milestone:a.data.milestone?{id:a.data.milestone.id,url:a.data.milestone.url,number:a.data.milestone.number,state:a.data.milestone.state,title:a.data.milestone.title,description:a.data.milestone.description,open_issues:a.data.milestone.open_issues,closed_issues:a.data.milestone.closed_issues,created_at:a.data.milestone.created_at,updated_at:a.data.milestone.updated_at,closed_at:a.data.milestone.closed_at,due_on:a.data.milestone.due_on}:null,closed_at:a.data.closed_at,created_at:a.data.created_at,updated_at:a.data.updated_at}),a}catch(a){throw new Error(`\u83B7\u53D6Issue\u8BE6\u60C5\u5931\u8D25: ${a.message}`)}}async get_repo_issue_list(e){let s,o;try{if(this.setRequestConfig({token:this.userToken}),"url"in e){let i=e?.url?.trim(),l=f(i);s=l?.owner,o=l?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(c);let{...a}=e,t={};a.milestone&&(t.milestone=a.milestone.toString()),a.state&&(t.state=a.state),a.assignee&&(t.assignee=a.assignee),a.creator&&(t.creator=a.creator),a.labels&&(t.labels=a.labels),a.sort&&(t.sort=a.sort),a.direction&&(t.direction=a.direction),a.since&&(t.since=a.since),a.per_page&&(t.per_page=a.per_page.toString()),a.page&&(t.page=a.page.toString());let r=`/repos/${s}/${o}/issues`,n=await this.get(r,t);if(n.statusCode===401)throw new Error(d);return n.data&&(n.data=n.data.map(i=>({id:i.id,html_url:i.html_url,number:i.number,comments:i.comments,state:i.state,state_reason:i.state_reason,title:i.title,body:i.body,user:i.user?{id:i.user.id,login:i.user.login,name:i.user.name,email:i.user.email,html_url:i.user.html_url,avatar_url:i.user.avatar_url,type:capitalize(i.user.type.toLowerCase())}:null,labels:i.labels?i.labels.map(l=>({id:l.id,name:l.name,color:l.color})):null,assignee:i.assignee?{id:i.assignee.id,login:i.assignee.login,name:i.assignee.name,email:i.assignee.email,html_url:i.assignee.html_url,avatar_url:i.assignee.avatar_url,type:capitalize(i.assignee.type.toLowerCase())}:null,milestone:i.milestone?{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:i.milestone.created_at,updated_at:i.milestone.updated_at,closed_at:i.milestone.closed_at,due_on:i.milestone.due_on}:null,closed_at:i.closed_at,created_at:i.created_at,updated_at:i.updated_at}))),n}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93${s}/${o}\u7684Issue\u5217\u8868\u5931\u8D25: ${a.message}`)}}async create_issue(e){if(!e.owner||!e.repo)throw new Error(w);if(!e.title)throw new Error(we);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,...a}=e,t={...a,...a.labels&&{labels:Array.isArray(a.labels)?a.labels:[a.labels]},...a.assignees&&{assignees:Array.isArray(a.assignees)?a.assignees:[a.assignees]}},r=await this.post(`/repos/${s}/${o}/issues`,t);switch(r.statusCode){case 403:throw new Error(d);case 301:throw new Error(C)}return r.data&&r.data&&(r.data={id:r.data.id,html_url:r.data.html_url,number:r.data.number,comments:r.data.comments,state:r.data.state,state_reason:r.data.state_reason,title:r.data.title,body:r.data.body,user:r.data.user?{id:r.data.user.id,login:r.data.user.login,name:r.data.user.name,email:r.data.user.email,html_url:r.data.user.html_url,avatar_url:r.data.user.avatar_url,type:capitalize(r.data.user.type.toLowerCase())}:null,labels:r.data.labels?r.data.labels.map(n=>({id:n.id,name:n.name,color:n.color})):null,assignee:r.data.assignee?{id:r.data.assignee.id,login:r.data.assignee.login,name:r.data.assignee.name,email:r.data.assignee.email,html_url:r.data.assignee.html_url,avatar_url:r.data.assignee.avatar_url,type:capitalize(r.data.assignee.type.toLowerCase())}:null,milestone:r.data.milestone?{id:r.data.milestone.id,url:r.data.milestone.url,number:r.data.milestone.number,state:r.data.milestone.state,title:r.data.milestone.title,description:r.data.milestone.description,open_issues:r.data.milestone.open_issues,closed_issues:r.data.milestone.closed_issues,created_at:r.data.milestone.created_at,updated_at:r.data.milestone.updated_at,closed_at:r.data.milestone.closed_at,due_on:r.data.milestone.due_on}:null,closed_at:r.data.closed_at,created_at:r.data.created_at,updated_at:r.data.updated_at}),r}catch(s){throw new Error(`\u521B\u5EFAIssue\u5931\u8D25: ${s.message}`)}}async update_issue(e){if(!e.owner||!e.repo)throw new Error(w);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:a,...t}=e,r={...t,...t.labels&&{labels:Array.isArray(t.labels)?t.labels:[t.labels]},...t.assignees&&{assignees:Array.isArray(t.assignees)?t.assignees:[t.assignees]}},n=await this.patch(`/repos/${s}/${o}/issues/${Number(a)}`,null,r);switch(n.statusCode){case 404:throw new Error(R);case 403:throw new Error(d);case 301:throw new Error(C)}return n.data&&n.data&&(n.data={id:n.data.id,html_url:n.data.html_url,number:n.data.number,comments:n.data.comments,state:n.data.state,state_reason:n.data.state_reason,title:n.data.title,body:n.data.body,user:n.data.user?{id:n.data.user.id,login:n.data.user.login,name:n.data.user.name,email:n.data.user.email,html_url:n.data.user.html_url,avatar_url:n.data.user.avatar_url,type:capitalize(n.data.user.type.toLowerCase())}:null,labels:n.data.labels?n.data.labels.map(i=>({id:i.id,name:i.name,color:i.color})):null,assignee:n.data.assignee?{id:n.data.assignee.id,login:n.data.assignee.login,name:n.data.assignee.name,email:n.data.assignee.email,html_url:n.data.assignee.html_url,avatar_url:n.data.assignee.avatar_url,type:capitalize(n.data.assignee.type.toLowerCase())}:null,milestone:n.data.milestone?{id:n.data.milestone.id,url:n.data.milestone.url,number:n.data.milestone.number,state:n.data.milestone.state,title:n.data.milestone.title,description:n.data.milestone.description,open_issues:n.data.milestone.open_issues,closed_issues:n.data.milestone.closed_issues,created_at:n.data.milestone.created_at,updated_at:n.data.milestone.updated_at,closed_at:n.data.milestone.closed_at,due_on:n.data.milestone.due_on}:null,closed_at:n.data.closed_at,created_at:n.data.created_at,updated_at:n.data.updated_at}),n}catch(s){throw new Error(`\u66F4\u65B0Issue\u5931\u8D25: ${s.message}`)}}async open_issue(e){if(!e.owner||!e.repo)throw new Error(w);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:a}=e,t=await this.patch(`/repos/${s}/${o}/issues/${a}`,null,{state:"open"});switch(t.statusCode){case 404:throw new Error(R);case 403:throw new Error(d);case 301:throw new Error(C)}return t.data&&t.data&&(t.data={id:t.data.id,html_url:t.data.html_url,number:t.data.number,comments:t.data.comments,state:t.data.state,state_reason:t.data.state_reason,title:t.data.title,body:t.data.body,user:t.data.user?{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url,type:capitalize(t.data.user.type.toLowerCase())}:null,labels:t.data.labels?t.data.labels.map(r=>({id:r.id,name:r.name,color:r.color})):null,assignee:t.data.assignee?{id:t.data.assignee.id,login:t.data.assignee.login,name:t.data.assignee.name,email:t.data.assignee.email,html_url:t.data.assignee.html_url,avatar_url:t.data.assignee.avatar_url,type:capitalize(t.data.assignee.type.toLowerCase())}:null,milestone:t.data.milestone?{id:t.data.milestone.id,url:t.data.milestone.url,number:t.data.milestone.number,state:t.data.milestone.state,title:t.data.milestone.title,description:t.data.milestone.description,open_issues:t.data.milestone.open_issues,closed_issues:t.data.milestone.closed_issues,created_at:t.data.milestone.created_at,updated_at:t.data.milestone.updated_at,closed_at:t.data.milestone.closed_at,due_on:t.data.milestone.due_on}:null,closed_at:t.data.closed_at,created_at:t.data.created_at,updated_at:t.data.updated_at}),t}catch(s){throw new Error(`\u6253\u5F00Issue\u5931\u8D25: ${s.message}`)}}async reopen_issue(e){return this.open_issue(e)}async close_issue(e){if(!e.owner||!e.repo)throw new Error(w);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:a}=e,t=await this.patch(`/repos/${s}/${o}/issues/${a}`,null,{state:"closed"});switch(t.statusCode){case 404:throw new Error(R);case 403:throw new Error(d);case 301:throw new Error(C)}return t.data&&t.data&&(t.data={id:t.data.id,html_url:t.data.html_url,number:t.data.number,comments:t.data.comments,state:t.data.state,state_reason:t.data.state_reason,title:t.data.title,body:t.data.body,user:t.data.user?{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url,type:capitalize(t.data.user.type.toLowerCase())}:null,labels:t.data.labels?t.data.labels.map(r=>({id:r.id,name:r.name,color:r.color})):null,assignee:t.data.assignee?{id:t.data.assignee.id,login:t.data.assignee.login,name:t.data.assignee.name,email:t.data.assignee.email,html_url:t.data.assignee.html_url,avatar_url:t.data.assignee.avatar_url,type:capitalize(t.data.assignee.type.toLowerCase())}:null,milestone:t.data.milestone?{id:t.data.milestone.id,url:t.data.milestone.url,number:t.data.milestone.number,state:t.data.milestone.state,title:t.data.milestone.title,description:t.data.milestone.description,open_issues:t.data.milestone.open_issues,closed_issues:t.data.milestone.closed_issues,created_at:t.data.milestone.created_at,updated_at:t.data.milestone.updated_at,closed_at:t.data.milestone.closed_at,due_on:t.data.milestone.due_on}:null,closed_at:t.data.closed_at,created_at:t.data.created_at,updated_at:t.data.updated_at}),t}catch(s){throw new Error(`\u5173\u95EDIssue\u5931\u8D25: ${s.message}`)}}async lock_issue(e){if(!e.owner||!e.repo)throw new Error(w);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:a,lock_reason:t}=e,r=await this.put(`/repos/${s}/${o}/issues/${Number(a)}`,{locked:!0,lock_reason:t});switch(r.statusCode){case 404:throw new Error(R);case 403:throw new Error(d);case 301:throw new Error(C)}let n;return r.statusCode===204?n=He:n=$e,r.data={info:n},r}catch(s){throw new Error(`\u9501\u5B9AIssue${e.issue_number}\u5931\u8D25: ${s.message}`)}}async unlock_issue(e){if(!e.owner||!e.repo)throw new Error(w);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:a}=e,t=await this.delete(`/repos/${s}/${o}/issues/${a}/lock`);switch(t.statusCode){case 404:throw new Error(R);case 403:throw new Error(d);case 301:throw new Error(C)}let r;return t.statusCode===204?r=ze:r=Le,t.data={info:r},t}catch(s){throw new Error(`\u89E3\u9501Issue\u5931\u8D25: ${s.message}`)}}async get_repo_comments_list(e){if(!e.owner||!e.repo)throw new Error(w);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,...a}=e,t={};a.sort&&(t.sort=a.sort),a.sort&&a.direction&&(t.direction=a.direction),a.since&&(t.since=a.since),a.per_page&&(t.per_page=a.per_page.toString()),a.page&&(t.page=a.page.toString());let r=`/repos/${s}/${o}/issues/comments/`,n=await this.get(r,t);if(n.statusCode===404)throw new Error(b);return n.data&&(n.data=n.data.map(i=>({id:i.id,html_url:i.html_url,body:i.body,user:i.user?{id:i.user.id,login:i.user.login,name:i.user.name,email:i.user.email,html_url:i.user.html_url,avatar_url:i.user.avatar_url,type:capitalize(i.user.type.toLowerCase())}:null,created_at:i.created_at,updated_at:i.updated_at}))),n}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${s.message}`)}}async get_issue_comments_list(e){if(!e.owner||!e.repo)throw new Error(w);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:a,...t}=e,r={};t.since&&(r.since=t.since),t.per_page&&(r.per_page=t.per_page.toString()),t.page&&(r.page=t.page.toString());let n=`/repos/${s}/${o}/issues/${Number(a)}/comments`,i=await this.get(n,r);if(i.statusCode===404)throw new Error(b);return i.data&&(i.data=i.data.map(l=>({id:l.id,html_url:l.html_url,body:l.body,user:l.user?{id:l.user.id,login:l.user.login,name:l.user.name,email:l.user.email,html_url:l.user.html_url,avatar_url:l.user.avatar_url,type:capitalize(l.user.type.toLowerCase())}:null,created_at:l.created_at,updated_at:l.updated_at}))),i}catch(s){throw new Error(`\u83B7\u53D6\u8BAE\u9898\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${s.message}`)}}async get_issue_comment_info(e){if(!e.owner||!e.repo)throw new Error(w);if(!e.comment_id)throw new Error(U);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,comment_id:a}=e,t=await this.get(`/repos/${s}/${o}/issues/comments/${Number(a)}`);if(t.statusCode===404)throw new Error(b);return t.data&&(t.data={id:t.data.id,html_url:t.data.html_url,body:t.data.body,user:t.data.user?{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url,type:capitalize(t.data.user.type.toLowerCase())}:null,created_at:t.data.created_at,updated_at:t.data.updated_at}),t}catch(s){throw new Error(`\u83B7\u53D6\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}async create_issue_comment(e){if(!e.owner||!e.repo)throw new Error(w);if(!e.issue_number)throw new Error(b);if(!e.body)throw new Error(ye);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:a,body:t}=e,r=await this.post(`/repos/${s}/${o}/issues/${Number(a)}/comments`,{body:t});if(r.statusCode===404)throw new Error(b);return r.data&&(r.data={id:r.data.id,html_url:r.data.html_url,body:r.data.body,user:r.data.user?{id:r.data.user.id,login:r.data.user.login,name:r.data.user.name,email:r.data.user.email,html_url:r.data.user.html_url,avatar_url:r.data.user.avatar_url,type:capitalize(r.data.user.type.toLowerCase())}:null,created_at:r.data.created_at,updated_at:r.data.updated_at}),r}catch(s){throw new Error(`\u521B\u5EFA\u8BAE\u9898\u8BC4\u8BBA\u5931\u8D25: ${s.message}`)}}async update_issue_comment(e){if(!e.owner||!e.repo)throw new Error(w);if(!e.comment_id)throw new Error(U);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,comment_id:a,...t}=e,r=await this.patch(`/repos/${s}/${o}/issues/comments/${Number(a)}`,null,t);if(r.statusCode===404)throw new Error(b);return r.data&&(r.data={id:r.data.id,html_url:r.data.html_url,body:r.data.body,user:r.data.user?{id:r.data.user.id,login:r.data.user.login,name:r.data.user.name,email:r.data.user.email,html_url:r.data.user.html_url,avatar_url:r.data.user.avatar_url,type:capitalize(r.data.user.type.toLowerCase())}:null,created_at:r.data.created_at,updated_at:r.data.updated_at}),r}catch(s){throw new Error(`\u66F4\u65B0\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}async remove_issue_comment(e){if(!e.owner||!e.repo)throw new Error(w);if(!e.comment_id)throw new Error(U);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,comment_id:a}=e,t=await this.delete(`/repos/${s}/${o}/issues/comments/${Number(a)}`);if(t.statusCode===404)throw new Error(b);let r;return t.statusCode===204?r=Ge:r=Me,t.data={info:r},t}catch(s){throw new Error(`\u5220\u9664\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}async delete_issue_comment(e){return this.remove_issue_comment(e)}async get_sub_issue_list(e){if(!e.owner||!e.repo)throw new Error(w);if(!e.issue_number)throw new Error(b);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:a,...t}=e,r={};t.per_page&&(r.per_page=t.per_page.toString()),t.page&&(r.page=t.page.toString());let n=`/repos/${s}/${o}/issues/${Number(a)}/sub_issues`,i=await this.get(n,r);if(i.statusCode===404)throw new Error(R);return i.data&&(i.data=i.data.map(l=>({id:l.id,html_url:l.html_url,number:l.number,comments:l.comments,state:l.state,state_reason:l.state_reason,title:l.title,body:l.body,user:l.user?{id:l.user.id,login:l.user.login,name:l.user.name,email:l.user.email,html_url:l.user.html_url,avatar_url:l.user.avatar_url,type:capitalize(l.user.type.toLowerCase())}:null,labels:l.labels?l.labels.map(_=>({id:_.id,name:_.name,color:_.color})):null,assignee:l.assignee?{id:l.assignee.id,login:l.assignee.login,name:l.assignee.name,email:l.assignee.email,html_url:l.assignee.html_url,avatar_url:l.assignee.avatar_url,type:capitalize(l.assignee.type.toLowerCase())}:null,milestone:l.milestone?{id:l.milestone.id,url:l.milestone.url,number:l.milestone.number,state:l.milestone.state,title:l.milestone.title,description:l.milestone.description,open_issues:l.milestone.open_issues,closed_issues:l.milestone.closed_issues,created_at:l.milestone.created_at,updated_at:l.milestone.updated_at,closed_at:l.milestone.closed_at,due_on:l.milestone.due_on}:null,closed_at:l.closed_at,created_at:l.created_at,updated_at:l.updated_at}))),i}catch(s){throw new Error(`\u83B7\u53D6\u5B50\u8BAE\u9898\u5217\u8868\u5931\u8D25: ${s.message}`)}}async add_sub_issue(e){if(!e.owner||!e.repo)throw new Error(w);if(!e.issue_number)throw new Error(b);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:a,sub_issue_id:t,replace_parent:r}=e,n=await this.post(`/repos/${s}/${o}/issues/${a}/sub_issues`,{sub_issue_id:t,replace_parent:r});if(n.statusCode===404)throw new Error(R);return n.data&&(n.data={id:n.data.id,html_url:n.data.html_url,number:n.data.number,comments:n.data.comments,state:n.data.state,state_reason:n.data.state_reason,title:n.data.title,body:n.data.body,user:n.data.user?{id:n.data.user.id,login:n.data.user.login,name:n.data.user.name,email:n.data.user.email,html_url:n.data.user.html_url,avatar_url:n.data.user.avatar_url,type:capitalize(n.data.user.type.toLowerCase())}:null,labels:n.data.labels?n.data.labels.map(i=>({id:i.id,name:i.name,color:i.color})):null,assignee:n.data.assignee?{id:n.data.assignee.id,login:n.data.assignee.login,name:n.data.assignee.name,email:n.data.assignee.email,html_url:n.data.assignee.html_url,avatar_url:n.data.assignee.avatar_url,type:capitalize(n.data.assignee.type.toLowerCase())}:null,milestone:n.data.milestone?{id:n.data.milestone.id,url:n.data.milestone.url,number:n.data.milestone.number,state:n.data.milestone.state,title:n.data.milestone.title,description:n.data.milestone.description,open_issues:n.data.milestone.open_issues,closed_issues:n.data.milestone.closed_issues,created_at:n.data.milestone.created_at,updated_at:n.data.milestone.updated_at,closed_at:n.data.milestone.closed_at,due_on:n.data.milestone.due_on}:null,closed_at:n.data.closed_at,created_at:n.data.created_at,updated_at:n.data.updated_at}),n}catch(s){throw new Error(`\u6DFB\u52A0\u5B50\u8BAE\u9898\u5931\u8D25: ${s.message}`)}}async remove_sub_issue(e){if(!e.owner||!e.repo)throw new Error(w);if(!e.issue_number)throw new Error(b);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:a,sub_issue_id:t}=e,r=await this.delete(`/repos/${s}/${o}/issues/${a}/sub_issue`,null,{sub_issue_id:t});if(r.statusCode===404)throw new Error(R);return r.data&&(r.data={id:r.data.id,html_url:r.data.html_url,number:r.data.number,comments:r.data.comments,state:r.data.state,state_reason:r.data.state_reason,title:r.data.title,body:r.data.body,user:r.data.user?{id:r.data.user.id,login:r.data.user.login,name:r.data.user.name,email:r.data.user.email,html_url:r.data.user.html_url,avatar_url:r.data.user.avatar_url,type:capitalize(r.data.user.type.toLowerCase())}:null,labels:r.data.labels?r.data.labels.map(n=>({id:n.id,name:n.name,color:n.color})):null,assignee:r.data.assignee?{id:r.data.assignee.id,login:r.data.assignee.login,name:r.data.assignee.name,email:r.data.assignee.email,html_url:r.data.assignee.html_url,avatar_url:r.data.assignee.avatar_url,type:capitalize(r.data.assignee.type.toLowerCase())}:null,milestone:r.data.milestone?{id:r.data.milestone.id,url:r.data.milestone.url,number:r.data.milestone.number,state:r.data.milestone.state,title:r.data.milestone.title,description:r.data.milestone.description,open_issues:r.data.milestone.open_issues,closed_issues:r.data.milestone.closed_issues,created_at:r.data.milestone.created_at,updated_at:r.data.milestone.updated_at,closed_at:r.data.milestone.closed_at,due_on:r.data.milestone.due_on}:null,closed_at:r.data.closed_at,created_at:r.data.created_at,updated_at:r.data.updated_at}),r}catch(s){throw new Error(`\u5220\u9664\u5B50\u8BAE\u9898\u5931\u8D25: ${s.message}`)}}async delete_sub_issue(e){return this.remove_sub_issue(e)}async reprioritize_sub_issue(e){if(!e.owner||!e.repo)throw new Error(w);if(!e.issue_number)throw new Error(b);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:a,sub_issue_id:t,...r}=e,n={};r.before_id&&!r.after_id&&(n.before_id=r.before_id.toString()),r.after_id&&!r.before_id&&(n.after_id=r.after_id.toString());let i=`/repos/${s}/${o}/issues/${a}/sub_issues/priority`,l=await this.patch(i,n,{sub_issue_id:String(t)});if(l.statusCode===404)throw new Error(R);return l.data&&(l.data={id:l.data.id,html_url:l.data.html_url,number:l.data.number,comments:l.data.comments,state:l.data.state,state_reason:l.data.state_reason,title:l.data.title,body:l.data.body,user:l.data.user?{id:l.data.user.id,login:l.data.user.login,name:l.data.user.name,email:l.data.user.email,html_url:l.data.user.html_url,avatar_url:l.data.user.avatar_url,type:capitalize(l.data.user.type.toLowerCase())}:null,labels:l.data.labels?l.data.labels.map(_=>({id:_.id,name:_.name,color:_.color})):null,assignee:l.data.assignee?{id:l.data.assignee.id,login:l.data.assignee.login,name:l.data.assignee.name,email:l.data.assignee.email,html_url:l.data.assignee.html_url,avatar_url:l.data.assignee.avatar_url,type:capitalize(l.data.assignee.type.toLowerCase())}:null,milestone:l.data.milestone?{id:l.data.milestone.id,url:l.data.milestone.url,number:l.data.milestone.number,state:l.data.milestone.state,title:l.data.milestone.title,description:l.data.milestone.description,open_issues:l.data.milestone.open_issues,closed_issues:l.data.milestone.closed_issues,created_at:l.data.milestone.created_at,updated_at:l.data.milestone.updated_at,closed_at:l.data.milestone.closed_at,due_on:l.data.milestone.due_on}:null,closed_at:l.data.closed_at,created_at:l.data.created_at,updated_at:l.data.updated_at}),l}catch(s){throw new Error(`\u91CD\u65B0\u6392\u5E8F\u5B50\u8BAE\u9898\u5931\u8D25: ${s.message}`)}}};});var nt={};P(nt,{Repo:()=>se});var se,oe=y(()=>{T();k();se=class extends g{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_org_repos_list(e){if(!e.org)throw new Error(c);try{this.setRequestConfig({token:this.userToken});let{org:s,...o}=e,a={};o?.type&&(a.type=o.type),o?.sort&&(a.sort=o.sort),o?.direction&&(a.direction=o.direction),o?.per_page&&(a.per_page=o.per_page.toString()),o?.page&&(a.page=o.page.toString());let t=`/orgs/${s}/repos`,r=await this.get(t,a);switch(r.statusCode){case 404:throw new Error(S);case 401:throw new Error(d)}let n=e.format??this.format;return r.data&&(r.data=await Promise.all(r.data.map(async i=>({id:i.id,name:i.name,full_name:i.full_name,owner:{id:i.owner.id,login:i.owner.login,name:i.owner.name,avatar_url:i.owner.avatar_url,type:i.owner.type,html_url:i.owner.html_url,company:i.owner.company,email:i.owner.email,bio:i.owner.bio,blog:i.owner.blog,followers:i.owner.followers,following:i.owner.following},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,created_at:n?await h(i.created_at):i.created_at,updated_at:n?await h(i.updated_at):i.updated_at,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})))),r}catch(s){throw new Error(`\u83B7\u53D6\u7EC4\u7EC7\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${s.message}`)}}async get_user_repos_list_by_token(e){try{this.setRequestConfig({token:this.userToken});let{...s}=e,o={};!e?.visibility&&!e?.affiliation&&s?.type&&(o.type=s.type),s?.visibility&&(o.visibility=s.visibility),s?.affiliation&&(o.affiliation=s.affiliation),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 t=await this.get("/uses/repos",o);if(t.statusCode===401)throw new Error(d);let r=e?.format??this.format;return t.data&&(t.data=await Promise.all(t.data.map(async n=>({id:n.id,name:n.name,full_name:n.full_name,owner:{id:n.owner.id,login:n.owner.login,name:n.owner.name,avatar_url:n.owner.avatar_url,type:n.owner.type,html_url:n.owner.html_url,company:n.owner.company,email:n.owner.email,bio:n.owner.bio,blog:n.owner.blog,followers:n.owner.followers,following:n.owner.following},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,created_at:r?await h(n.created_at):n.created_at,updated_at:r?await h(n.updated_at):n.updated_at,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})))),t}catch(s){throw new Error(`\u83B7\u53D6\u6388\u6743\u7528\u6237\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${s.message}`)}}async get_user_repos_list(e){try{if(!e.username)throw new Error(A);this.setRequestConfig({token:this.userToken});let{username:s,...o}=e,a={};o?.type&&(a.type=o.type),o?.sort&&(a.sort=o.sort),o?.direction&&(a.direction=o.direction),o?.per_page&&(a.per_page=o.per_page.toString()),o?.page&&(a.page=o.page.toString());let t=e?.format??this.format,r=`/users/${s}/repos`,n=await this.get(r,a);switch(n.statusCode){case 404:throw new Error($);case 401:throw new Error(d)}return n.data&&(n.data=await Promise.all(n.data.map(async i=>({id:i.id,name:i.name,full_name:i.full_name,owner:{id:i.owner.id,login:i.owner.login,name:i.owner.name,avatar_url:i.owner.avatar_url,type:i.owner.type,html_url:i.owner.html_url,company:i.owner.company,email:i.owner.email,bio:i.owner.bio,blog:i.owner.blog,followers:i.owner.followers,following:i.owner.following},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,created_at:t?await h(i.created_at):i.created_at,updated_at:t?await h(i.updated_at):i.updated_at,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})))),n}catch(s){throw new Error(`\u83B7\u53D6\u7528\u6237\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${s.message}`)}}async get_repo_info(e){try{this.setRequestConfig({token:this.userToken});let s,o;if("url"in e){let r=e.url.trim(),n=f(r);s=n?.owner,o=n?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(c);let a=await this.get(`/repos/${s}/${o}`);switch(a.statusCode){case 401:throw new Error(d);case 404:throw new Error(q)}let t=e?.format??this.format;return a.data&&(a.data={id:a.data.id,name:a.data.name,full_name:a.data.full_name,owner:{id:a.data.owner.id,login:a.data.owner.login,name:a.data.owner.name,avatar_url:a.data.owner.avatar_url,type:a.data.owner.type,html_url:a.data.owner.html_url,company:a.data.owner.company,email:a.data.owner.email,bio:a.data.owner.bio,blog:a.data.owner.blog,followers:a.data.owner.followers,following:a.data.owner.following},public:!a.data.private,private:a.data.private,visibility:a.data.private?"private":"public",fork:a.data.fork,archived:a.data.archived,disabled:a.data.disabled,html_url:a.data.html_url,description:a.data.description,created_at:t?await h(a.data.created_at):a.data.created_at,updated_at:t?await h(a.data.updated_at):a.data.updated_at,stargazers_count:a.data.stargazers_count,watchers_count:a.data.watchers_count,language:a.data.language,forks_count:a.data.forks_count,open_issues_count:a.data.open_issues_count,default_branch:a.data.default_branch}),a}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}async get_repo_languages_list(e){try{this.setRequestConfig({token:this.userToken});let s,o;if("url"in e){let t=e.url.trim(),r=f(t);s=r?.owner,o=r?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(c);let a=await this.get(`/repos/${s}/${o}/languages`);switch(a.statusCode){case 401:throw new Error(d);case 404:throw new Error(C)}if(a.data){let t=Object.values(a.data).reduce((r,n)=>r+n,0);a.data={languages:await Promise.all(Object.entries(a.data).map(([r,n])=>{let i=String(r).toLowerCase();return {language:r,color:B(i),percent:Number((n/t*100).toFixed(2)),bytes:n}}))};}return a}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5217\u8868\u5931\u8D25: ${s.message}`)}}async create_org_repo(e){try{let{owner:s,...o}=e,a={...o},t=await this.post(`/orgs/${s}/repos`,a);if(t.statusCode===401)throw new Error(d);let r=e?.format??this.format;return t.data&&(t.data={id:t.data.id,name:t.data.name,full_name:t.data.full_name,owner:{id:t.data.owner.id,login:t.data.owner.login,name:t.data.owner.name,avatar_url:t.data.owner.avatar_url,type:t.data.owner.type,html_url:t.data.owner.html_url,company:t.data.owner.company,email:t.data.owner.email,bio:t.data.owner.bio,blog:t.data.owner.blog,followers:t.data.owner.followers,following:t.data.owner.following},public:!t.data.private,private:t.data.private,visibility:t.data.private?"private":"public",fork:t.data.fork,archived:t.data.archived,disabled:t.data.disabled,html_url:t.data.html_url,description:t.data.description,created_at:r?await h(t.data.created_at):t.data.created_at,updated_at:r?await h(t.data.updated_at):t.data.updated_at,stargazers_count:t.data.stargazers_count,watchers_count:t.data.watchers_count,language:t.data.language,forks_count:t.data.forks_count,open_issues_count:t.data.open_issues_count,default_branch:t.data.default_branch}),t}catch(s){throw new Error(`\u521B\u5EFA\u7EC4\u7EC7\u4ED3\u5E93\u5931\u8D25: ${s.message}`)}}async get_collaborators_list(e){try{this.setRequestConfig({token:this.userToken});let s,o;if("url"in e){let n=e.url.trim(),i=f(n);s=i?.owner,o=i?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(c);let{...a}=e,t={};a.affiliation&&(t.milestone=a.affiliation.toString()),a.permission&&(t.permission=a.permission.toString()),a.per_page&&(t.per_page=a.per_page.toString()),a.page&&(t.page=a.page.toString());let r=await this.get(`/repos/${s}/${o}/collaborators`,t);return r.data&&(r.data=await Promise.all(r.data.map(n=>({id:n.id,login:n.login,avatar_url:n.avatar_url,email:n.email,name:n.name,permissions:n.permissions,role_name:n.role_name})))),r}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u534F\u4F5C\u8005\u5217\u8868\u5931\u8D25: ${s.message}`)}}async add_collaborator(e){let s,o,a;try{if(this.setRequestConfig({token:this.userToken}),"url"in e){let n=e.url.trim(),i=f(n);s=i?.owner,o=i?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(c);a=e?.username;let t=await this.put(`/repos/${s}/${o}/collaborators/${a}`,{permission:e.permission??"pull"});if(t.statusCode===404)throw new Error(W);if(t.statusCode===422){let n=t.data.message;if(n&&n.includes("is not a valid permission"))throw new Error(ke)}let r=e?.format??this.format;return t.data&&(t.data={id:t.data.id,repository:{id:t.data.repository.id,name:t.data.repository.name,full_name:t.data.repository.full_name,owner:{id:t.data.repository.owner.id,login:t.data.repository.owner.login,name:t.data.repository.owner.name,avatar_url:t.data.repository.owner.avatar_url,type:t.data.repository.owner.type,html_url:t.data.repository.owner.html_url,company:t.data.repository.owner.company,email:t.data.repository.owner.email,bio:t.data.repository.owner.bio,blog:t.data.repository.owner.blog,followers:t.data.repository.owner.followers,following:t.data.repository.owner.following},public:!t.data.repository.private,private:t.data.repository.private,visibility:t.data.repository.private?"private":"public",fork:t.data.repository.fork,archived:t.data.repository.archived,disabled:t.data.repository.disabled,html_url:t.data.repository.html_url,description:t.data.repository.description,created_at:r?await h(t.data.repository.created_at):t.data.repository.created_at,updated_at:r?await h(t.data.repository.updated_at):t.data.repository.updated_at,stargazers_count:t.data.repository.stargazers_count,watchers_count:t.data.repository.watchers_count,language:t.data.repository.language,forks_count:t.data.repository.forks_count,open_issues_count:t.data.repository.open_issues_count,default_branch:t.data.repository.default_branch}}),t}catch(t){throw new Error(`\u6DFB\u52A0\u534F\u4F5C\u8005${a}\u5931\u8D25: ${t.message}`)}}async remove_collaborator(e){let s,o,a;try{if(this.setRequestConfig({token:this.userToken}),"url"in e){let r=e.url.trim(),n=f(r);s=n?.owner,o=n?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(c);a=e?.username;let t=await this.delete(`/repos/${s}/${o}/collaborators/${a}`);if(t.statusCode===404)throw new Error(W);return t.status&&t.statusCode===204?t.data={info:`\u79FB\u9664\u534F\u4F5C\u8005${a}\u6210\u529F`}:t.data={info:`\u79FB\u9664\u534F\u4F5C\u8005${a}\u5931\u8D25`},t}catch(t){throw new Error(`\u79FB\u9664\u534F\u4F5C\u8005${a}\u5931\u8D25: ${t.message}`)}}async delete_collaborator(e){return this.remove_collaborator(e)}async get_repo_visibility(e){try{let s,o;if("url"in e){let a=e.url.trim(),t=f(a);s=t?.owner,o=t?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(c);return (await this.get_repo_info({owner:s,repo:o})).data.visibility}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u53EF\u89C1\u6027\u5931\u8D25: ${s.message}`)}}async get_repo_default_branch(e){try{let s,o;if("url"in e){let a=e.url.trim(),t=f(a);s=t?.owner,o=t?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(c);return (await this.get_repo_info({owner:s,repo:o})).data.default_branch}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u9ED8\u8BA4\u5206\u652F\u5931\u8D25: ${s.message}`)}}async get_repo_main_language(e){try{let s,o;if("url"in e){let a=e.url.trim(),t=f(a);s=t?.owner,o=t?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(c);return (await this.get_repo_info({owner:s,repo:o})).data.language}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5931\u8D25: ${s.message}`)}}};});var it={};P(it,{User:()=>ie});var ie,le=y(()=>{T();k();ie=class extends g{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_user_info(e){let s=e.access_token??this.userToken;if(!e.username)throw new Error(fe);if(!s?.startsWith("ghu_"))throw new Error(x);try{this.setRequestConfig({token:s});let o=await this.get(`/users/${e.username}`);if(o.statusCode===401)throw new Error(d);if(o.statusCode===404)throw new Error(q);return o.data&&(o.data={id:o.data.id,login:o.data.login,name:o.data.name||null,type:capitalize(o.data.type.toLowerCase()),html_url:o.data.html_url,avatar_url:o.data.avatar_url,company:o.data.company||null,email:o.data.email||null,bio:o.data.bio||null,blog:o.data.blog||null,followers:o.data.followers,following:o.data.following}),o}catch(o){throw new Error(`\u83B7\u53D6\u7528\u6237\u6216\u7EC4\u7EC7\u4FE1\u606F\u5931\u8D25: ${o.message}`)}}async get_user_info_by_user_id(e){let s=e.access_token??this.userToken;if(!e.user_id)throw new Error(Re);if(!s?.startsWith("ghu_"))throw new Error(x);try{this.setRequestConfig({token:this.userToken});let o=await this.get(`/user/${e.user_id}`);if(o.statusCode===401)throw new Error(d);if(o.statusCode===404)throw new Error($);return o.data&&(o.data={id:o.data.id,login:o.data.login,name:o.data.name||null,type:capitalize(o.data.type.toLowerCase()),html_url:o.data.html_url,avatar_url:o.data.avatar_url,company:o.data.company||null,email:o.data.email||null,bio:o.data.bio||null,blog:o.data.blog||null,followers:o.data.followers,following:o.data.following}),o}catch(o){throw new Error(`\u901A\u8FC7\u7528\u6237id\u83B7\u53D6\u7528\u6237${e.user_id}\u4FE1\u606F\u5931\u8D25: ${o.message}`)}}async get_user_info_by_auth(e){let s=e?.access_token??this.userToken;if(!e||!s)throw new Error(I);try{this.setRequestConfig({token:s});let o=await this.get("/user");switch(o.statusCode){case 401:throw new Error(d);case 404:throw new Error($)}return o.data&&(o.data={id:o.data.id,login:o.data.login,name:o.data.name||null,type:capitalize(o.data.type.toLowerCase()),html_url:o.data.html_url,avatar_url:o.data.avatar_url,company:o.data.company||null,email:o.data.email||null,bio:o.data.bio||null,blog:o.data.blog||null,followers:o.data.followers,following:o.data.following}),o}catch(o){throw new Error(`\u83B7\u53D6\u6388\u6743\u7528\u6237\u4FE1\u606F\u5931\u8D25: ${o.message}`)}}async get_user_info_by_token(e){return this.get_user_info_by_auth(e)}async get_user_contribution(e){try{if(!e.username)throw new Error(A);if((await this.get_user_info({username:e.username})).data.type==="Organization")throw new Error(`${Ie}\u83B7\u53D6\u8D21\u732E\u65E5\u5386`);this.setRequestConfig({url:this.BaseUrl});let o=await this.get(`/${e.username}`,{action:"show",controller:"profiles",tab:"contributions",user_id:e.username},{"X-Requested-With":"XMLHttpRequest"});if(o.statusCode===404)throw new Error(A);let a=await Qe(o.data);return {...o,data:a}}catch(s){throw new Error(`\u83B7\u53D6\u7528\u6237${e.username}\u8D21\u732E\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}async get_user_id(){return (await this.get_user_info_by_auth({})).data.id}async get_username(){return (await this.get_user_info_by_auth()).data.login}async get_nickname(){return (await this.get_user_info_by_auth()).data.name}async get_user_email(){return (await this.get_user_info_by_auth()).data.email}async get_avatar_url(){return (await this.get_user_info_by_auth()).data.avatar_url}};});var lt={};P(lt,{Org:()=>ue});var ue,pe=y(()=>{T();k();ue=class extends g{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_org_info(e){if(!e.org)throw new Error(be);try{this.setRequestConfig({token:this.userToken});let s=await this.get(`/orgs/${e.org}`);if(s.statusCode===404)throw new Error(S);return s.data&&(s.data={id:s.data.id,login:s.data.login,name:s.data.name,avatar_url:s.data.avatar_url,description:s.data.description,html_url:s.data.html_url}),s}catch(s){throw new Error(`\u83B7\u53D6\u7EC4\u7EC7${e.org}\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}};});var pt={};P(pt,{WebHook:()=>de});var de,me=y(()=>{T();k();de=class extends g{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async check_webhook_signature(e){let s=e.secret??this.WebHook_Secret;if(!s||!e.payload||!e.signature)throw new Error(c);if(!e.signature.startsWith("sha256="))throw new Error(Ne);let o=false,a="error",t=400,r=j,n;try{let i=ut.createHmac("sha256",s),l=typeof e.payload=="string"?e.payload:JSON.stringify(e.payload);i.update(l,"utf8");let _=i.digest("hex"),m=e.signature.replace("sha256=","");ut.timingSafeEqual(Buffer.from(_),Buffer.from(m))?(o=!0,a="ok",t=200,r="\u8BF7\u6C42\u6210\u529F",n={info:Be}):(o=!1,a="error",t=403,r="\u8BF7\u6C42\u5931\u8D25",n={info:j});}catch(i){throw new Error(`\u8BF7\u6C42\u9A8C\u8BC1WebHook\u7B7E\u540D\u5931\u8D25: ${i.message}`)}return Promise.resolve({success:o,status:a,statusCode:t,msg:r,data:n})}};});var z,g,k=y(()=>{T();Y();X();z="github",g=class{BaseUrl;ApiUrl;jwtToken;userToken;format;Private_Key;Client_ID;Client_Secret;WebHook_Secret;currentRequestConfig;proxy;constructor(e){this.Private_Key=e.Private_Key,this.Client_ID=e.Client_ID,this.Client_Secret=e.Client_Secret,this.WebHook_Secret=e.WebHook_Secret,this.jwtToken=this.generate_jwt(),this.BaseUrl=V(z),this.ApiUrl=K(z),this.userToken=null,this.currentRequestConfig={url:this.ApiUrl,token:null,tokenType:"Bearer"},this.format=e.format??false;}async get_app(){let{App:e}=await Promise.resolve().then(()=>(ce(),dt));return this.app=new e(this),this.app}async get_auth(){let{Auth:e}=await Promise.resolve().then(()=>(Z(),at));return this.auth=new e(this),this.auth}async get_commit(){let{Commit:e}=await Promise.resolve().then(()=>(te(),st));return this.commit=new e(this),this.commit}async get_issue(){let{Issue:e}=await Promise.resolve().then(()=>(re(),ot));return this.issue=new e(this),this.issue}async get_repo(){let{Repo:e}=await Promise.resolve().then(()=>(oe(),nt));return this.repo=new e(this),this.repo}async get_user(){let{User:e}=await Promise.resolve().then(()=>(le(),it));return this.user=new e(this),this.user}async get_org(){let{Org:e}=await Promise.resolve().then(()=>(pe(),lt));return this.org=new e(this),this.org}async get_webhook(){let{WebHook:e}=await Promise.resolve().then(()=>(me(),pt));return this.webhook=new e(this),this.webhook}setProxy(e){if(e?.address){let s=new URL$1(e.address);if(!["http:","https:","socks:"].includes(s.protocol))throw new Error(Te);e.address=e.address.replace(/\/$/,"");}e?.type==="common"&&(this.BaseUrl=V(z,e.address),this.ApiUrl=K(z,e.address)),this.proxy=e;}setToken(e){if(!e.startsWith("ghu_"))throw console.log("token \u5FC5\u987B\u4EE5 ghu_ \u5F00\u5934"),this.userToken=null,new Error(x);return this.userToken=e,this}generate_jwt(){let e=this.Private_Key,s={exp:Math.floor(Date.now()/1e3)+10*60,iat:Math.floor(Date.now()/1e3),iss:this.Client_ID};return kt.sign(s,e,{algorithm:"RS256"})}setRequestConfig(e){e.url&&(this.currentRequestConfig.url=e.url),e.token&&(this.currentRequestConfig.token=e.token),e.tokenType&&(this.currentRequestConfig.tokenType=e.tokenType);}createRequest(){let{url:e,token:s,tokenType:o}=this.currentRequestConfig,a=this.proxy?.type!=="common"?this.proxy:null,t={"X-GitHub-Api-Version":"2022-11-28",Accept:"application/vnd.github+json"};return new H(e,o,s??null,a,t)}async get(e,s,o){try{let t=await this.createRequest().get(e,s,o);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(a){throw new Error(`GET \u8BF7\u6C42${e}\u5931\u8D25: ${a.message}`)}}async post(e,s,o){try{let t=await this.createRequest().post(e,s,o);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(a){throw new Error(`POST \u8BF7\u6C42${e}\u5931\u8D25: ${a.message}`)}}async patch(e,s=null,o,a){try{let r=await this.createRequest().patch(e,s,o,a);if((r.statusCode===403||r.statusCode===429)&&r.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:r.success,status:r.success?"ok":"error",statusCode:r.statusCode,msg:r.msg,data:r.data}}catch(t){throw new Error(`PATCH \u8BF7\u6C42${e}\u5931\u8D25: ${t.message}`)}}async put(e,s,o){try{let t=await this.createRequest().put(e,s,o);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(a){throw new Error(`PUT \u8BF7\u6C42${e}\u5931\u8D25: ${a.message}`)}}async delete(e,s=null,o,a){try{let r=await this.createRequest().delete(e,s,o,a);if((r.statusCode===403||r.statusCode===429)&&r.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:r.success,status:r.success?"ok":"error",statusCode:r.statusCode,msg:r.msg,data:r.data}}catch(t){throw new Error(`DELETE \u8BF7\u6C42${e}\u5931\u8D25: ${t.message}`)}}};});var dt={};P(dt,{App:()=>_e});var _e,ce=y(()=>{T();k();_e=class extends g{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_app_info(e){let s=e.access_token??this.userToken;if(!e.app_slug)throw new Error(c);if(!s)throw new Error(I);try{this.setRequestConfig({token:s});let o=await this.get(`/apps/${e.app_slug}`);return o.statusCode===200&&(o.data={id:o.data.id,name:o.data.name,client_id:o.data.client_id,slug:o.data.slug,owner:{id:o.data.owner.id,login:o.data.owner.login,name:o.data.owner.name,email:o.data.owner.email,html_url:o.data.owner.html_url,avatar_url:o.data.owner.avatar_url,type:capitalize(o.data.owner.type.toLowerCase())},description:o.data.description,external_url:o.data.external_url,html_url:o.data.html_url,permissions:o.data.permissions,events:o.data.events,created_at:o.data.created_at,updated_at:o.data.updated_at}),o}catch(o){throw new Error(`\u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${o.message}`)}}async get_app_info_by_auth(){try{this.setRequestConfig({url:this.ApiUrl,token:this.jwtToken});let e=await this.get("/app");return e.statusCode===200&&(e.data={id:e.data.id,name:e.data.name,client_id:e.data.client_id,slug:e.data.slug,owner:{id:e.data.owner.id,login:e.data.owner.login,name:e.data.owner.name,email:e.data.owner.email,html_url:e.data.owner.html_url,avatar_url:e.data.owner.avatar_url,type:capitalize(e.data.owner.type.toLowerCase())},description:e.data.description,external_url:e.data.external_url,html_url:e.data.html_url,permissions:e.data.permissions,events:e.data.events,created_at:e.data.created_at,updated_at:e.data.updated_at}),e}catch(e){throw new Error(`\u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${e.message}`)}}async get_app_installation_by_repo(e){let s,o;try{if(this.setRequestConfig({token:this.jwtToken}),"url"in e){let t=e.url.trim(),r=f(t);s=r?.owner,o=r?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(c);let a=await this.get(`/repos/${s}/${o}/installation`);switch(a.statusCode){case 404:throw new Error(C);case 301:throw new Error(Ue)}return a.data&&(a.data={id:a.data.id,html_url:a.data.html_url,app_id:a.data.app_id,app_slug:a.data.app_slug,target_id:a.data.target_id,target_type:a.data.target_type,account:a.data.account?{id:a.data.account.id,login:a.data.account.login,name:a.data.account.name,email:a.data.account.email,html_url:a.data.account.html_url,avatar_url:a.data.account.avatar_url,type:capitalize(a.data.account.type.toLowerCase())}:null,repository_selection:a.data.repository_selection,access_tokens_url:a.data.access_tokens_url,repositories_url:a.data.repositories_url,permissions:a.data.permissions,events:a.data.events,created_at:a.data.created_at,updated_at:a.data.updated_at}),a}catch(a){throw new Error(`\u83B7\u53D6\u5B58\u50A8\u5E93\u5B89\u88C5\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async create_install_link(e){try{let s=new URL(`apps/${await this.get_app_name()}/installations/new`,this.BaseUrl);return s.search=new URLSearchParams({...e&&{state:e}}).toString(),s.toString()}catch(s){throw new Error(`\u751F\u6210\u5E94\u7528\u5B89\u88C5\u94FE\u63A5\u5931\u8D25: ${s.message}`)}}async create_config_install_link(e){try{let s=new URL(`apps/${await this.get_app_name()}/installations/new`,this.BaseUrl);return s.search=new URLSearchParams({...e&&{state:e}}).toString(),s.toString()}catch(s){throw new Error(`\u751F\u6210\u5E94\u7528\u914D\u7F6E\u94FE\u63A5\u5931\u8D25: ${s.message}`)}}async get_app_name(){return (await this.get_app_info_by_auth()).data.name}};});T();Y();X();ce();Z();k();te();re();pe();oe();le();me();k();var he=class{github;constructor(e){if(!e.github)throw new Error("GitHub \u5BA2\u6237\u7AEF\u672A\u914D\u7F6E");this.github=new g(e.github);}},_r={create_state_id:et,formatDate:h,get_relative_time:Xe,get_langage_color:B};var hr=he;export{he as Client,g as GitHubClient,hr as default,_r as utils};
|
1
|
+
import je from'path';import {URL as URL$1,fileURLToPath}from'url';import Ve from'fs';import ct from'color-convert';import O from'dayjs';import gt from'dayjs/plugin/relativeTime.js';import _t from'git-url-parse';import ht from'language-colors';import {v4}from'uuid';import M from'axios';import {HttpProxyAgent}from'http-proxy-agent';import {HttpsProxyAgent}from'https-proxy-agent';import {SocksProxyAgent}from'socks-proxy-agent';import {capitalize}from'lodash-es';import lt from'crypto';import Pt from'jsonwebtoken';var dt=Object.defineProperty;var h=(u,e)=>()=>(u&&(e=u(u=0)),e);var P=(u,e)=>{for(var s in e)dt(u,s,{get:e[s],enumerable:true});};var V,I,we,U,E,fe,be,Te,y,g,Re,N,Ce,A,x,ke,Pe,Y,Ee,d,Ie,ve,Ae,xe,b,R,$e,Me,Le,Ue,S,q,C,Ne,X,$,Se,Q,v,qe=h(()=>{V="\u55B5\u545C~ \u6388\u6743\u7801\u4E0D\u80FD\u4E3A\u7A7A",I="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u4E0D\u80FD\u4E3A\u7A7A",we="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A\u54E6",U="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",E="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",fe="\u55B5\u545C~ \u8BAE\u9898\u6807\u9898\u4E0D\u80FD\u4E3A\u7A7A",be="\u55B5\u545C~ \u7EC4\u7EC7\u540D\u6216\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A",Te="\u55B5\u545C~ \u7EC4\u7EC7\u540D\u4E0D\u80FD\u4E3A\u7A7A",y="\u55B5\u545C~ \u4ED3\u5E93\u62E5\u6709\u8005\u6216\u4ED3\u5E93\u540D\u4E0D\u80FD\u4E3A\u7A7A",g="\u55B5\u545C~ \u53C2\u6570\u597D\u50CF\u4E0D\u592A\u5BF9\u5462",Re="\u55B5\u545C~ \u4EE3\u7406\u5730\u5740\u683C\u5F0F\u4E0D\u6B63\u786E\u54E6",N="\u55B5\u545C~ \u8FD9\u4E2A\u5B50\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",Ce="\u55B5\u545C~ \u7528\u6237ID\u4E0D\u80FD\u4E3A\u7A7A",A="\u55B5\u545C~ \u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A",x="\u55B5\u545C~ \u8FD9\u4E2A\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",ke="\u55B5\u545C~ \u8FD9\u4E2A\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",Pe="\u55B5\u545C~ \u6743\u9650\u4E0D\u6B63\u786E\uFF0C\u8BF7\u68C0\u67E5\u6743\u9650",Y="\u55B5\u545C~ \u8FD9\u4E2A\u5237\u65B0\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",Ee="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5DF2\u8FC7\u671F",d="\u55B5\u545C~ \u8BBF\u95EE\u88AB\u62D2\u7EDD\u5566\uFF0C\u53EF\u80FD\u662F\u4EE4\u724C\u8FC7\u671F\u4E86\u6216\u6743\u9650\u4E0D\u8DB3",Ie="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u5931\u8D25",ve="\u55B5\u545C~ \u7EC4\u7EC7\u8D26\u53F7\u6682\u4E0D\u652F\u6301",Ae="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u4E0D\u5B58\u5728\u54E6",xe="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",b="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u4E0D\u5B58\u5728\u54E6",R="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u4E0D\u5B58\u5728\u54E6",$e="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u5DF2\u88AB\u79FB\u52A8",Me="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u9501\u5B9A\u5931\u8D25\u54E6",Le="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u521B\u5EFA\u5931\u8D25\u54E6",Ue="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u89E3\u9501\u5931\u8D25\u54E6",S="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u4E0D\u5B58\u5728\u54E6",q="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u6216\u7528\u6237\u4E0D\u5B58\u5728\u54E6",C="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",Ne="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u5DF2\u88AB\u79FB\u52A8",X="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u4E0D\u5B58\u5728\u6216\u8BBF\u95EE\u88AB\u62D2\u7EDD\u5566\uFF0C\u53EF\u80FD\u662F\u4EE4\u724C\u8FC7\u671F\u4E86\u6216\u6743\u9650\u4E0D\u8DB3",$="\u55B5\u545C~ \u8FD9\u4E2A\u7528\u6237\u4E0D\u5B58\u5728\u54E6",Se="\u55B5\u545C~ WebHook \u7B7E\u540D\u683C\u5F0F\u4E0D\u6B63\u786E",Q="\u55B5\u545C~ WebHook \u7B7E\u540D\u9A8C\u8BC1\u5931\u8D25",v="\u55B5\u545C~ \u8BBF\u95EE\u901F\u7387\u53D7\u9650\u5566 \u8BF7\u7B49\u5F851\u5C0F\u65F6\u540E\u518D\u8BD5 \u6216 \u4F7F\u7528\u8BBF\u95EE\u4EE4\u724C\u63D0\u5347\u9650\u989D";});var Oe,Be,He,ze,De,We,Ge=h(()=>{Oe="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u6210\u529F",Be="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u6709\u6548",He="\u55B5\u545C~ WebHook \u7B7E\u540D\u6210\u529F",ze="\u55B5\u545C~ \u8BAE\u9898\u9501\u5B9A\u6210\u529F",De="\u55B5\u545C~ \u8BAE\u9898\u89E3\u9501\u6210\u529F",We="\u55B5\u545C~ \u8BAE\u9898\u8BC4\u8BBA\u521B\u5EFA\u6210\u529F";});var Fe,Je,Ke=h(()=>{Fe=fileURLToPath(import.meta.url).replace(/\\/g,"/").replace(/\/$/,""),Je=je.resolve(Fe,"../../").replace(/\\/g,"/").replace(/\/$/,""),je.resolve(Fe,"../").replace(/\\/g,"/").replace(/\/$/,"");});function Ye(u="",e=""){e=e??Je;try{let s=`${e}/${u}`;if(!Ve.existsSync(s))return console.warn(`\u6587\u4EF6\u4E0D\u5B58\u5728: ${s}`),{};let o=Ve.readFileSync(s,"utf8");return JSON.parse(o)}catch(s){return console.error(`\u8BFB\u53D6 JSON \u6587\u4EF6\u5931\u8D25: ${u}`,s),{}}}async function Xe(u="zh-cn"){let e=String(u).toLowerCase();await import(`dayjs/locale/${e}.js`),O.locale(e);}async function w(u,e="zh-cn",s="YYYY-MM-DD HH:mm:ss"){return await Xe(e),O(u).format(s)}async function yt(u,e="zh-cn"){return await Xe(e),O.extend(gt),O(u).fromNow()}function f(u){let e=/^https?:\/\/[^/]+\/(?:https?:\/\/)?([^/]+\/[^/]+\/[^/]+)/,s=u.match(e);if(s){let r=s[1];u=r.startsWith("https")?r:`https://${r}`;}let o=_t(u);return {owner:o.owner,repo:o.name}}function wt(u){if(!Array.isArray(u))throw new Error("RGB\u503C\u5FC5\u987B\u662F\u6570\u7EC4\u7C7B\u578B");if(u.length!==3)throw new Error("RGB\u6570\u7EC4\u5FC5\u987B\u5305\u542B\u4E14\u4EC5\u5305\u542B3\u4E2A\u503C");if(!u.every(e=>Number.isInteger(e)&&e>=0&&e<=255))throw new Error("RGB\u503C\u5FC5\u987B\u90FD\u662F0-255\u4E4B\u95F4\u7684\u6574\u6570");return `#${ct.rgb.hex(u)}`}function Z(u){return u=String(u).toLowerCase(),wt(ht[u].color)??"#cccccc"}async function ft(u,e){return Promise.resolve(Array.from({length:Math.ceil(u.length/e)},(s,o)=>u.slice(o*e,o*e+e)))}async function Qe(u){let e=/data-date="(.*?)" id="contribution-day-component/g,s=/<tool-tip .*?class="sr-only position-absolute">(.*?) contribution/g,o=Array.from(u.matchAll(e),n=>n[1]),r=Array.from(u.matchAll(s),n=>String(n[1]).toLowerCase()==="no"?0:parseInt(n[1]));if(!o.length||!r.length)return {total:0,contributions:[]};let t=o.map((n,i)=>({date:n,count:r[i]})).sort((n,i)=>n.date.localeCompare(i.date)),a=await ft(t,7);return {total:r.reduce((n,i)=>n+i,0),contributions:a}}var ee=h(()=>{Ke();});var te,Ze=h(()=>{ee();te=Ye("package.json");});var T=h(()=>{qe();Ge();ee();Ze();});function re(u,e){let s={github:"api.github.com",gitee:"gitee.com/api/v5",gitcode:"api.gitcode.com/api/v5"};return `https://${e?.replace(/\/$/,"")??""}/${s[u??"github"]}`.replace(/\/$/,"")}function ae(u,e){let s={github:"github.com",gitee:"gitee.com",gitcode:"gitcode.com"};return `https://${e?.replace(/\/$/,"")??""}/${s[u??"github"]}`.replace(/\/$/,"")}async function Tt(){return Promise.resolve(v4().replace(/-/g,""))}var se=h(()=>{});var B,oe=h(()=>{T();B=class{baseUrl;tokenType;authorization;proxy;defaultHeaders;constructor(e,s="Bearer",o,r,t){this.baseUrl=e.replace(/\/$/,""),this.authorization=o,this.proxy=r,this.tokenType=s,this.defaultHeaders=t;}async request(e,s,o,r,t){let a=`${this.baseUrl}/${s}`.replace(/\/+/g,"/"),n={headers:this.createHeaders(t),params:o,validateStatus:()=>true};if(this.proxy){let i=this.proxy.type,l=this.proxy.address;switch(i){case "http":n.httpAgent=new HttpProxyAgent(l),n.httpsAgent=new HttpsProxyAgent(l);break;case "https":n.httpsAgent=new HttpsProxyAgent(l);break;case "socks":{let _=new SocksProxyAgent(l);n.httpAgent=_,n.httpsAgent=_;break}}}try{let i;switch(e){case "get":i=await M.get(a,n);break;case "post":i=await M.post(a,r,n);break;case "patch":i=await M.patch(a,r,n);break;case "put":i=await M.put(a,r,n);break;case "delete":i=await M.delete(a,{...n,data:r});break;default:throw new Error(`\u4E0D\u652F\u6301\u7684\u8BF7\u6C42\u65B9\u6CD5: ${e}`)}let l=Object.fromEntries(Object.entries(i.headers).filter(([_,c])=>c!==void 0).map(([_,c])=>[_.toLowerCase(),c]));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,_=l.response?.headers?Object.fromEntries(Object.entries(l.response.headers).filter(([c,L])=>L!==void 0).map(([c,L])=>[c,L])):{};return {success:false,statusCode:l.response?.status??500,headers:_,msg:l.message??"\u7F51\u7EDC\u8FDE\u63A5\u5931\u8D25",data:null}}}async get(e,s,o){return this.request("get",e,s,null,o)}async post(e,s,o,r){return this.request("post",e,s,o,r)}async patch(e,s=null,o,r){return this.request("patch",e,s,o,r)}async put(e,s,o,r){return this.request("put",e,s,o,r)}async delete(e,s=null,o,r){return this.request("delete",e,s,o,r)}createHeaders(e){let s={"Content-Type":"application/json","User-Agent":`${te.name}/v${te.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 e&&Object.assign(s,e),s}};});var tt={};P(tt,{Auth:()=>H});var H,ne=h(()=>{T();k();H=class extends m{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async create_auth_link(e){try{let s=new URL("/login/oauth/authorize",this.BaseUrl);return s.search=new URLSearchParams({client_id:this.Client_ID,...e&&{state:e}}).toString(),Promise.resolve(s.toString())}catch(s){throw new Error(`\u751F\u6210\u6388\u6743\u94FE\u63A5\u5931\u8D25: ${s.message}`)}}async get_token_by_code(e){try{if(!e.code)throw new Error(V);return this.setRequestConfig({url:this.BaseUrl}),await this.post("login/oauth/access_token",{client_id:this.Client_ID,client_secret:this.Client_Secret,code:e.code},{Accept:"application/json"})}catch(s){throw new Error(`\u8BF7\u6C42\u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${s.message}`)}}async check_token_status(e){try{let s=e?.access_token??this.userToken;if(!s)throw new Error(I);if(!s.startsWith("ghu_"))throw new Error(ke);this.setRequestConfig({url:this.ApiUrl,tokenType:"Basic",token:`${this.Client_ID}:${this.Client_Secret}`});let o=await this.post(`/applications/${this.Client_ID}/token`,{access_token:s});if(o.data){let r=!(o.status==="ok"&&(o.statusCode===404||o.statusCode===422));o.data={success:r,info:r?Be:Ee};}return o}catch(s){throw new Error(`\u8BF7\u6C42\u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u72B6\u6001\u5931\u8D25: ${s.message}`)}}async refresh_token(e){try{if(!e.refresh_token)throw new Error(V);if(!e.refresh_token.startsWith("ghr_"))throw new Error(Y);this.setRequestConfig({url:this.BaseUrl});let s=await this.post("login/oauth/access_token",{client_id:this.Client_ID,client_secret:this.Client_Secret,grant_type:"refresh_token",refresh_token:e.refresh_token},{Accept:"application/json"}),o=s.status==="ok"&&s.statusCode===200&&!s.data.error,r=Ie;switch(s.data.error){case "bad_refresh_token":r=Y;break;case "unauthorized":r=d;break}if(s.data){if(!o)throw new Error(r);s.data={success:o,info:Oe,access_token:s.data.access_token,expires_in:s.data.expires_in??null,refresh_token:s.data.refresh_token??null,refresh_token_expires_in:s.data.refresh_token_expires_in??null,scope:s.data.scope,token_type:s.data.token_type};}return s}catch(s){throw new Error(`\u8BF7\u6C42\u5237\u65B0\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${s.message}`)}}};});var at={};P(at,{Commit:()=>z});var z,ie=h(()=>{T();k();z=class extends m{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_commit_info(e){try{this.setRequestConfig({token:this.userToken});let s,o,r,t;if("url"in e){r=e.url;let i=f(r);s=i?.owner,o=i?.repo;}else if("owner"in e&&"repo"in e)s=e.owner,o=e.repo;else throw new Error(g);e.sha?t=e.sha:t=await(await this.get_repo()).get_repo_default_branch({owner:s,repo:o});let a=await this.get(`/repos/${s}/${o}/commits/${t}`);switch(a.statusCode){case 401:throw new Error(d);case 404:throw new Error(xe);case 422:throw new Error(Ae)}let n=e.format??this.format;if(a.data){let i=a.data?.commit?.message??"",[l,..._]=i.split(`
|
2
|
+
`);a.data={url:a.data.url,sha:a.data.sha,html_url:a.data.html_url,comments_url:a.data.comments_url,commit:{url:a.data.commit.url,author:a.data.commit.author?{id:a.data.commit.author.id,login:a.data.commit.author.login,name:a.data.commit.author.name,avatar_url:a.data.commit.author.avatar_url,email:a.data.commit.author.email,html_url:a.data.commit.author.html_url,type:capitalize(String(a.data.commit.author.type).toLowerCase()),date:n?await w(a.data.commit.author.date):a.data.commit.author.date}:null,committer:a.data.commit.committer?{id:a.data.commit.committer.id,login:a.data.commit.committer.login,name:a.data.commit.committer.name,avatar_url:a.data.commit.committer.avatar_url,email:a.data.commit.committer.email,html_url:a.data.commit.committer.html_url,type:capitalize(String(a.data.commit.committer.type).toLowerCase()),date:n?await w(a.data.commit.committer.date):a.data.commit.committer.date}:null,message:a.data.commit.message,...n&&{title:l,body:_.join(`
|
3
|
+
`)},tree:{url:a.data.commit.tree.url,sha:a.data.commit.tree.sha}},parents:a.data.parents.map(c=>({sha:c.sha,url:c.url})),stats:{additions:a.data.stats.additions,deletions:a.data.stats.deletions,total:a.data.stats.total},files:a.data.files.map(c=>({sha:c.sha,filename:c.filename,status:c.status,additions:c.additions,deletions:c.deletions,changes:c.changes,blob_url:c.blob_url,raw_url:c.raw_url}))};}return a}catch(s){throw new Error(`\u83B7\u53D6\u63D0\u4EA4\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}};});var st={};P(st,{Issue:()=>D});var D,le=h(()=>{T();k();D=class extends m{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_issue_info(e){let s,o;try{if(this.setRequestConfig({token:this.userToken}),"url"in e){let t=e?.url?.trim(),a=f(t);s=a?.owner,o=a?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);let r=await this.get(`/repos/${s}/${o}/issues/${Number(e.issue_number)}`);switch(r.statusCode){case 404:throw new Error(R);case 301:throw new Error($e)}return r.data&&(r.data={id:r.data.id,html_url:r.data.html_url,number:r.data.number,comments:r.data.comments,state:r.data.state,state_reason:r.data.state_reason,title:r.data.title,body:r.data.body,user:r.data.user?{id:r.data.user.id,login:r.data.user.login,name:r.data.user.name,email:r.data.user.email,html_url:r.data.user.html_url,avatar_url:r.data.user.avatar_url,type:capitalize(r.data.user.type.toLowerCase())}:null,labels:r.data.labels?r.data.labels.map(t=>({id:t.id,name:t.name,color:t.color})):null,assignee:r.data.assignee?{id:r.data.assignee.id,login:r.data.assignee.login,name:r.data.assignee.name,email:r.data.assignee.email,html_url:r.data.assignee.html_url,avatar_url:r.data.assignee.avatar_url,type:capitalize(r.data.assignee.type.toLowerCase())}:null,milestone:r.data.milestone?{id:r.data.milestone.id,url:r.data.milestone.url,number:r.data.milestone.number,state:r.data.milestone.state,title:r.data.milestone.title,description:r.data.milestone.description,open_issues:r.data.milestone.open_issues,closed_issues:r.data.milestone.closed_issues,created_at:r.data.milestone.created_at,updated_at:r.data.milestone.updated_at,closed_at:r.data.milestone.closed_at,due_on:r.data.milestone.due_on}:null,closed_at:r.data.closed_at,created_at:r.data.created_at,updated_at:r.data.updated_at}),r}catch(r){throw new Error(`\u83B7\u53D6Issue\u8BE6\u60C5\u5931\u8D25: ${r.message}`)}}async get_repo_issue_list(e){let s,o;try{if(this.setRequestConfig({token:this.userToken}),"url"in e){let i=e?.url?.trim(),l=f(i);s=l?.owner,o=l?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);let{...r}=e,t={};r.milestone&&(t.milestone=r.milestone.toString()),r.state&&(t.state=r.state),r.assignee&&(t.assignee=r.assignee),r.creator&&(t.creator=r.creator),r.labels&&(t.labels=r.labels),r.sort&&(t.sort=r.sort),r.direction&&(t.direction=r.direction),r.since&&(t.since=r.since),r.per_page&&(t.per_page=r.per_page.toString()),r.page&&(t.page=r.page.toString());let a=`/repos/${s}/${o}/issues`,n=await this.get(a,t);if(n.statusCode===401)throw new Error(d);return n.data&&(n.data=n.data.map(i=>({id:i.id,html_url:i.html_url,number:i.number,comments:i.comments,state:i.state,state_reason:i.state_reason,title:i.title,body:i.body,user:i.user?{id:i.user.id,login:i.user.login,name:i.user.name,email:i.user.email,html_url:i.user.html_url,avatar_url:i.user.avatar_url,type:capitalize(i.user.type.toLowerCase())}:null,labels:i.labels?i.labels.map(l=>({id:l.id,name:l.name,color:l.color})):null,assignee:i.assignee?{id:i.assignee.id,login:i.assignee.login,name:i.assignee.name,email:i.assignee.email,html_url:i.assignee.html_url,avatar_url:i.assignee.avatar_url,type:capitalize(i.assignee.type.toLowerCase())}:null,milestone:i.milestone?{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:i.milestone.created_at,updated_at:i.milestone.updated_at,closed_at:i.milestone.closed_at,due_on:i.milestone.due_on}:null,closed_at:i.closed_at,created_at:i.created_at,updated_at:i.updated_at}))),n}catch(r){throw new Error(`\u83B7\u53D6\u4ED3\u5E93${s}/${o}\u7684Issue\u5217\u8868\u5931\u8D25: ${r.message}`)}}async create_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.title)throw new Error(fe);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,...r}=e,t={...r,...r.labels&&{labels:Array.isArray(r.labels)?r.labels:[r.labels]},...r.assignees&&{assignees:Array.isArray(r.assignees)?r.assignees:[r.assignees]}},a=await this.post(`/repos/${s}/${o}/issues`,t);switch(a.statusCode){case 403:throw new Error(d);case 301:throw new Error(C)}return a.data&&a.data&&(a.data={id:a.data.id,html_url:a.data.html_url,number:a.data.number,comments:a.data.comments,state:a.data.state,state_reason:a.data.state_reason,title:a.data.title,body:a.data.body,user:a.data.user?{id:a.data.user.id,login:a.data.user.login,name:a.data.user.name,email:a.data.user.email,html_url:a.data.user.html_url,avatar_url:a.data.user.avatar_url,type:capitalize(a.data.user.type.toLowerCase())}:null,labels:a.data.labels?a.data.labels.map(n=>({id:n.id,name:n.name,color:n.color})):null,assignee:a.data.assignee?{id:a.data.assignee.id,login:a.data.assignee.login,name:a.data.assignee.name,email:a.data.assignee.email,html_url:a.data.assignee.html_url,avatar_url:a.data.assignee.avatar_url,type:capitalize(a.data.assignee.type.toLowerCase())}:null,milestone:a.data.milestone?{id:a.data.milestone.id,url:a.data.milestone.url,number:a.data.milestone.number,state:a.data.milestone.state,title:a.data.milestone.title,description:a.data.milestone.description,open_issues:a.data.milestone.open_issues,closed_issues:a.data.milestone.closed_issues,created_at:a.data.milestone.created_at,updated_at:a.data.milestone.updated_at,closed_at:a.data.milestone.closed_at,due_on:a.data.milestone.due_on}:null,closed_at:a.data.closed_at,created_at:a.data.created_at,updated_at:a.data.updated_at}),a}catch(s){throw new Error(`\u521B\u5EFAIssue\u5931\u8D25: ${s.message}`)}}async update_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r,...t}=e,a={...t,...t.labels&&{labels:Array.isArray(t.labels)?t.labels:[t.labels]},...t.assignees&&{assignees:Array.isArray(t.assignees)?t.assignees:[t.assignees]}},n=await this.patch(`/repos/${s}/${o}/issues/${Number(r)}`,null,a);switch(n.statusCode){case 404:throw new Error(R);case 403:throw new Error(d);case 301:throw new Error(C)}return n.data&&n.data&&(n.data={id:n.data.id,html_url:n.data.html_url,number:n.data.number,comments:n.data.comments,state:n.data.state,state_reason:n.data.state_reason,title:n.data.title,body:n.data.body,user:n.data.user?{id:n.data.user.id,login:n.data.user.login,name:n.data.user.name,email:n.data.user.email,html_url:n.data.user.html_url,avatar_url:n.data.user.avatar_url,type:capitalize(n.data.user.type.toLowerCase())}:null,labels:n.data.labels?n.data.labels.map(i=>({id:i.id,name:i.name,color:i.color})):null,assignee:n.data.assignee?{id:n.data.assignee.id,login:n.data.assignee.login,name:n.data.assignee.name,email:n.data.assignee.email,html_url:n.data.assignee.html_url,avatar_url:n.data.assignee.avatar_url,type:capitalize(n.data.assignee.type.toLowerCase())}:null,milestone:n.data.milestone?{id:n.data.milestone.id,url:n.data.milestone.url,number:n.data.milestone.number,state:n.data.milestone.state,title:n.data.milestone.title,description:n.data.milestone.description,open_issues:n.data.milestone.open_issues,closed_issues:n.data.milestone.closed_issues,created_at:n.data.milestone.created_at,updated_at:n.data.milestone.updated_at,closed_at:n.data.milestone.closed_at,due_on:n.data.milestone.due_on}:null,closed_at:n.data.closed_at,created_at:n.data.created_at,updated_at:n.data.updated_at}),n}catch(s){throw new Error(`\u66F4\u65B0Issue\u5931\u8D25: ${s.message}`)}}async open_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r}=e,t=await this.patch(`/repos/${s}/${o}/issues/${r}`,null,{state:"open"});switch(t.statusCode){case 404:throw new Error(R);case 403:throw new Error(d);case 301:throw new Error(C)}return t.data&&t.data&&(t.data={id:t.data.id,html_url:t.data.html_url,number:t.data.number,comments:t.data.comments,state:t.data.state,state_reason:t.data.state_reason,title:t.data.title,body:t.data.body,user:t.data.user?{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url,type:capitalize(t.data.user.type.toLowerCase())}:null,labels:t.data.labels?t.data.labels.map(a=>({id:a.id,name:a.name,color:a.color})):null,assignee:t.data.assignee?{id:t.data.assignee.id,login:t.data.assignee.login,name:t.data.assignee.name,email:t.data.assignee.email,html_url:t.data.assignee.html_url,avatar_url:t.data.assignee.avatar_url,type:capitalize(t.data.assignee.type.toLowerCase())}:null,milestone:t.data.milestone?{id:t.data.milestone.id,url:t.data.milestone.url,number:t.data.milestone.number,state:t.data.milestone.state,title:t.data.milestone.title,description:t.data.milestone.description,open_issues:t.data.milestone.open_issues,closed_issues:t.data.milestone.closed_issues,created_at:t.data.milestone.created_at,updated_at:t.data.milestone.updated_at,closed_at:t.data.milestone.closed_at,due_on:t.data.milestone.due_on}:null,closed_at:t.data.closed_at,created_at:t.data.created_at,updated_at:t.data.updated_at}),t}catch(s){throw new Error(`\u6253\u5F00Issue\u5931\u8D25: ${s.message}`)}}async reopen_issue(e){return this.open_issue(e)}async close_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r}=e,t=await this.patch(`/repos/${s}/${o}/issues/${r}`,null,{state:"closed"});switch(t.statusCode){case 404:throw new Error(R);case 403:throw new Error(d);case 301:throw new Error(C)}return t.data&&t.data&&(t.data={id:t.data.id,html_url:t.data.html_url,number:t.data.number,comments:t.data.comments,state:t.data.state,state_reason:t.data.state_reason,title:t.data.title,body:t.data.body,user:t.data.user?{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url,type:capitalize(t.data.user.type.toLowerCase())}:null,labels:t.data.labels?t.data.labels.map(a=>({id:a.id,name:a.name,color:a.color})):null,assignee:t.data.assignee?{id:t.data.assignee.id,login:t.data.assignee.login,name:t.data.assignee.name,email:t.data.assignee.email,html_url:t.data.assignee.html_url,avatar_url:t.data.assignee.avatar_url,type:capitalize(t.data.assignee.type.toLowerCase())}:null,milestone:t.data.milestone?{id:t.data.milestone.id,url:t.data.milestone.url,number:t.data.milestone.number,state:t.data.milestone.state,title:t.data.milestone.title,description:t.data.milestone.description,open_issues:t.data.milestone.open_issues,closed_issues:t.data.milestone.closed_issues,created_at:t.data.milestone.created_at,updated_at:t.data.milestone.updated_at,closed_at:t.data.milestone.closed_at,due_on:t.data.milestone.due_on}:null,closed_at:t.data.closed_at,created_at:t.data.created_at,updated_at:t.data.updated_at}),t}catch(s){throw new Error(`\u5173\u95EDIssue\u5931\u8D25: ${s.message}`)}}async lock_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r,lock_reason:t}=e,a=await this.put(`/repos/${s}/${o}/issues/${Number(r)}`,{locked:!0,lock_reason:t});switch(a.statusCode){case 404:throw new Error(R);case 403:throw new Error(d);case 301:throw new Error(C)}let n;return a.statusCode===204?n=ze:n=Me,a.data={info:n},a}catch(s){throw new Error(`\u9501\u5B9AIssue${e.issue_number}\u5931\u8D25: ${s.message}`)}}async unlock_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r}=e,t=await this.delete(`/repos/${s}/${o}/issues/${r}/lock`);switch(t.statusCode){case 404:throw new Error(R);case 403:throw new Error(d);case 301:throw new Error(C)}let a;return t.statusCode===204?a=De:a=Ue,t.data={info:a},t}catch(s){throw new Error(`\u89E3\u9501Issue\u5931\u8D25: ${s.message}`)}}async get_repo_comments_list(e){if(!e.owner||!e.repo)throw new Error(y);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,...r}=e,t={};r.sort&&(t.sort=r.sort),r.sort&&r.direction&&(t.direction=r.direction),r.since&&(t.since=r.since),r.per_page&&(t.per_page=r.per_page.toString()),r.page&&(t.page=r.page.toString());let a=`/repos/${s}/${o}/issues/comments/`,n=await this.get(a,t);if(n.statusCode===404)throw new Error(b);return n.data&&(n.data=n.data.map(i=>({id:i.id,html_url:i.html_url,body:i.body,user:i.user?{id:i.user.id,login:i.user.login,name:i.user.name,email:i.user.email,html_url:i.user.html_url,avatar_url:i.user.avatar_url,type:capitalize(i.user.type.toLowerCase())}:null,created_at:i.created_at,updated_at:i.updated_at}))),n}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${s.message}`)}}async get_issue_comments_list(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r,...t}=e,a={};t.since&&(a.since=t.since),t.per_page&&(a.per_page=t.per_page.toString()),t.page&&(a.page=t.page.toString());let n=`/repos/${s}/${o}/issues/${Number(r)}/comments`,i=await this.get(n,a);if(i.statusCode===404)throw new Error(b);return i.data&&(i.data=i.data.map(l=>({id:l.id,html_url:l.html_url,body:l.body,user:l.user?{id:l.user.id,login:l.user.login,name:l.user.name,email:l.user.email,html_url:l.user.html_url,avatar_url:l.user.avatar_url,type:capitalize(l.user.type.toLowerCase())}:null,created_at:l.created_at,updated_at:l.updated_at}))),i}catch(s){throw new Error(`\u83B7\u53D6\u8BAE\u9898\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${s.message}`)}}async get_issue_comment_info(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.comment_id)throw new Error(U);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,comment_id:r}=e,t=await this.get(`/repos/${s}/${o}/issues/comments/${Number(r)}`);if(t.statusCode===404)throw new Error(b);return t.data&&(t.data={id:t.data.id,html_url:t.data.html_url,body:t.data.body,user:t.data.user?{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url,type:capitalize(t.data.user.type.toLowerCase())}:null,created_at:t.data.created_at,updated_at:t.data.updated_at}),t}catch(s){throw new Error(`\u83B7\u53D6\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}async create_issue_comment(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(b);if(!e.body)throw new Error(we);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r,body:t}=e,a=await this.post(`/repos/${s}/${o}/issues/${Number(r)}/comments`,{body:t});if(a.statusCode===404)throw new Error(b);return a.data&&(a.data={id:a.data.id,html_url:a.data.html_url,body:a.data.body,user:a.data.user?{id:a.data.user.id,login:a.data.user.login,name:a.data.user.name,email:a.data.user.email,html_url:a.data.user.html_url,avatar_url:a.data.user.avatar_url,type:capitalize(a.data.user.type.toLowerCase())}:null,created_at:a.data.created_at,updated_at:a.data.updated_at}),a}catch(s){throw new Error(`\u521B\u5EFA\u8BAE\u9898\u8BC4\u8BBA\u5931\u8D25: ${s.message}`)}}async update_issue_comment(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.comment_id)throw new Error(U);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,comment_id:r,...t}=e,a=await this.patch(`/repos/${s}/${o}/issues/comments/${Number(r)}`,null,t);if(a.statusCode===404)throw new Error(b);return a.data&&(a.data={id:a.data.id,html_url:a.data.html_url,body:a.data.body,user:a.data.user?{id:a.data.user.id,login:a.data.user.login,name:a.data.user.name,email:a.data.user.email,html_url:a.data.user.html_url,avatar_url:a.data.user.avatar_url,type:capitalize(a.data.user.type.toLowerCase())}:null,created_at:a.data.created_at,updated_at:a.data.updated_at}),a}catch(s){throw new Error(`\u66F4\u65B0\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}async remove_issue_comment(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.comment_id)throw new Error(U);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,comment_id:r}=e,t=await this.delete(`/repos/${s}/${o}/issues/comments/${Number(r)}`);if(t.statusCode===404)throw new Error(b);let a;return t.statusCode===204?a=We:a=Le,t.data={info:a},t}catch(s){throw new Error(`\u5220\u9664\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}async delete_issue_comment(e){return this.remove_issue_comment(e)}async get_sub_issue_list(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(b);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r,...t}=e,a={};t.per_page&&(a.per_page=t.per_page.toString()),t.page&&(a.page=t.page.toString());let n=`/repos/${s}/${o}/issues/${Number(r)}/sub_issues`,i=await this.get(n,a);if(i.statusCode===404)throw new Error(R);return i.data&&(i.data=i.data.map(l=>({id:l.id,html_url:l.html_url,number:l.number,comments:l.comments,state:l.state,state_reason:l.state_reason,title:l.title,body:l.body,user:l.user?{id:l.user.id,login:l.user.login,name:l.user.name,email:l.user.email,html_url:l.user.html_url,avatar_url:l.user.avatar_url,type:capitalize(l.user.type.toLowerCase())}:null,labels:l.labels?l.labels.map(_=>({id:_.id,name:_.name,color:_.color})):null,assignee:l.assignee?{id:l.assignee.id,login:l.assignee.login,name:l.assignee.name,email:l.assignee.email,html_url:l.assignee.html_url,avatar_url:l.assignee.avatar_url,type:capitalize(l.assignee.type.toLowerCase())}:null,milestone:l.milestone?{id:l.milestone.id,url:l.milestone.url,number:l.milestone.number,state:l.milestone.state,title:l.milestone.title,description:l.milestone.description,open_issues:l.milestone.open_issues,closed_issues:l.milestone.closed_issues,created_at:l.milestone.created_at,updated_at:l.milestone.updated_at,closed_at:l.milestone.closed_at,due_on:l.milestone.due_on}:null,closed_at:l.closed_at,created_at:l.created_at,updated_at:l.updated_at}))),i}catch(s){throw new Error(`\u83B7\u53D6\u5B50\u8BAE\u9898\u5217\u8868\u5931\u8D25: ${s.message}`)}}async add_sub_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(b);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r,sub_issue_id:t,replace_parent:a}=e,n=await this.post(`/repos/${s}/${o}/issues/${r}/sub_issues`,{sub_issue_id:t,replace_parent:a});if(n.statusCode===404)throw new Error(R);return n.data&&(n.data={id:n.data.id,html_url:n.data.html_url,number:n.data.number,comments:n.data.comments,state:n.data.state,state_reason:n.data.state_reason,title:n.data.title,body:n.data.body,user:n.data.user?{id:n.data.user.id,login:n.data.user.login,name:n.data.user.name,email:n.data.user.email,html_url:n.data.user.html_url,avatar_url:n.data.user.avatar_url,type:capitalize(n.data.user.type.toLowerCase())}:null,labels:n.data.labels?n.data.labels.map(i=>({id:i.id,name:i.name,color:i.color})):null,assignee:n.data.assignee?{id:n.data.assignee.id,login:n.data.assignee.login,name:n.data.assignee.name,email:n.data.assignee.email,html_url:n.data.assignee.html_url,avatar_url:n.data.assignee.avatar_url,type:capitalize(n.data.assignee.type.toLowerCase())}:null,milestone:n.data.milestone?{id:n.data.milestone.id,url:n.data.milestone.url,number:n.data.milestone.number,state:n.data.milestone.state,title:n.data.milestone.title,description:n.data.milestone.description,open_issues:n.data.milestone.open_issues,closed_issues:n.data.milestone.closed_issues,created_at:n.data.milestone.created_at,updated_at:n.data.milestone.updated_at,closed_at:n.data.milestone.closed_at,due_on:n.data.milestone.due_on}:null,closed_at:n.data.closed_at,created_at:n.data.created_at,updated_at:n.data.updated_at}),n}catch(s){throw new Error(`\u6DFB\u52A0\u5B50\u8BAE\u9898\u5931\u8D25: ${s.message}`)}}async remove_sub_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(b);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r,sub_issue_id:t}=e,a=await this.delete(`/repos/${s}/${o}/issues/${r}/sub_issue`,null,{sub_issue_id:t});if(a.statusCode===404)throw new Error(R);return a.data&&(a.data={id:a.data.id,html_url:a.data.html_url,number:a.data.number,comments:a.data.comments,state:a.data.state,state_reason:a.data.state_reason,title:a.data.title,body:a.data.body,user:a.data.user?{id:a.data.user.id,login:a.data.user.login,name:a.data.user.name,email:a.data.user.email,html_url:a.data.user.html_url,avatar_url:a.data.user.avatar_url,type:capitalize(a.data.user.type.toLowerCase())}:null,labels:a.data.labels?a.data.labels.map(n=>({id:n.id,name:n.name,color:n.color})):null,assignee:a.data.assignee?{id:a.data.assignee.id,login:a.data.assignee.login,name:a.data.assignee.name,email:a.data.assignee.email,html_url:a.data.assignee.html_url,avatar_url:a.data.assignee.avatar_url,type:capitalize(a.data.assignee.type.toLowerCase())}:null,milestone:a.data.milestone?{id:a.data.milestone.id,url:a.data.milestone.url,number:a.data.milestone.number,state:a.data.milestone.state,title:a.data.milestone.title,description:a.data.milestone.description,open_issues:a.data.milestone.open_issues,closed_issues:a.data.milestone.closed_issues,created_at:a.data.milestone.created_at,updated_at:a.data.milestone.updated_at,closed_at:a.data.milestone.closed_at,due_on:a.data.milestone.due_on}:null,closed_at:a.data.closed_at,created_at:a.data.created_at,updated_at:a.data.updated_at}),a}catch(s){throw new Error(`\u5220\u9664\u5B50\u8BAE\u9898\u5931\u8D25: ${s.message}`)}}async delete_sub_issue(e){return this.remove_sub_issue(e)}async reprioritize_sub_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(b);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r,sub_issue_id:t,...a}=e,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/${s}/${o}/issues/${r}/sub_issues/priority`,l=await this.patch(i,n,{sub_issue_id:String(t)});if(l.statusCode===404)throw new Error(R);return l.data&&(l.data={id:l.data.id,html_url:l.data.html_url,number:l.data.number,comments:l.data.comments,state:l.data.state,state_reason:l.data.state_reason,title:l.data.title,body:l.data.body,user:l.data.user?{id:l.data.user.id,login:l.data.user.login,name:l.data.user.name,email:l.data.user.email,html_url:l.data.user.html_url,avatar_url:l.data.user.avatar_url,type:capitalize(l.data.user.type.toLowerCase())}:null,labels:l.data.labels?l.data.labels.map(_=>({id:_.id,name:_.name,color:_.color})):null,assignee:l.data.assignee?{id:l.data.assignee.id,login:l.data.assignee.login,name:l.data.assignee.name,email:l.data.assignee.email,html_url:l.data.assignee.html_url,avatar_url:l.data.assignee.avatar_url,type:capitalize(l.data.assignee.type.toLowerCase())}:null,milestone:l.data.milestone?{id:l.data.milestone.id,url:l.data.milestone.url,number:l.data.milestone.number,state:l.data.milestone.state,title:l.data.milestone.title,description:l.data.milestone.description,open_issues:l.data.milestone.open_issues,closed_issues:l.data.milestone.closed_issues,created_at:l.data.milestone.created_at,updated_at:l.data.milestone.updated_at,closed_at:l.data.milestone.closed_at,due_on:l.data.milestone.due_on}:null,closed_at:l.data.closed_at,created_at:l.data.created_at,updated_at:l.data.updated_at}),l}catch(s){throw new Error(`\u91CD\u65B0\u6392\u5E8F\u5B50\u8BAE\u9898\u5931\u8D25: ${s.message}`)}}};});var ot={};P(ot,{Repo:()=>W});var W,ue=h(()=>{T();k();W=class extends m{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_org_repos_list(e){if(!e.org)throw new Error(g);try{this.setRequestConfig({token:this.userToken});let{org:s,...o}=e,r={};o?.type&&(r.type=o.type),o?.sort&&(r.sort=o.sort),o?.direction&&(r.direction=o.direction),o?.per_page&&(r.per_page=o.per_page.toString()),o?.page&&(r.page=o.page.toString());let t=`/orgs/${s}/repos`,a=await this.get(t,r);switch(a.statusCode){case 404:throw new Error(S);case 401:throw new Error(d)}let n=e.format??this.format;return a.data&&(a.data=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:i.owner.name,avatar_url:i.owner.avatar_url,type:i.owner.type,html_url:i.owner.html_url,company:i.owner.company,email:i.owner.email,bio:i.owner.bio,blog:i.owner.blog,followers:i.owner.followers,following:i.owner.following},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,created_at:n?await w(i.created_at):i.created_at,updated_at:n?await w(i.updated_at):i.updated_at,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})))),a}catch(s){throw new Error(`\u83B7\u53D6\u7EC4\u7EC7\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${s.message}`)}}async get_user_repos_list_by_token(e){try{this.setRequestConfig({token:this.userToken});let{...s}=e,o={};!e?.visibility&&!e?.affiliation&&s?.type&&(o.type=s.type),s?.visibility&&(o.visibility=s.visibility),s?.affiliation&&(o.affiliation=s.affiliation),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 t=await this.get("/uses/repos",o);if(t.statusCode===401)throw new Error(d);let a=e?.format??this.format;return t.data&&(t.data=await Promise.all(t.data.map(async n=>({id:n.id,name:n.name,full_name:n.full_name,owner:{id:n.owner.id,login:n.owner.login,name:n.owner.name,avatar_url:n.owner.avatar_url,type:n.owner.type,html_url:n.owner.html_url,company:n.owner.company,email:n.owner.email,bio:n.owner.bio,blog:n.owner.blog,followers:n.owner.followers,following:n.owner.following},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,created_at:a?await w(n.created_at):n.created_at,updated_at:a?await w(n.updated_at):n.updated_at,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})))),t}catch(s){throw new Error(`\u83B7\u53D6\u6388\u6743\u7528\u6237\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${s.message}`)}}async get_user_repos_list(e){try{if(!e.username)throw new Error(A);this.setRequestConfig({token:this.userToken});let{username:s,...o}=e,r={};o?.type&&(r.type=o.type),o?.sort&&(r.sort=o.sort),o?.direction&&(r.direction=o.direction),o?.per_page&&(r.per_page=o.per_page.toString()),o?.page&&(r.page=o.page.toString());let t=e?.format??this.format,a=`/users/${s}/repos`,n=await this.get(a,r);switch(n.statusCode){case 404:throw new Error($);case 401:throw new Error(d)}return n.data&&(n.data=await Promise.all(n.data.map(async i=>({id:i.id,name:i.name,full_name:i.full_name,owner:{id:i.owner.id,login:i.owner.login,name:i.owner.name,avatar_url:i.owner.avatar_url,type:i.owner.type,html_url:i.owner.html_url,company:i.owner.company,email:i.owner.email,bio:i.owner.bio,blog:i.owner.blog,followers:i.owner.followers,following:i.owner.following},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,created_at:t?await w(i.created_at):i.created_at,updated_at:t?await w(i.updated_at):i.updated_at,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})))),n}catch(s){throw new Error(`\u83B7\u53D6\u7528\u6237\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${s.message}`)}}async get_repo_info(e){try{this.setRequestConfig({token:this.userToken});let s,o;if("url"in e){let a=e.url.trim(),n=f(a);s=n?.owner,o=n?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);let r=await this.get(`/repos/${s}/${o}`);switch(r.statusCode){case 401:throw new Error(d);case 404:throw new Error(q)}let t=e?.format??this.format;return r.data&&(r.data={id:r.data.id,name:r.data.name,full_name:r.data.full_name,owner:{id:r.data.owner.id,login:r.data.owner.login,name:r.data.owner.name,avatar_url:r.data.owner.avatar_url,type:r.data.owner.type,html_url:r.data.owner.html_url,company:r.data.owner.company,email:r.data.owner.email,bio:r.data.owner.bio,blog:r.data.owner.blog,followers:r.data.owner.followers,following:r.data.owner.following},public:!r.data.private,private:r.data.private,visibility:r.data.private?"private":"public",fork:r.data.fork,archived:r.data.archived,disabled:r.data.disabled,html_url:r.data.html_url,description:r.data.description,created_at:t?await w(r.data.created_at):r.data.created_at,updated_at:t?await w(r.data.updated_at):r.data.updated_at,stargazers_count:r.data.stargazers_count,watchers_count:r.data.watchers_count,language:r.data.language,forks_count:r.data.forks_count,open_issues_count:r.data.open_issues_count,default_branch:r.data.default_branch}),r}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}async get_repo_languages_list(e){try{this.setRequestConfig({token:this.userToken});let s,o;if("url"in e){let t=e.url.trim(),a=f(t);s=a?.owner,o=a?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);let r=await this.get(`/repos/${s}/${o}/languages`);switch(r.statusCode){case 401:throw new Error(d);case 404:throw new Error(C)}if(r.data){let t=Object.values(r.data).reduce((a,n)=>a+n,0);r.data={languages:await Promise.all(Object.entries(r.data).map(([a,n])=>{let i=String(a).toLowerCase();return {language:a,color:Z(i),percent:Number((n/t*100).toFixed(2)),bytes:n}}))};}return r}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5217\u8868\u5931\u8D25: ${s.message}`)}}async create_org_repo(e){try{let{owner:s,...o}=e,r={...o},t=await this.post(`/orgs/${s}/repos`,r);if(t.statusCode===401)throw new Error(d);let a=e?.format??this.format;return t.data&&(t.data={id:t.data.id,name:t.data.name,full_name:t.data.full_name,owner:{id:t.data.owner.id,login:t.data.owner.login,name:t.data.owner.name,avatar_url:t.data.owner.avatar_url,type:t.data.owner.type,html_url:t.data.owner.html_url,company:t.data.owner.company,email:t.data.owner.email,bio:t.data.owner.bio,blog:t.data.owner.blog,followers:t.data.owner.followers,following:t.data.owner.following},public:!t.data.private,private:t.data.private,visibility:t.data.private?"private":"public",fork:t.data.fork,archived:t.data.archived,disabled:t.data.disabled,html_url:t.data.html_url,description:t.data.description,created_at:a?await w(t.data.created_at):t.data.created_at,updated_at:a?await w(t.data.updated_at):t.data.updated_at,stargazers_count:t.data.stargazers_count,watchers_count:t.data.watchers_count,language:t.data.language,forks_count:t.data.forks_count,open_issues_count:t.data.open_issues_count,default_branch:t.data.default_branch}),t}catch(s){throw new Error(`\u521B\u5EFA\u7EC4\u7EC7\u4ED3\u5E93\u5931\u8D25: ${s.message}`)}}async get_collaborators_list(e){try{this.setRequestConfig({token:this.userToken});let s,o;if("url"in e){let n=e.url.trim(),i=f(n);s=i?.owner,o=i?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);let{...r}=e,t={};r.affiliation&&(t.milestone=r.affiliation.toString()),r.permission&&(t.permission=r.permission.toString()),r.per_page&&(t.per_page=r.per_page.toString()),r.page&&(t.page=r.page.toString());let a=await this.get(`/repos/${s}/${o}/collaborators`,t);return a.data&&(a.data=await Promise.all(a.data.map(n=>({id:n.id,login:n.login,avatar_url:n.avatar_url,email:n.email,name:n.name,permissions:n.permissions,role_name:n.role_name})))),a}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u534F\u4F5C\u8005\u5217\u8868\u5931\u8D25: ${s.message}`)}}async add_collaborator(e){let s,o,r;try{if(this.setRequestConfig({token:this.userToken}),"url"in e){let n=e.url.trim(),i=f(n);s=i?.owner,o=i?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);r=e?.username;let t=await this.put(`/repos/${s}/${o}/collaborators/${r}`,{permission:e.permission??"pull"});if(t.statusCode===404)throw new Error(X);if(t.statusCode===422){let n=t.data.message;if(n&&n.includes("is not a valid permission"))throw new Error(Pe)}let a=e?.format??this.format;return t.data&&(t.data={id:t.data.id,repository:{id:t.data.repository.id,name:t.data.repository.name,full_name:t.data.repository.full_name,owner:{id:t.data.repository.owner.id,login:t.data.repository.owner.login,name:t.data.repository.owner.name,avatar_url:t.data.repository.owner.avatar_url,type:t.data.repository.owner.type,html_url:t.data.repository.owner.html_url,company:t.data.repository.owner.company,email:t.data.repository.owner.email,bio:t.data.repository.owner.bio,blog:t.data.repository.owner.blog,followers:t.data.repository.owner.followers,following:t.data.repository.owner.following},public:!t.data.repository.private,private:t.data.repository.private,visibility:t.data.repository.private?"private":"public",fork:t.data.repository.fork,archived:t.data.repository.archived,disabled:t.data.repository.disabled,html_url:t.data.repository.html_url,description:t.data.repository.description,created_at:a?await w(t.data.repository.created_at):t.data.repository.created_at,updated_at:a?await w(t.data.repository.updated_at):t.data.repository.updated_at,stargazers_count:t.data.repository.stargazers_count,watchers_count:t.data.repository.watchers_count,language:t.data.repository.language,forks_count:t.data.repository.forks_count,open_issues_count:t.data.repository.open_issues_count,default_branch:t.data.repository.default_branch}}),t}catch(t){throw new Error(`\u6DFB\u52A0\u534F\u4F5C\u8005${r}\u5931\u8D25: ${t.message}`)}}async remove_collaborator(e){let s,o,r;try{if(this.setRequestConfig({token:this.userToken}),"url"in e){let a=e.url.trim(),n=f(a);s=n?.owner,o=n?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);r=e?.username;let t=await this.delete(`/repos/${s}/${o}/collaborators/${r}`);if(t.statusCode===404)throw new Error(X);return t.status&&t.statusCode===204?t.data={info:`\u79FB\u9664\u534F\u4F5C\u8005${r}\u6210\u529F`}:t.data={info:`\u79FB\u9664\u534F\u4F5C\u8005${r}\u5931\u8D25`},t}catch(t){throw new Error(`\u79FB\u9664\u534F\u4F5C\u8005${r}\u5931\u8D25: ${t.message}`)}}async delete_collaborator(e){return this.remove_collaborator(e)}async get_repo_visibility(e){try{let s,o;if("url"in e){let r=e.url.trim(),t=f(r);s=t?.owner,o=t?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);return (await this.get_repo_info({owner:s,repo:o})).data.visibility}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u53EF\u89C1\u6027\u5931\u8D25: ${s.message}`)}}async get_repo_default_branch(e){try{let s,o;if("url"in e){let r=e.url.trim(),t=f(r);s=t?.owner,o=t?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);return (await this.get_repo_info({owner:s,repo:o})).data.default_branch}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u9ED8\u8BA4\u5206\u652F\u5931\u8D25: ${s.message}`)}}async get_repo_main_language(e){try{let s,o;if("url"in e){let r=e.url.trim(),t=f(r);s=t?.owner,o=t?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);return (await this.get_repo_info({owner:s,repo:o})).data.language}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5931\u8D25: ${s.message}`)}}};});var nt={};P(nt,{User:()=>G});var G,de=h(()=>{T();k();G=class extends m{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_user_info(e){let s=e.access_token??this.userToken;if(!e.username)throw new Error(be);if(!s?.startsWith("ghu_"))throw new Error(x);try{this.setRequestConfig({token:s});let o=await this.get(`/users/${e.username}`);if(o.statusCode===401)throw new Error(d);if(o.statusCode===404)throw new Error(q);return o.data&&(o.data={id:o.data.id,login:o.data.login,name:o.data.name||null,type:capitalize(o.data.type.toLowerCase()),html_url:o.data.html_url,avatar_url:o.data.avatar_url,company:o.data.company||null,email:o.data.email||null,bio:o.data.bio||null,blog:o.data.blog||null,followers:o.data.followers,following:o.data.following}),o}catch(o){throw new Error(`\u83B7\u53D6\u7528\u6237\u6216\u7EC4\u7EC7\u4FE1\u606F\u5931\u8D25: ${o.message}`)}}async get_user_info_by_user_id(e){let s=e.access_token??this.userToken;if(!e.user_id)throw new Error(Ce);if(!s?.startsWith("ghu_"))throw new Error(x);try{this.setRequestConfig({token:this.userToken});let o=await this.get(`/user/${e.user_id}`);if(o.statusCode===401)throw new Error(d);if(o.statusCode===404)throw new Error($);return o.data&&(o.data={id:o.data.id,login:o.data.login,name:o.data.name||null,type:capitalize(o.data.type.toLowerCase()),html_url:o.data.html_url,avatar_url:o.data.avatar_url,company:o.data.company||null,email:o.data.email||null,bio:o.data.bio||null,blog:o.data.blog||null,followers:o.data.followers,following:o.data.following}),o}catch(o){throw new Error(`\u901A\u8FC7\u7528\u6237id\u83B7\u53D6\u7528\u6237${e.user_id}\u4FE1\u606F\u5931\u8D25: ${o.message}`)}}async get_user_info_by_auth(e){let s=e?.access_token??this.userToken;if(!e||!s)throw new Error(I);try{this.setRequestConfig({token:s});let o=await this.get("/user");switch(o.statusCode){case 401:throw new Error(d);case 404:throw new Error($)}return o.data&&(o.data={id:o.data.id,login:o.data.login,name:o.data.name||null,type:capitalize(o.data.type.toLowerCase()),html_url:o.data.html_url,avatar_url:o.data.avatar_url,company:o.data.company||null,email:o.data.email||null,bio:o.data.bio||null,blog:o.data.blog||null,followers:o.data.followers,following:o.data.following}),o}catch(o){throw new Error(`\u83B7\u53D6\u6388\u6743\u7528\u6237\u4FE1\u606F\u5931\u8D25: ${o.message}`)}}async get_user_info_by_token(e){return this.get_user_info_by_auth(e)}async get_user_contribution(e){try{if(!e.username)throw new Error(A);if((await this.get_user_info({username:e.username})).data.type==="Organization")throw new Error(`${ve}\u83B7\u53D6\u8D21\u732E\u65E5\u5386`);this.setRequestConfig({url:this.BaseUrl});let o=await this.get(`/${e.username}`,{action:"show",controller:"profiles",tab:"contributions",user_id:e.username},{"X-Requested-With":"XMLHttpRequest"});if(o.statusCode===404)throw new Error(A);let r=await Qe(o.data);return {...o,data:r}}catch(s){throw new Error(`\u83B7\u53D6\u7528\u6237${e.username}\u8D21\u732E\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}async get_user_id(){return (await this.get_user_info_by_auth({})).data.id}async get_username(){return (await this.get_user_info_by_auth()).data.login}async get_nickname(){return (await this.get_user_info_by_auth()).data.name}async get_user_email(){return (await this.get_user_info_by_auth()).data.email}async get_avatar_url(){return (await this.get_user_info_by_auth()).data.avatar_url}};});var it={};P(it,{Org:()=>j});var j,me=h(()=>{T();k();j=class extends m{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_org_info(e){if(!e.org)throw new Error(Te);try{this.setRequestConfig({token:this.userToken});let s=await this.get(`/orgs/${e.org}`);if(s.statusCode===404)throw new Error(S);return s.data&&(s.data={id:s.data.id,login:s.data.login,name:s.data.name,avatar_url:s.data.avatar_url,description:s.data.description,html_url:s.data.html_url}),s}catch(s){throw new Error(`\u83B7\u53D6\u7EC4\u7EC7${e.org}\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}};});var ut={};P(ut,{WebHook:()=>F});var F,ce=h(()=>{T();k();F=class extends m{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async check_webhook_signature(e){let s=e.secret??this.WebHook_Secret;if(!s||!e.payload||!e.signature)throw new Error(g);if(!e.signature.startsWith("sha256="))throw new Error(Se);let o=false,r="error",t=400,a=Q,n;try{let i=lt.createHmac("sha256",s),l=typeof e.payload=="string"?e.payload:JSON.stringify(e.payload);i.update(l,"utf8");let _=i.digest("hex"),c=e.signature.replace("sha256=","");lt.timingSafeEqual(Buffer.from(_),Buffer.from(c))?(o=!0,r="ok",t=200,a="\u8BF7\u6C42\u6210\u529F",n={info:He}):(o=!1,r="error",t=403,a="\u8BF7\u6C42\u5931\u8D25",n={info:Q});}catch(i){throw new Error(`\u8BF7\u6C42\u9A8C\u8BC1WebHook\u7B7E\u540D\u5931\u8D25: ${i.message}`)}return Promise.resolve({success:o,status:r,statusCode:t,msg:a,data:n})}};});var J,m,k=h(()=>{T();se();oe();J="github",m=class{BaseUrl;ApiUrl;jwtToken;userToken;format;Private_Key;Client_ID;Client_Secret;WebHook_Secret;currentRequestConfig;proxy;constructor(e){this.Private_Key=e.Private_Key,this.Client_ID=e.Client_ID,this.Client_Secret=e.Client_Secret,this.WebHook_Secret=e.WebHook_Secret,this.jwtToken=this.generate_jwt(),this.BaseUrl=ae(J),this.ApiUrl=re(J),this.userToken=null,this.currentRequestConfig={url:this.ApiUrl,token:null,tokenType:"Bearer"},this.format=e.format??false;}async get_app(){let{App:e}=await Promise.resolve().then(()=>(ge(),pt));return this.app=new e(this),this.app}async get_auth(){let{Auth:e}=await Promise.resolve().then(()=>(ne(),tt));return this.auth=new e(this),this.auth}async get_commit(){let{Commit:e}=await Promise.resolve().then(()=>(ie(),at));return this.commit=new e(this),this.commit}async get_issue(){let{Issue:e}=await Promise.resolve().then(()=>(le(),st));return this.issue=new e(this),this.issue}async get_repo(){let{Repo:e}=await Promise.resolve().then(()=>(ue(),ot));return this.repo=new e(this),this.repo}async get_user(){let{User:e}=await Promise.resolve().then(()=>(de(),nt));return this.user=new e(this),this.user}async get_org(){let{Org:e}=await Promise.resolve().then(()=>(me(),it));return this.org=new e(this),this.org}async get_webhook(){let{WebHook:e}=await Promise.resolve().then(()=>(ce(),ut));return this.webhook=new e(this),this.webhook}setProxy(e){if(e?.address){let s=new URL$1(e.address);if(!["http:","https:","socks:"].includes(s.protocol))throw new Error(Re);e.address=e.address.replace(/\/$/,"");}e?.type==="common"&&(this.BaseUrl=ae(J,e.address),this.ApiUrl=re(J,e.address)),this.proxy=e;}setToken(e){if(!e.startsWith("ghu_"))throw console.log("token \u5FC5\u987B\u4EE5 ghu_ \u5F00\u5934"),this.userToken=null,new Error(x);return this.userToken=e,this}generate_jwt(){let e=this.Private_Key,s={exp:Math.floor(Date.now()/1e3)+10*60,iat:Math.floor(Date.now()/1e3),iss:this.Client_ID};return Pt.sign(s,e,{algorithm:"RS256"})}setRequestConfig(e){e.url&&(this.currentRequestConfig.url=e.url),e.token&&(this.currentRequestConfig.token=e.token),e.tokenType&&(this.currentRequestConfig.tokenType=e.tokenType);}createRequest(){let{url:e,token:s,tokenType:o}=this.currentRequestConfig,r=this.proxy?.type!=="common"?this.proxy:null,t={"X-GitHub-Api-Version":"2022-11-28",Accept:"application/vnd.github+json"};return new B(e,o,s??null,r,t)}async get(e,s,o){try{let t=await this.createRequest().get(e,s,o);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(r){throw new Error(`GET \u8BF7\u6C42${e}\u5931\u8D25: ${r.message}`)}}async post(e,s,o){try{let t=await this.createRequest().post(e,s,o);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(r){throw new Error(`POST \u8BF7\u6C42${e}\u5931\u8D25: ${r.message}`)}}async patch(e,s=null,o,r){try{let a=await this.createRequest().patch(e,s,o,r);if((a.statusCode===403||a.statusCode===429)&&a.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:a.success,status:a.success?"ok":"error",statusCode:a.statusCode,msg:a.msg,data:a.data}}catch(t){throw new Error(`PATCH \u8BF7\u6C42${e}\u5931\u8D25: ${t.message}`)}}async put(e,s,o){try{let t=await this.createRequest().put(e,s,o);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(r){throw new Error(`PUT \u8BF7\u6C42${e}\u5931\u8D25: ${r.message}`)}}async delete(e,s=null,o,r){try{let a=await this.createRequest().delete(e,s,o,r);if((a.statusCode===403||a.statusCode===429)&&a.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:a.success,status:a.success?"ok":"error",statusCode:a.statusCode,msg:a.msg,data:a.data}}catch(t){throw new Error(`DELETE \u8BF7\u6C42${e}\u5931\u8D25: ${t.message}`)}}};});var pt={};P(pt,{App:()=>K});var K,ge=h(()=>{T();k();K=class extends m{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_app_info(e){let s=e.access_token??this.userToken;if(!e.app_slug)throw new Error(g);if(!s)throw new Error(I);try{this.setRequestConfig({token:s});let o=await this.get(`/apps/${e.app_slug}`);return o.statusCode===200&&(o.data={id:o.data.id,name:o.data.name,client_id:o.data.client_id,slug:o.data.slug,owner:{id:o.data.owner.id,login:o.data.owner.login,name:o.data.owner.name,email:o.data.owner.email,html_url:o.data.owner.html_url,avatar_url:o.data.owner.avatar_url,type:capitalize(o.data.owner.type.toLowerCase())},description:o.data.description,external_url:o.data.external_url,html_url:o.data.html_url,permissions:o.data.permissions,events:o.data.events,created_at:o.data.created_at,updated_at:o.data.updated_at}),o}catch(o){throw new Error(`\u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${o.message}`)}}async get_app_info_by_auth(){try{this.setRequestConfig({url:this.ApiUrl,token:this.jwtToken});let e=await this.get("/app");return e.statusCode===200&&(e.data={id:e.data.id,name:e.data.name,client_id:e.data.client_id,slug:e.data.slug,owner:{id:e.data.owner.id,login:e.data.owner.login,name:e.data.owner.name,email:e.data.owner.email,html_url:e.data.owner.html_url,avatar_url:e.data.owner.avatar_url,type:capitalize(e.data.owner.type.toLowerCase())},description:e.data.description,external_url:e.data.external_url,html_url:e.data.html_url,permissions:e.data.permissions,events:e.data.events,created_at:e.data.created_at,updated_at:e.data.updated_at}),e}catch(e){throw new Error(`\u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${e.message}`)}}async get_app_installation_by_repo(e){let s,o;try{if(this.setRequestConfig({token:this.jwtToken}),"url"in e){let t=e.url.trim(),a=f(t);s=a?.owner,o=a?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);let r=await this.get(`/repos/${s}/${o}/installation`);switch(r.statusCode){case 404:throw new Error(C);case 301:throw new Error(Ne)}return r.data&&(r.data={id:r.data.id,html_url:r.data.html_url,app_id:r.data.app_id,app_slug:r.data.app_slug,target_id:r.data.target_id,target_type:r.data.target_type,account:r.data.account?{id:r.data.account.id,login:r.data.account.login,name:r.data.account.name,email:r.data.account.email,html_url:r.data.account.html_url,avatar_url:r.data.account.avatar_url,type:capitalize(r.data.account.type.toLowerCase())}:null,repository_selection:r.data.repository_selection,access_tokens_url:r.data.access_tokens_url,repositories_url:r.data.repositories_url,permissions:r.data.permissions,events:r.data.events,created_at:r.data.created_at,updated_at:r.data.updated_at}),r}catch(r){throw new Error(`\u83B7\u53D6\u5B58\u50A8\u5E93\u5B89\u88C5\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async create_install_link(e){try{let s=new URL(`apps/${await this.get_app_name()}/installations/new`,this.BaseUrl);return s.search=new URLSearchParams({...e&&{state:e}}).toString(),s.toString()}catch(s){throw new Error(`\u751F\u6210\u5E94\u7528\u5B89\u88C5\u94FE\u63A5\u5931\u8D25: ${s.message}`)}}async create_config_install_link(e){try{let s=new URL(`apps/${await this.get_app_name()}/installations/new`,this.BaseUrl);return s.search=new URLSearchParams({...e&&{state:e}}).toString(),s.toString()}catch(s){throw new Error(`\u751F\u6210\u5E94\u7528\u914D\u7F6E\u94FE\u63A5\u5931\u8D25: ${s.message}`)}}async get_app_name(){return (await this.get_app_info_by_auth()).data.name}};});T();se();oe();var he={};P(he,{App:()=>K,Auth:()=>H,Commit:()=>z,GitHubClient:()=>m,Issue:()=>D,Org:()=>j,Repo:()=>W,User:()=>G,WebHook:()=>F});ge();ne();k();ie();le();me();ue();de();ce();var ye=class{github;constructor(e){if(!e.github)throw new Error("GitHub \u5BA2\u6237\u7AEF\u672A\u914D\u7F6E");this.github=new m(e.github);}};var _a=ye;export{ye as Client,m as GitHubClient,Tt as create_state_id,_a as default,w as formatDate,Z as get_langage_color,yt as get_relative_time,he as github};
|
package/dist/index.d.ts
CHANGED
@@ -314,13 +314,13 @@ interface AppRepoInfoResponseType {
|
|
314
314
|
}
|
315
315
|
|
316
316
|
/** Github 授权令牌接口返回类型 */
|
317
|
-
interface
|
317
|
+
interface TokenResponseType {
|
318
318
|
/** 用户访问令牌, 格式为 ghu_ 开头 */
|
319
319
|
access_token: string;
|
320
320
|
/** access_token 过期前的秒数,默认值为 28800(8小时) */
|
321
321
|
expires_in: number | null;
|
322
322
|
/** 刷新令牌,格式为 ghr_ 开头,可能为 null */
|
323
|
-
refresh_token:
|
323
|
+
refresh_token: string | null;
|
324
324
|
/** refresh_token 过期前的秒数,默认值为 15897600(6个月) */
|
325
325
|
refresh_token_expires_in: number | null;
|
326
326
|
/** 令牌范围,默认是空字符串 */
|
@@ -329,7 +329,7 @@ interface GithubOauthTokenResponseType {
|
|
329
329
|
token_type: 'bearer';
|
330
330
|
}
|
331
331
|
/** Github 刷新令牌接口返回类型 */
|
332
|
-
interface
|
332
|
+
interface RefreshTokenResponseType {
|
333
333
|
/** 是否成功刷新 */
|
334
334
|
success: boolean;
|
335
335
|
/** 刷新令牌信息 */
|
@@ -339,7 +339,7 @@ interface GithubOauthRefreshTokenResponseType {
|
|
339
339
|
/** access_token 过期前的秒数,默认值为 28800(8小时) */
|
340
340
|
expires_in: number | null;
|
341
341
|
/** 刷新令牌,格式为 ghr_ 开头,可能为 null */
|
342
|
-
refresh_token:
|
342
|
+
refresh_token: string | null;
|
343
343
|
/** refresh_token 过期前的秒数,默认值为 15897600(6个月),可能为 null */
|
344
344
|
refresh_token_expires_in: number | null;
|
345
345
|
/** 令牌范围,默认是空字符串 */
|
@@ -348,7 +348,7 @@ interface GithubOauthRefreshTokenResponseType {
|
|
348
348
|
token_type: 'bearer';
|
349
349
|
}
|
350
350
|
/** 检查Token状态返回类型 */
|
351
|
-
interface
|
351
|
+
interface CheckTokenResponseType {
|
352
352
|
/** 令牌是否有效 */
|
353
353
|
success: boolean;
|
354
354
|
/** 状态信息 */
|
@@ -1450,7 +1450,7 @@ declare class Auth extends GitHubClient {
|
|
1450
1450
|
* console.log(token) // 输出token对象
|
1451
1451
|
* ```
|
1452
1452
|
*/
|
1453
|
-
get_token_by_code(options: AccessCodeType): Promise<ApiResponseType<
|
1453
|
+
get_token_by_code(options: AccessCodeType): Promise<ApiResponseType<TokenResponseType>>;
|
1454
1454
|
/**
|
1455
1455
|
* 获取 token 的状态
|
1456
1456
|
* @param options - 获取 token 的参数
|
@@ -1463,7 +1463,7 @@ declare class Auth extends GitHubClient {
|
|
1463
1463
|
* const status = await auth.check_token_status({ access_token: 'access_token' })
|
1464
1464
|
* console.log(status) // 输出token状态对象
|
1465
1465
|
*/
|
1466
|
-
check_token_status(options?: AccessTokenType): Promise<ApiResponseType<
|
1466
|
+
check_token_status(options?: AccessTokenType): Promise<ApiResponseType<CheckTokenResponseType>>;
|
1467
1467
|
/**
|
1468
1468
|
* 通过 refresh_token 获取 token
|
1469
1469
|
* @param options - 获取 token 的参数
|
@@ -1475,7 +1475,7 @@ declare class Auth extends GitHubClient {
|
|
1475
1475
|
* console.log(token) // 输出token对象
|
1476
1476
|
* ```
|
1477
1477
|
*/
|
1478
|
-
refresh_token(options: RefreshTokenType): Promise<ApiResponseType<
|
1478
|
+
refresh_token(options: RefreshTokenType): Promise<ApiResponseType<RefreshTokenResponseType>>;
|
1479
1479
|
}
|
1480
1480
|
|
1481
1481
|
/**
|
@@ -2635,15 +2635,32 @@ declare class App extends GitHubClient {
|
|
2635
2635
|
get_app_name(): Promise<string>;
|
2636
2636
|
}
|
2637
2637
|
|
2638
|
+
type index_App = App;
|
2639
|
+
declare const index_App: typeof App;
|
2640
|
+
type index_Auth = Auth;
|
2641
|
+
declare const index_Auth: typeof Auth;
|
2642
|
+
type index_Commit = Commit;
|
2643
|
+
declare const index_Commit: typeof Commit;
|
2644
|
+
type index_GitHubClient = GitHubClient;
|
2645
|
+
declare const index_GitHubClient: typeof GitHubClient;
|
2646
|
+
type index_Issue = Issue;
|
2647
|
+
declare const index_Issue: typeof Issue;
|
2648
|
+
type index_Org = Org;
|
2649
|
+
declare const index_Org: typeof Org;
|
2650
|
+
type index_Repo = Repo;
|
2651
|
+
declare const index_Repo: typeof Repo;
|
2652
|
+
type index_User = User;
|
2653
|
+
declare const index_User: typeof User;
|
2654
|
+
type index_WebHook = WebHook;
|
2655
|
+
declare const index_WebHook: typeof WebHook;
|
2656
|
+
declare namespace index {
|
2657
|
+
export { index_App as App, index_Auth as Auth, index_Commit as Commit, index_GitHubClient as GitHubClient, index_Issue as Issue, index_Org as Org, index_Repo as Repo, index_User as User, index_WebHook as WebHook };
|
2658
|
+
}
|
2659
|
+
|
2660
|
+
/** 基本客户端 */
|
2638
2661
|
declare class Client {
|
2639
2662
|
github: GitHubClient;
|
2640
2663
|
constructor(options: ClientType);
|
2641
2664
|
}
|
2642
|
-
declare const utils: {
|
2643
|
-
create_state_id: typeof create_state_id;
|
2644
|
-
formatDate: typeof formatDate;
|
2645
|
-
get_relative_time: typeof get_relative_time;
|
2646
|
-
get_langage_color: typeof get_langage_color;
|
2647
|
-
};
|
2648
2665
|
|
2649
|
-
export { type AccessCodeType, type AccessTokenType, type AddCollaboratorResponseType, type AddSubIssueParamType, type AddSubIssueResponseType, type ApiResponseType, type ApiType, type AppClientType, type AppInfoParamType, type AppInfoResponseType, type AppOwner, type AppPermissions, type AppRepoInfoResponseType, Client, type ClientType, type CloseIssueParamType, type CloseIssueResponseType, type CodeOfConduct, type CollaboratorInfoResponseType, type CollaboratorListParamType, type CollaboratorListResponseType, type CollaboratorParamType, type Commit$1 as Commit, type CommitInfoBaseParamType, type CommitInfoCommonParamType, type CommitInfoParamType, type CommitInfoResponseType, type CommitInfoUrlParamType, type CommitStats, type CommonProxyType, type ContributionData, type ContributionResult, type CreateIssueResponseType, type CreateReleaseParamType, type CreateReleaseResponseType, type CreteIssueCommentParamType, type CreteIssueCommentResponseType, type CreteIssueParamType, type DeleteReleaseParamType, type DeleteReleaseResponseType, type DiffEntry, GitHubClient, type GitUser, type
|
2666
|
+
export { type AccessCodeType, type AccessTokenType, type AddCollaboratorResponseType, type AddSubIssueParamType, type AddSubIssueResponseType, type ApiResponseType, type ApiType, type AppClientType, type AppInfoParamType, type AppInfoResponseType, type AppOwner, type AppPermissions, type AppRepoInfoResponseType, type CheckTokenResponseType, Client, type ClientType, type CloseIssueParamType, type CloseIssueResponseType, type CodeOfConduct, type CollaboratorInfoResponseType, type CollaboratorListParamType, type CollaboratorListResponseType, type CollaboratorParamType, type Commit$1 as Commit, type CommitInfoBaseParamType, type CommitInfoCommonParamType, type CommitInfoParamType, type CommitInfoResponseType, type CommitInfoUrlParamType, type CommitStats, type CommonProxyType, type ContributionData, type ContributionResult, type CreateIssueResponseType, type CreateReleaseParamType, type CreateReleaseResponseType, type CreteIssueCommentParamType, type CreteIssueCommentResponseType, type CreteIssueParamType, type DeleteReleaseParamType, type DeleteReleaseResponseType, type DiffEntry, GitHubClient, type GitUser, type HttpProxyType, type HttpsProxyType, type IssueCommentInfoParamType, type IssueCommentInfoResponseType, type IssueCommentListParamType, type IssueCommentListResponseType, type IssueIdParamType, type IssueInfoParamType, type IssueInfoResponseType, type IssueLabelType, type IssueListResponseType, type IssueUser, type LanguageInfo, type License, type LockIssueParamType, type LockIssueResponseType, type MergeCommitMessage, type MergeCommitTitle, type MilestoneType, type OpenIssueParamType, type OpenIssueResponseType, type OrgInfoParamType, type OrgInfoResponseType, type OrgRepoCreateParamType, type OrgRepoCreateResponseType, type OrgRepoListParmType, type OrgRepoListType, type OrganizationNameParamType, type ParentCommit, type Permissions, type PkgInfoType, type ProxyParamsType, type ReactionInfoType, type RefreshTokenResponseType, type RefreshTokenType, type ReleaseAssetsType, type ReleaseInfoByTagParamType, type ReleaseInfoByTagResponseType, type ReleaseInfoParamType, type ReleaseInfoResponseType, type ReleaseLatestParamTypeType, type ReleaseLatestResponseType, type ReleaseListParamType, type ReleaseListResponseType, type ReleaseUser, type RemoveCollaboratorParamType, type RemoveCollaboratorResponseType, type RemoveIssueCommentParamType, type RemoveIssueCommentResponseType, type RemoveSubIssueParamType, type RemoveSubIssueResponseType, type RepoBaseParamType, type RepoCommentListParamType, type RepoCommentListResponseType, type RepoDefaultBranchResponseType, type RepoInfoParamType, type RepoInfoResponseType, type RepoIssueListParamType, type RepoLanguagesListParamType, type RepoLanguagesListType, type RepoListBaseParamType, type RepoMainLanguageResponseType, type RepoNameParamType, type RepoOwnerParamType, type RepoParamType, type RepoUrlParamType, type RepoVisibilityResponseType, type ReprioritizeSubIssueParamType, type ReprioritizeSubIssueResponseType, type RequestConfigType, type RequestTokenType, type ResponseHeadersType, type ResponseMsgType, type ResponseStatusCodeType, type ResponseSuccessType, type ResponseType, type ReverseProxyCommonUrlType, type SecurityAnalysisAdvancedSecurity, type SecurityAnalysisDependabotSecurityUpdates, type SecurityAnalysisSecretScanning, type SecurityAnalysisSecretScanningPushProtection, type SecurityAndAnalysis, type ShaParamType, type SocksProxyType, type SquashMergeCommitMessage, type SquashMergeCommitTitle, type SubIssueListParamType, type SubIssueListResponseType, type TokenResponseType, type UnLockIssueParamType, type UnLockIssueResponseType, type UpdateIssueCommentParamType, type UpdateIssueCommentResponseType, type UpdateIssueParamType, type UpdateIssueResponseType, type UpdateReleaseParamType, type UpdateReleaseResponseType, type UserByTokenRepoListParamType, type UserIdParamType, type UserInfoByAuthParamType, type UserInfoByIdParamType, type UserInfoParamType, type UserInfoResponseType, type UserNameParamType, type UserRepoListParamType, type UserRepoListType, type WebHookSignatureParamType, type WebHookSignatureResponseType, create_state_id, Client as default, formatDate, type formatParamType, get_langage_color, get_relative_time, index as github };
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@candriajs/git-neko-kit",
|
3
|
-
"version": "0.6.
|
3
|
+
"version": "0.6.1",
|
4
4
|
"description": "Github, Gitee, GitCode API封装库",
|
5
5
|
"keywords": [
|
6
6
|
"git",
|
@@ -50,7 +50,6 @@
|
|
50
50
|
"test": "tsx test/index.ts"
|
51
51
|
},
|
52
52
|
"dependencies": {
|
53
|
-
"@types/lodash-es": "^4.17.12",
|
54
53
|
"axios": "^1.8.4",
|
55
54
|
"color-convert": "^3.1.0",
|
56
55
|
"dayjs": "^1.11.13",
|