@candriajs/git-neko-kit 0.6.1 → 0.7.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/README.md CHANGED
@@ -12,10 +12,10 @@ API 封装进度:
12
12
 
13
13
  | 功能 | 状态 |
14
14
  |----------------|-----------|
15
- | 设置Toke(仅支持Github apps) | ✅ 已完成 |
15
+ | 设置Toke(仅支持Github apps的用户acess_token) | ✅ 已完成 |
16
16
  | 设置系统代理 | ✅ 已完成 |
17
17
  | 设置通用代理 | ✅ 已完成 |
18
- | 设置反向代理 | 待完成|
18
+ | 设置反向代理 | 已完成 |
19
19
  </details>
20
20
 
21
21
  <details>
@@ -1,3 +1,4 @@
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;
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var Je=require('path'),url=require('url'),Xe=require('fs'),ht=require('color-convert'),q=require('dayjs'),yt=require('dayjs/plugin/relativeTime.js'),wt=require('git-url-parse'),ft=require('language-colors'),uuid=require('uuid'),$=require('axios'),httpProxyAgent=require('http-proxy-agent'),httpsProxyAgent=require('https-proxy-agent'),socksProxyAgent=require('socks-proxy-agent'),lodashEs=require('lodash-es'),dt=require('crypto'),vt=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 Xe__default=/*#__PURE__*/_interopDefault(Xe);var ht__default=/*#__PURE__*/_interopDefault(ht);var q__default=/*#__PURE__*/_interopDefault(q);var yt__default=/*#__PURE__*/_interopDefault(yt);var wt__default=/*#__PURE__*/_interopDefault(wt);var ft__default=/*#__PURE__*/_interopDefault(ft);var $__default=/*#__PURE__*/_interopDefault($);var dt__default=/*#__PURE__*/_interopDefault(dt);var vt__default=/*#__PURE__*/_interopDefault(vt);var gt=Object.defineProperty;var y=(p,e)=>()=>(p&&(e=p(p=0)),e);var k=(p,e)=>{for(var a in e)gt(p,a,{get:e[a],enumerable:true});};var fe,K,I,be,M,P,Te,Re,Ce,d,ke,L,V,N,Pe,v,A,Ie,Ee,Y,ve,m,Ae,xe,$e,Me,Le,f,T,Ne,Ue,Se,qe,U,S,R,Oe,X,x,De,Q,E,Be=y(()=>{fe="\u55B5\u545C~ \u5E94\u7528\u6807\u8BC6\u7B26\u4E0D\u80FD\u4E3A\u7A7A",K="\u55B5\u545C~ \u6388\u6743\u7801\u4E0D\u80FD\u4E3A\u7A7A",I="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u4E0D\u80FD\u4E3A\u7A7A",be="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A\u54E6",M="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",P="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",Te="\u55B5\u545C~ \u8BAE\u9898\u6807\u9898\u4E0D\u80FD\u4E3A\u7A7A",Re="\u55B5\u545C~ \u7EC4\u7EC7\u540D\u6216\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A",Ce="\u55B5\u545C~ \u7EC4\u7EC7\u540D\u4E0D\u80FD\u4E3A\u7A7A",d="\u55B5\u545C~ \u8BF7\u63D0\u4F9B\u4ED3\u5E93\u62E5\u6709\u8005\u548C\u4ED3\u5E93\u540D\u79F0",ke="\u55B5\u545C~ \u8BF7\u63D0\u4F9B\u4ED3\u5E93\u4FE1\u606F(\u4ED3\u5E93\u62E5\u6709\u8005/\u4ED3\u5E93\u540D\u6216\u5B8C\u6574URL)",L="\u55B5\u545C~ \u53C2\u6570\u597D\u50CF\u4E0D\u592A\u5BF9\u5462",V="\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",Pe="\u55B5\u545C~ \u7528\u6237ID\u4E0D\u80FD\u4E3A\u7A7A",v="\u55B5\u545C~ \u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A",A="\u55B5\u545C~ \u8FD9\u4E2A\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",Ie="\u55B5\u545C~ \u8FD9\u4E2A\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",Ee="\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",ve="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5DF2\u8FC7\u671F",m="\u55B5\u545C~ \u8BBF\u95EE\u88AB\u62D2\u7EDD\u5566\uFF0C\u53EF\u80FD\u662F\u4EE4\u724C\u8FC7\u671F\u4E86\u6216\u6743\u9650\u4E0D\u8DB3",Ae="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u5931\u8D25",xe="\u55B5\u545C~ \u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25",$e="\u55B5\u545C~ \u7EC4\u7EC7\u8D26\u53F7\u6682\u4E0D\u652F\u6301",Me="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u4E0D\u5B58\u5728\u54E6",Le="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",f="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u4E0D\u5B58\u5728\u54E6",T="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u4E0D\u5B58\u5728\u54E6",Ne="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u5DF2\u88AB\u79FB\u52A8",Ue="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u9501\u5B9A\u5931\u8D25\u54E6",Se="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u521B\u5EFA\u5931\u8D25\u54E6",qe="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u89E3\u9501\u5931\u8D25\u54E6",U="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u4E0D\u5B58\u5728\u54E6",S="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u6216\u7528\u6237\u4E0D\u5B58\u5728\u54E6",R="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",Oe="\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",x="\u55B5\u545C~ \u8FD9\u4E2A\u7528\u6237\u4E0D\u5B58\u5728\u54E6",De="\u55B5\u545C~ WebHook \u7B7E\u540D\u683C\u5F0F\u4E0D\u6B63\u786E",Q="\u55B5\u545C~ WebHook \u7B7E\u540D\u9A8C\u8BC1\u5931\u8D25",E="\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 He,Z,ze,We,Ge,je,Fe=y(()=>{He="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u6210\u529F",Z="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u6709\u6548",ze="\u55B5\u545C~ WebHook \u7B7E\u540D\u6210\u529F",We="\u55B5\u545C~ \u8BAE\u9898\u9501\u5B9A\u6210\u529F",Ge="\u55B5\u545C~ \u8BAE\u9898\u89E3\u9501\u6210\u529F",je="\u55B5\u545C~ \u8BAE\u9898\u8BC4\u8BBA\u521B\u5EFA\u6210\u529F";});var Ke,Ve,Ye=y(()=>{Ke=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,"/"),Ve=Je__default.default.resolve(Ke,"../../").replace(/\\/g,"/"),Je__default.default.resolve(Ke,"../").replace(/\\/g,"/");});function Qe(p="",e=""){e=e||Ve;try{let a=`${e}/${p}`;if(!Xe__default.default.existsSync(a))return console.warn(`\u6587\u4EF6\u4E0D\u5B58\u5728: ${a}`),{};let r=Xe__default.default.readFileSync(a,"utf8");return JSON.parse(r)}catch(a){return console.error(`\u8BFB\u53D6 JSON \u6587\u4EF6\u5931\u8D25: ${p}`,a),{}}}async function Ze(p="zh-cn"){let e=String(p).toLowerCase();await import(`dayjs/locale/${e}.js`),q__default.default.locale(e);}async function _(p,e="zh-cn",a="YYYY-MM-DD HH:mm:ss"){return await Ze(e),q__default.default(p).format(a)}async function bt(p,e="zh-cn"){return await Ze(e),q__default.default.extend(yt__default.default),q__default.default(p).fromNow()}function et(p){let e=/^https?:\/\/[^/]+\/(?:https?:\/\/)?([^/]+\/[^/]+\/[^/]+)/,a=p.match(e);if(a){let o=a[1];p=o.startsWith("https")?o:`https://${o}`;}let r=wt__default.default(p);return {owner:r.owner,repo:r.name}}function Tt(p){if(!Array.isArray(p))throw new Error("RGB\u503C\u5FC5\u987B\u662F\u6570\u7EC4\u7C7B\u578B");if(p.length!==3)throw new Error("RGB\u6570\u7EC4\u5FC5\u987B\u5305\u542B\u4E14\u4EC5\u5305\u542B3\u4E2A\u503C");if(!p.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 `#${ht__default.default.rgb.hex(p)}`}function ee(p){return p=String(p).toLowerCase(),Tt(ft__default.default[p].color)??"#ededed"}async function Rt(p,e){return Promise.resolve(Array.from({length:Math.ceil(p.length/e)},(a,r)=>p.slice(r*e,r*e+e)))}async function tt(p){let e=/data-date="(.*?)" id="contribution-day-component/g,a=/<tool-tip .*?class="sr-only position-absolute">(.*?) contribution/g,r=Array.from(p.matchAll(e),n=>n[1]),o=Array.from(p.matchAll(a),n=>String(n[1]).toLowerCase()==="no"?0:parseInt(n[1]));if(!r.length||!o.length)return {total:0,contributions:[]};let t=r.map((n,u)=>({date:n,count:o[u]})).sort((n,u)=>n.date.localeCompare(u.date)),s=await Rt(t,7);return {total:o.reduce((n,u)=>n+u,0),contributions:s}}var te=y(()=>{Ye();});var ae,at=y(()=>{te();ae=Qe("package.json");});var b=y(()=>{Be();Fe();te();at();});function se(p="github",e,a="common"){let r={github:"api.github.com",gitee:"gitee.com/api/v5",gitcode:"api.gitcode.com/api/v5"};if(!e)return `https://${r[p??"github"]}`.replace(/\/$/,"");let t=`${e.match(/^(https?):/)?.[1]??"https"}://${e.replace(/^https?:\/\/|\/$/g,"")}`;return a==="common"?t:`${t}/${r[p]}`}function re(p="github",e,a="common"){let r={github:"github.com",gitee:"gitee.com",gitcode:"gitcode.com"};if(!e)return `https://${r[p??"github"]}`.replace(/\/$/,"");let t=`${e.match(/^(https?):/)?.[1]??"https"}://${e.replace(/^https?:\/\/|\/$/g,"")}`;return a==="common"?t:`${t}/${r[p]}`}async function kt(){return Promise.resolve(uuid.v4().replace(/-/g,""))}var oe=y(()=>{});var O,ne=y(()=>{b();O=class{baseUrl;tokenType;authorization;proxy;defaultHeaders;constructor(e,a="Bearer",r,o,t){this.baseUrl=e.replace(/\/$/,""),this.authorization=r,this.proxy=o,this.tokenType=a,this.defaultHeaders=t;}async request(e,a,r,o,t){let s=`${this.baseUrl}/${a}`.replace(/\/+/g,"/"),n={headers:this.createHeaders(t),params:r,validateStatus:()=>true};if(this.proxy){let u=this.proxy.type,i=this.proxy.address;switch(u){case "http":n.httpAgent=new httpProxyAgent.HttpProxyAgent(i),n.httpsAgent=new httpsProxyAgent.HttpsProxyAgent(i);break;case "https":n.httpsAgent=new httpsProxyAgent.HttpsProxyAgent(i);break;case "socks":case "socks5":{let l=new socksProxyAgent.SocksProxyAgent(i);n.httpAgent=l,n.httpsAgent=l;break}}}try{let u;switch(e){case "get":u=await $__default.default.get(s,n);break;case "post":u=await $__default.default.post(s,o,n);break;case "patch":u=await $__default.default.patch(s,o,n);break;case "put":u=await $__default.default.put(s,o,n);break;case "delete":u=await $__default.default.delete(s,{...n,data:o});break;default:throw new Error(`\u4E0D\u652F\u6301\u7684\u8BF7\u6C42\u65B9\u6CD5: ${e}`)}let i=Object.fromEntries(Object.entries(u.headers).filter(([l,h])=>h!==void 0).map(([l,h])=>[l.toLowerCase(),h]));return {success:!0,statusCode:u.status,headers:i,data:u.data,msg:u.status>=200&&u.status<500?"\u8BF7\u6C42\u6210\u529F":"\u8BF7\u6C42\u5F02\u5E38"}}catch(u){let i=u,l=i.response?.headers?Object.fromEntries(Object.entries(i.response.headers).filter(([h,w])=>w!==void 0).map(([h,w])=>[h,w])):{};return {success:false,statusCode:i.response?.status??500,headers:l,msg:i.message??"\u7F51\u7EDC\u8FDE\u63A5\u5931\u8D25",data:null}}}async get(e,a,r){return this.request("get",e,a,null,r)}async post(e,a,r,o){return this.request("post",e,a,r,o)}async patch(e,a=null,r,o){return this.request("patch",e,a,r,o)}async put(e,a,r,o){return this.request("put",e,a,r,o)}async delete(e,a=null,r,o){return this.request("delete",e,a,r,o)}createHeaders(e){let a={"Content-Type":"application/json","User-Agent":`${ae.name}/v${ae.version}`,...this.defaultHeaders??{}};if(this.authorization)if(this.tokenType==="Basic"){let r=Buffer.from(this.authorization).toString("base64");a.Authorization=`Basic ${r}`;}else this.tokenType==="Bearer"?a.Authorization=`Bearer ${this.authorization}`:a.Authorization=`${this.tokenType} ${this.authorization}`;return e&&Object.assign(a,e),a}};});var rt={};k(rt,{Auth:()=>D});var D,ie=y(()=>{b();C();D=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_token_by_code(e){try{if(!e.code)throw new Error(K);this.setRequestConfig({url:this.BaseUrl});let a=await this.post("login/oauth/access_token",{client_id:this.Client_ID,client_secret:this.Client_Secret,code:e.code},{Accept:"application/json"}),r=a.status==="ok"&&a.statusCode===200&&!a.data.error;if(a.data){if(!r)throw new Error(xe);let o={success:r,info:Z,access_token:a.data.access_token,expires_in:a.data.expires_in??null,refresh_token:a.data.refresh_token??null,refresh_token_expires_in:a.data.refresh_token_expires_in??null,scope:a.data.scope,token_type:a.data.token_type};a.data=o;}return a}catch(a){throw new Error(`\u8BF7\u6C42\u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${a.message}`)}}async check_token_status(e){try{let a=e?.access_token??this.userToken;if(!a)throw new Error(I);if(!a.startsWith("ghu_"))throw new Error(Ie);this.setRequestConfig({url:this.ApiUrl,tokenType:"Basic",token:`${this.Client_ID}:${this.Client_Secret}`});let r=await this.post(`/applications/${this.Client_ID}/token`,{access_token:a});if(r.data){let o=!(r.status==="ok"&&(r.statusCode===404||r.statusCode===422));r.data={success:o,info:o?Z:ve};}return r}catch(a){throw new Error(`\u8BF7\u6C42\u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u72B6\u6001\u5931\u8D25: ${a.message}`)}}async refresh_token(e){try{if(!e.refresh_token)throw new Error(K);if(!e.refresh_token.startsWith("ghr_"))throw new Error(Y);this.setRequestConfig({url:this.BaseUrl});let a=await this.post("login/oauth/access_token",{client_id:this.Client_ID,client_secret:this.Client_Secret,grant_type:"refresh_token",refresh_token:e.refresh_token},{Accept:"application/json"}),r=a.status==="ok"&&a.statusCode===200&&!a.data.error,o=Ae;switch(a.data.error){case "bad_refresh_token":o=Y;break;case "unauthorized":o=m;break}if(a.data){if(!r)throw new Error(o);let t={success:r,info:He,access_token:a.data.access_token,expires_in:a.data.expires_in??null,refresh_token:a.data.refresh_token??null,refresh_token_expires_in:a.data.refresh_token_expires_in??null,scope:a.data.scope,token_type:a.data.token_type};a.data=t;}return a}catch(a){throw new Error(`\u8BF7\u6C42\u5237\u65B0\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${a.message}`)}}async create_auth_link(e){try{let a=new URL("/login/oauth/authorize",this.BaseUrl);return a.search=new URLSearchParams({client_id:this.Client_ID,...e&&{state:e}}).toString(),Promise.resolve(a.toString())}catch(a){throw new Error(`\u751F\u6210\u6388\u6743\u94FE\u63A5\u5931\u8D25: ${a.message}`)}}};});var nt={};k(nt,{Commit:()=>B});var B,ue=y(()=>{b();C();B=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_commit_info(e){try{this.setRequestConfig({token:this.userToken});let a,r,o,t;if("url"in e){o=e.url;let u=et(o);a=u?.owner,r=u?.repo;}else if("owner"in e&&"repo"in e)a=e.owner,r=e.repo;else throw new Error(ke);e.sha?t=e.sha:t=await(await this.get_repo()).get_repo_default_branch({owner:a,repo:r});let s=await this.get(`/repos/${a}/${r}/commits/${t}`);switch(s.statusCode){case 401:throw new Error(m);case 404:throw new Error(Le);case 422:throw new Error(Me)}let n=e.format??this.format;if(s.data){let u=s.data?.commit?.message??"",[i,...l]=u.split(`
2
+ `),h={html_url:s.data.html_url,sha:s.data.sha,comments_url:s.data.comments_url,commit:{url:s.data.commit.url,author:{id:s.data.commit.author.id,login:s.data.commit.author.login,name:s.data.commit.author.name,avatar_url:s.data.commit.author.avatar_url,email:s.data.commit.author.email,html_url:s.data.commit.author.html_url,type:lodashEs.capitalize(String(s.data.commit.author.type).toLowerCase()),date:n?await _(s.data.commit.author.date):s.data.commit.author.date},committer:{id:s.data.commit.committer.id,login:s.data.commit.committer.login,name:s.data.commit.committer.name,avatar_url:s.data.commit.committer.avatar_url,email:s.data.commit.committer.email,html_url:s.data.commit.committer.html_url,type:lodashEs.capitalize(String(s.data.commit.committer.type).toLowerCase()),date:n?await _(s.data.commit.committer.date):s.data.commit.committer.date},message:s.data.commit.message,...n&&{title:i,body:l.join(`
3
+ `)},tree:{url:s.data.commit.tree.url,sha:s.data.commit.tree.sha}},parents:s.data.parents.map(w=>({sha:w.sha,url:w.url})),stats:{additions:s.data.stats.additions,deletions:s.data.stats.deletions,total:s.data.stats.total},files:s.data.files.map(w=>({sha:w.sha,filename:w.filename,status:w.status,additions:w.additions,deletions:w.deletions,changes:w.changes,blob_url:w.blob_url,raw_url:w.raw_url}))};s.data=h;}return s}catch(a){throw new Error(`\u83B7\u53D6\u63D0\u4EA4\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}};});var it={};k(it,{Issue:()=>H});var H,le=y(()=>{b();C();H=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_issue_info(e){if(!e.owner||!e.repo)throw new Error(d);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o}=e,t=await this.get(`/repos/${a}/${r}/issues/${Number(o)}`);switch(t.statusCode){case 404:throw new Error(T);case 301:throw new Error(Ne)}if(t.data){let s={id:t.data.id,html_url:t.data.html_url,number:t.data.number,comments:t.data.comments,state:t.data.state,state_reason:t.data.state_reason,title:t.data.title,body:t.data.body,user:{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url,type:lodashEs.capitalize(t.data.user.type.toLowerCase())},labels:t.data.labels?t.data.labels.map(n=>({id:n.id,name:n.name,color:n.color})):null,assignee:t.data.assignee?{id:t.data.assignee.id,login:t.data.assignee.login,name:t.data.assignee.name,email:t.data.assignee.email,html_url:t.data.assignee.html_url,avatar_url:t.data.assignee.avatar_url,type:lodashEs.capitalize(t.data.assignee.type.toLowerCase())}:null,milestone:t.data.milestone?{id:t.data.milestone.id,url:t.data.milestone.url,number:t.data.milestone.number,state:t.data.milestone.state,title:t.data.milestone.title,description:t.data.milestone.description,open_issues:t.data.milestone.open_issues,closed_issues:t.data.milestone.closed_issues,created_at:t.data.milestone.created_at,updated_at:t.data.milestone.updated_at,closed_at:t.data.milestone.closed_at,due_on:t.data.milestone.due_on}:null,closed_at:t.data.closed_at,created_at:t.data.created_at,updated_at:t.data.updated_at};t.data=s;}return t}catch(a){throw new Error(`\u83B7\u53D6Issue\u8BE6\u60C5\u5931\u8D25: ${a.message}`)}}async get_repo_issue_list(e){if(!e.owner||!e.repo)throw new Error(d);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,...o}=e,t={};o.milestone&&(t.milestone=o.milestone.toString()),o.state&&(t.state=o.state),o.assignee&&(t.assignee=o.assignee),o.creator&&(t.creator=o.creator),o.labels&&(t.labels=o.labels),o.sort&&(t.sort=o.sort),o.direction&&(t.direction=o.direction),o.since&&(t.since=o.since),o.per_page&&(t.per_page=o.per_page.toString()),o.page&&(t.page=o.page.toString());let s=`/repos/${a}/${r}/issues`,n=await this.get(s,t);if(n.statusCode===401)throw new Error(m);if(n.data){let u=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.data=u;}return n}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u7684Issue\u5217\u8868\u5931\u8D25: ${a.message}`)}}async create_issue(e){if(!e.owner||!e.repo)throw new Error(d);if(!e.title)throw new Error(Te);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,...o}=e,t={...o,...o.labels&&{labels:Array.isArray(o.labels)?o.labels:[o.labels]},...o.assignees&&{assignees:Array.isArray(o.assignees)?o.assignees:[o.assignees]}},s=await this.post(`/repos/${a}/${r}/issues`,t);switch(s.statusCode){case 403:throw new Error(m);case 301:throw new Error(R)}if(s.data&&s.data){let n={id:s.data.id,html_url:s.data.html_url,number:s.data.number,comments:s.data.comments,state:s.data.state,state_reason:s.data.state_reason,title:s.data.title,body:s.data.body,user:{id:s.data.user.id,login:s.data.user.login,name:s.data.user.name,email:s.data.user.email,html_url:s.data.user.html_url,avatar_url:s.data.user.avatar_url,type:lodashEs.capitalize(s.data.user.type.toLowerCase())},labels:s.data.labels?s.data.labels.map(u=>({id:u.id,name:u.name,color:u.color})):null,assignee:s.data.assignee?{id:s.data.assignee.id,login:s.data.assignee.login,name:s.data.assignee.name,email:s.data.assignee.email,html_url:s.data.assignee.html_url,avatar_url:s.data.assignee.avatar_url,type:lodashEs.capitalize(s.data.assignee.type.toLowerCase())}:null,milestone:s.data.milestone?{id:s.data.milestone.id,url:s.data.milestone.url,number:s.data.milestone.number,state:s.data.milestone.state,title:s.data.milestone.title,description:s.data.milestone.description,open_issues:s.data.milestone.open_issues,closed_issues:s.data.milestone.closed_issues,created_at:s.data.milestone.created_at,updated_at:s.data.milestone.updated_at,closed_at:s.data.milestone.closed_at,due_on:s.data.milestone.due_on}:null,closed_at:s.data.closed_at,created_at:s.data.created_at,updated_at:s.data.updated_at};s.data=n;}return s}catch(a){throw new Error(`\u521B\u5EFAIssue\u5931\u8D25: ${a.message}`)}}async update_issue(e){if(!e.owner||!e.repo)throw new Error(d);if(!e.issue_number)throw new Error(P);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,...t}=e,s={...t,...t.labels&&{labels:Array.isArray(t.labels)?t.labels:[t.labels]},...t.assignees&&{assignees:Array.isArray(t.assignees)?t.assignees:[t.assignees]}},n=await this.patch(`/repos/${a}/${r}/issues/${Number(o)}`,null,s);switch(n.statusCode){case 404:throw new Error(T);case 403:throw new Error(m);case 301:throw new Error(R)}if(n.data&&n.data){let u={id:n.data.id,html_url:n.data.html_url,number:n.data.number,comments:n.data.comments,state:n.data.state,state_reason:n.data.state_reason,title:n.data.title,body:n.data.body,user:{id:n.data.user.id,login:n.data.user.login,name:n.data.user.name,email:n.data.user.email,html_url:n.data.user.html_url,avatar_url:n.data.user.avatar_url,type:lodashEs.capitalize(n.data.user.type.toLowerCase())},labels:n.data.labels?n.data.labels.map(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.data=u;}return n}catch(a){throw new Error(`\u66F4\u65B0Issue\u5931\u8D25: ${a.message}`)}}async open_issue(e){if(!e.owner||!e.repo)throw new Error(d);if(!e.issue_number)throw new Error(P);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o}=e,t=await this.patch(`/repos/${a}/${r}/issues/${o}`,null,{state:"open"});switch(t.statusCode){case 404:throw new Error(T);case 403:throw new Error(m);case 301:throw new Error(R)}if(t.data&&t.data){let s={id:t.data.id,html_url:t.data.html_url,number:t.data.number,comments:t.data.comments,state:t.data.state,state_reason:t.data.state_reason,title:t.data.title,body:t.data.body,user:{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url,type:lodashEs.capitalize(t.data.user.type.toLowerCase())},labels:t.data.labels?t.data.labels.map(n=>({id:n.id,name:n.name,color:n.color})):null,assignee:t.data.assignee?{id:t.data.assignee.id,login:t.data.assignee.login,name:t.data.assignee.name,email:t.data.assignee.email,html_url:t.data.assignee.html_url,avatar_url:t.data.assignee.avatar_url,type:lodashEs.capitalize(t.data.assignee.type.toLowerCase())}:null,milestone:t.data.milestone?{id:t.data.milestone.id,url:t.data.milestone.url,number:t.data.milestone.number,state:t.data.milestone.state,title:t.data.milestone.title,description:t.data.milestone.description,open_issues:t.data.milestone.open_issues,closed_issues:t.data.milestone.closed_issues,created_at:t.data.milestone.created_at,updated_at:t.data.milestone.updated_at,closed_at:t.data.milestone.closed_at,due_on:t.data.milestone.due_on}:null,closed_at:t.data.closed_at,created_at:t.data.created_at,updated_at:t.data.updated_at};t.data=s;}return t}catch(a){throw new Error(`\u6253\u5F00Issue\u5931\u8D25: ${a.message}`)}}async reopen_issue(e){return this.open_issue(e)}async close_issue(e){if(!e.owner||!e.repo)throw new Error(d);if(!e.issue_number)throw new Error(P);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o}=e,t=await this.patch(`/repos/${a}/${r}/issues/${o}`,null,{state:"closed"});switch(t.statusCode){case 404:throw new Error(T);case 403:throw new Error(m);case 301:throw new Error(R)}if(t.data&&t.data){let s={id:t.data.id,html_url:t.data.html_url,number:t.data.number,comments:t.data.comments,state:t.data.state,state_reason:t.data.state_reason,title:t.data.title,body:t.data.body,user:{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url,type:lodashEs.capitalize(t.data.user.type.toLowerCase())},labels:t.data.labels?t.data.labels.map(n=>({id:n.id,name:n.name,color:n.color})):null,assignee:t.data.assignee?{id:t.data.assignee.id,login:t.data.assignee.login,name:t.data.assignee.name,email:t.data.assignee.email,html_url:t.data.assignee.html_url,avatar_url:t.data.assignee.avatar_url,type:lodashEs.capitalize(t.data.assignee.type.toLowerCase())}:null,milestone:t.data.milestone?{id:t.data.milestone.id,url:t.data.milestone.url,number:t.data.milestone.number,state:t.data.milestone.state,title:t.data.milestone.title,description:t.data.milestone.description,open_issues:t.data.milestone.open_issues,closed_issues:t.data.milestone.closed_issues,created_at:t.data.milestone.created_at,updated_at:t.data.milestone.updated_at,closed_at:t.data.milestone.closed_at,due_on:t.data.milestone.due_on}:null,closed_at:t.data.closed_at,created_at:t.data.created_at,updated_at:t.data.updated_at};t.data=s;}return t}catch(a){throw new Error(`\u5173\u95EDIssue\u5931\u8D25: ${a.message}`)}}async lock_issue(e){if(!e.owner||!e.repo)throw new Error(d);if(!e.issue_number)throw new Error(P);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,lock_reason:t}=e,s=await this.put(`/repos/${a}/${r}/issues/${Number(o)}`,{locked:!0,lock_reason:t});switch(s.statusCode){case 404:throw new Error(T);case 403:throw new Error(m);case 301:throw new Error(R)}let n;return s.statusCode===204?n={info:We}:n={info:Ue},s.data=n,s}catch(a){throw new Error(`\u9501\u5B9AIssue${e.issue_number}\u5931\u8D25: ${a.message}`)}}async unlock_issue(e){if(!e.owner||!e.repo)throw new Error(d);if(!e.issue_number)throw new Error(P);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o}=e,t=await this.delete(`/repos/${a}/${r}/issues/${o}/lock`);switch(t.statusCode){case 404:throw new Error(T);case 403:throw new Error(m);case 301:throw new Error(R)}let s;return t.statusCode===204?s={info:Ge}:s={info:qe},t.data=s,t}catch(a){throw new Error(`\u89E3\u9501Issue\u5931\u8D25: ${a.message}`)}}async get_repo_comments_list(e){if(!e.owner||!e.repo)throw new Error(d);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,...o}=e,t={};o.sort&&(t.sort=o.sort),o.sort&&o.direction&&(t.direction=o.direction),o.since&&(t.since=o.since),o.per_page&&(t.per_page=o.per_page.toString()),o.page&&(t.page=o.page.toString());let s=`/repos/${a}/${r}/issues/comments/`,n=await this.get(s,t);if(n.statusCode===404)throw new Error(f);if(n.data){let u=n.data.map(i=>({id:i.id,html_url:i.html_url,body:i.body,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())},created_at:i.created_at,updated_at:i.updated_at}));n.data=u;}return n}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93${e.owner}/${e.repo}\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_issue_comments_list(e){if(!e.owner||!e.repo)throw new Error(d);if(!e.issue_number)throw new Error(P);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,...t}=e,s={};t.since&&(s.since=t.since),t.per_page&&(s.per_page=t.per_page.toString()),t.page&&(s.page=t.page.toString());let n=`/repos/${a}/${r}/issues/${Number(o)}/comments`,u=await this.get(n,s);if(u.statusCode===404)throw new Error(f);if(u.data){let i=u.data.map(l=>({id:l.id,html_url:l.html_url,body:l.body,user:{id:l.user.id,login:l.user.login,name:l.user.name,email:l.user.email,html_url:l.user.html_url,avatar_url:l.user.avatar_url,type:lodashEs.capitalize(l.user.type.toLowerCase())},created_at:l.created_at,updated_at:l.updated_at}));u.data=i;}return u}catch(a){throw new Error(`\u83B7\u53D6\u8BAE\u9898\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_issue_comment_info(e){if(!e.owner||!e.repo)throw new Error(d);if(!e.comment_id)throw new Error(M);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,comment_id:o}=e,t=await this.get(`/repos/${a}/${r}/issues/comments/${Number(o)}`);if(t.statusCode===404)throw new Error(f);if(t.data){let s={id:t.data.id,html_url:t.data.html_url,body:t.data.body,user:{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url,type:lodashEs.capitalize(t.data.user.type.toLowerCase())},created_at:t.data.created_at,updated_at:t.data.updated_at};t.data=s;}return t}catch(a){throw new Error(`\u83B7\u53D6\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async create_issue_comment(e){if(!e.owner||!e.repo)throw new Error(d);if(!e.issue_number)throw new Error(f);if(!e.body)throw new Error(be);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,body:t}=e,s=await this.post(`/repos/${a}/${r}/issues/${Number(o)}/comments`,{body:t});if(s.statusCode===404)throw new Error(f);if(s.data){let n={id:s.data.id,html_url:s.data.html_url,body:s.data.body,user:{id:s.data.user.id,login:s.data.user.login,name:s.data.user.name,email:s.data.user.email,html_url:s.data.user.html_url,avatar_url:s.data.user.avatar_url,type:lodashEs.capitalize(s.data.user.type.toLowerCase())},created_at:s.data.created_at,updated_at:s.data.updated_at};s.data=n;}return s}catch(a){throw new Error(`\u521B\u5EFA\u8BAE\u9898\u8BC4\u8BBA\u5931\u8D25: ${a.message}`)}}async update_issue_comment(e){if(!e.owner||!e.repo)throw new Error(d);if(!e.comment_id)throw new Error(M);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,comment_id:o,...t}=e,s=await this.patch(`/repos/${a}/${r}/issues/comments/${Number(o)}`,null,t);if(s.statusCode===404)throw new Error(f);if(s.data){let n={id:s.data.id,html_url:s.data.html_url,body:s.data.body,user:{id:s.data.user.id,login:s.data.user.login,name:s.data.user.name,email:s.data.user.email,html_url:s.data.user.html_url,avatar_url:s.data.user.avatar_url,type:lodashEs.capitalize(s.data.user.type.toLowerCase())},created_at:s.data.created_at,updated_at:s.data.updated_at};s.data=n;}return s}catch(a){throw new Error(`\u66F4\u65B0\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async remove_issue_comment(e){if(!e.owner||!e.repo)throw new Error(d);if(!e.comment_id)throw new Error(M);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,comment_id:o}=e,t=await this.delete(`/repos/${a}/${r}/issues/comments/${Number(o)}`);if(t.statusCode===404)throw new Error(f);let s;return t.statusCode===204?s={info:je}:s={info:Se},t.data=s,t}catch(a){throw new Error(`\u5220\u9664\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async delete_issue_comment(e){return this.remove_issue_comment(e)}async get_sub_issue_list(e){if(!e.owner||!e.repo)throw new Error(d);if(!e.issue_number)throw new Error(f);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,...t}=e,s={};t.per_page&&(s.per_page=t.per_page.toString()),t.page&&(s.page=t.page.toString());let n=`/repos/${a}/${r}/issues/${Number(o)}/sub_issues`,u=await this.get(n,s);if(u.statusCode===404)throw new Error(T);if(u.data){let i=u.data.map(l=>({id:l.id,html_url:l.html_url,number:l.number,comments:l.comments,state:l.state,state_reason:l.state_reason,title:l.title,body:l.body,user:{id:l.user.id,login:l.user.login,name:l.user.name,email:l.user.email,html_url:l.user.html_url,avatar_url:l.user.avatar_url,type:lodashEs.capitalize(l.user.type.toLowerCase())},labels:l.labels?l.labels.map(h=>({id:h.id,name:h.name,color:h.color})):null,assignee:l.assignee?{id:l.assignee.id,login:l.assignee.login,name:l.assignee.name,email:l.assignee.email,html_url:l.assignee.html_url,avatar_url:l.assignee.avatar_url,type:lodashEs.capitalize(l.assignee.type.toLowerCase())}:null,milestone:l.milestone?{id:l.milestone.id,url:l.milestone.url,number:l.milestone.number,state:l.milestone.state,title:l.milestone.title,description:l.milestone.description,open_issues:l.milestone.open_issues,closed_issues:l.milestone.closed_issues,created_at:l.milestone.created_at,updated_at:l.milestone.updated_at,closed_at:l.milestone.closed_at,due_on:l.milestone.due_on}:null,closed_at:l.closed_at,created_at:l.created_at,updated_at:l.updated_at}));u.data=i;}return u}catch(a){throw new Error(`\u83B7\u53D6\u5B50\u8BAE\u9898\u5217\u8868\u5931\u8D25: ${a.message}`)}}async add_sub_issue(e){if(!e.owner||!e.repo)throw new Error(d);if(!e.issue_number)throw new Error(f);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,sub_issue_id:t,replace_parent:s}=e,n=await this.post(`/repos/${a}/${r}/issues/${o}/sub_issues`,{sub_issue_id:t,replace_parent:s});if(n.statusCode===404)throw new Error(T);if(n.data){let u={id:n.data.id,html_url:n.data.html_url,number:n.data.number,comments:n.data.comments,state:n.data.state,state_reason:n.data.state_reason,title:n.data.title,body:n.data.body,user:{id:n.data.user.id,login:n.data.user.login,name:n.data.user.name,email:n.data.user.email,html_url:n.data.user.html_url,avatar_url:n.data.user.avatar_url,type:lodashEs.capitalize(n.data.user.type.toLowerCase())},labels:n.data.labels?n.data.labels.map(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.data=u;}return n}catch(a){throw new Error(`\u6DFB\u52A0\u5B50\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}async remove_sub_issue(e){if(!e.owner||!e.repo)throw new Error(d);if(!e.issue_number)throw new Error(f);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,sub_issue_id:t}=e,s=await this.delete(`/repos/${a}/${r}/issues/${o}/sub_issue`,null,{sub_issue_id:t});if(s.statusCode===404)throw new Error(T);if(s.data){let n={id:s.data.id,html_url:s.data.html_url,number:s.data.number,comments:s.data.comments,state:s.data.state,state_reason:s.data.state_reason,title:s.data.title,body:s.data.body,user:{id:s.data.user.id,login:s.data.user.login,name:s.data.user.name,email:s.data.user.email,html_url:s.data.user.html_url,avatar_url:s.data.user.avatar_url,type:lodashEs.capitalize(s.data.user.type.toLowerCase())},labels:s.data.labels?s.data.labels.map(u=>({id:u.id,name:u.name,color:u.color})):null,assignee:s.data.assignee?{id:s.data.assignee.id,login:s.data.assignee.login,name:s.data.assignee.name,email:s.data.assignee.email,html_url:s.data.assignee.html_url,avatar_url:s.data.assignee.avatar_url,type:lodashEs.capitalize(s.data.assignee.type.toLowerCase())}:null,milestone:s.data.milestone?{id:s.data.milestone.id,url:s.data.milestone.url,number:s.data.milestone.number,state:s.data.milestone.state,title:s.data.milestone.title,description:s.data.milestone.description,open_issues:s.data.milestone.open_issues,closed_issues:s.data.milestone.closed_issues,created_at:s.data.milestone.created_at,updated_at:s.data.milestone.updated_at,closed_at:s.data.milestone.closed_at,due_on:s.data.milestone.due_on}:null,closed_at:s.data.closed_at,created_at:s.data.created_at,updated_at:s.data.updated_at};s.data=n;}return s}catch(a){throw new Error(`\u5220\u9664\u5B50\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}async delete_sub_issue(e){return this.remove_sub_issue(e)}async reprioritize_sub_issue(e){if(!e.owner||!e.repo)throw new Error(d);if(!e.issue_number)throw new Error(f);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,sub_issue_id:t,...s}=e,n={};s.before_id&&!s.after_id&&(n.before_id=s.before_id.toString()),s.after_id&&!s.before_id&&(n.after_id=s.after_id.toString());let u=`/repos/${a}/${r}/issues/${o}/sub_issues/priority`,i=await this.patch(u,n,{sub_issue_id:String(t)});if(i.statusCode===404)throw new Error(T);if(i.data){let l={id:i.data.id,html_url:i.data.html_url,number:i.data.number,comments:i.data.comments,state:i.data.state,state_reason:i.data.state_reason,title:i.data.title,body:i.data.body,user:{id:i.data.user.id,login:i.data.user.login,name:i.data.user.name,email:i.data.user.email,html_url:i.data.user.html_url,avatar_url:i.data.user.avatar_url,type:lodashEs.capitalize(i.data.user.type.toLowerCase())},labels:i.data.labels?i.data.labels.map(h=>({id:h.id,name:h.name,color:h.color})):null,assignee:i.data.assignee?{id:i.data.assignee.id,login:i.data.assignee.login,name:i.data.assignee.name,email:i.data.assignee.email,html_url:i.data.assignee.html_url,avatar_url:i.data.assignee.avatar_url,type:lodashEs.capitalize(i.data.assignee.type.toLowerCase())}:null,milestone:i.data.milestone?{id:i.data.milestone.id,url:i.data.milestone.url,number:i.data.milestone.number,state:i.data.milestone.state,title:i.data.milestone.title,description:i.data.milestone.description,open_issues:i.data.milestone.open_issues,closed_issues:i.data.milestone.closed_issues,created_at:i.data.milestone.created_at,updated_at:i.data.milestone.updated_at,closed_at:i.data.milestone.closed_at,due_on:i.data.milestone.due_on}:null,closed_at:i.data.closed_at,created_at:i.data.created_at,updated_at:i.data.updated_at};i.data=l;}return i}catch(a){throw new Error(`\u91CD\u65B0\u6392\u5E8F\u5B50\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}};});var ut={};k(ut,{Repo:()=>z});var z,pe=y(()=>{b();C();z=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(L);try{this.setRequestConfig({token:this.userToken});let{org:a,...r}=e,o={};r?.type&&(o.type=r.type),r?.sort&&(o.sort=r.sort),r?.direction&&(o.direction=r.direction),r?.per_page&&(o.per_page=r.per_page.toString()),r?.page&&(o.page=r.page.toString());let t=`/orgs/${a}/repos`,s=await this.get(t,o);switch(s.statusCode){case 404:throw new Error(U);case 401:throw new Error(m)}let n=e.format??this.format;if(s.data){let u=await Promise.all(s.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??null,avatar_url:i.owner.avatar_url,type:i.owner.type,html_url:i.owner.html_url,email:i.owner.email??null},public:!i.private,private:i.private,visibility:i.private?"private":"public",fork:i.fork,archived:i.archived,disabled:i.disabled,html_url:i.html_url,description:i.description,stargazers_count:i.stargazers_count,watchers_count:i.watchers_count,language:i.language,forks_count:i.forks_count,open_issues_count:i.open_issues_count,default_branch:i.default_branch,created_at:n?await _(i.created_at):i.created_at,updated_at:n?await _(i.updated_at):i.updated_at,pushed_at:n?await _(i.pushed_at):i.pushed_at})));s.data=u;}return s}catch(a){throw new Error(`\u83B7\u53D6\u7EC4\u7EC7\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_user_repos_list_by_token(e){try{this.setRequestConfig({token:this.userToken});let{...a}=e,r={};!e?.visibility&&!e?.affiliation&&a?.type&&(r.type=a.type),a?.visibility&&(r.visibility=a.visibility),a?.affiliation&&(r.affiliation=a.affiliation),a?.sort&&(r.sort=a.sort),a?.direction&&(r.direction=a.direction),a?.per_page&&(r.per_page=a.per_page.toString()),a?.page&&(r.page=a.page.toString());let t=await this.get("/uses/repos",r);if(t.statusCode===401)throw new Error(m);let s=e?.format??this.format;if(t.data){let n=await Promise.all(t.data.map(async u=>({id:u.id,name:u.name,full_name:u.full_name,owner:{id:u.owner.id,login:u.owner.login,name:u.owner.name,avatar_url:u.owner.avatar_url,type:u.owner.type,html_url:u.owner.html_url,email:u.owner.email},public:!u.private,private:u.private,visibility:u.private?"private":"public",fork:u.fork,archived:u.archived,disabled:u.disabled,html_url:u.html_url,description:u.description,stargazers_count:u.stargazers_count,watchers_count:u.watchers_count,language:u.language,forks_count:u.forks_count,open_issues_count:u.open_issues_count,default_branch:u.default_branch,created_at:s?await _(u.created_at):u.created_at,updated_at:s?await _(u.updated_at):u.updated_at,pushed_at:s?await _(u.pushed_at):u.pushed_at})));t.data=n;}return t}catch(a){throw new Error(`\u83B7\u53D6\u6388\u6743\u7528\u6237\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_user_repos_list(e){try{if(!e.username)throw new Error(v);this.setRequestConfig({token:this.userToken});let{username:a,...r}=e,o={};r?.type&&(o.type=r.type),r?.sort&&(o.sort=r.sort),r?.direction&&(o.direction=r.direction),r?.per_page&&(o.per_page=r.per_page.toString()),r?.page&&(o.page=r.page.toString());let t=e?.format??this.format,s=`/users/${a}/repos`,n=await this.get(s,o);switch(n.statusCode){case 404:throw new Error(x);case 401:throw new Error(m)}if(n.data){let u=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,email:i.owner.email},public:!i.private,private:i.private,visibility:i.private?"private":"public",fork:i.fork,archived:i.archived,disabled:i.disabled,html_url:i.html_url,description:i.description,stargazers_count:i.stargazers_count,watchers_count:i.watchers_count,language:i.language,forks_count:i.forks_count,open_issues_count:i.open_issues_count,default_branch:i.default_branch,created_at:t?await _(i.created_at):i.created_at,updated_at:t?await _(i.updated_at):i.updated_at,pushed_at:t?await _(i.pushed_at):i.pushed_at})));n.data=u;}return n}catch(a){throw new Error(`\u83B7\u53D6\u7528\u6237\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_repo_info(e){if(!e.owner||!e.repo)throw new Error(d);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r}=e,o=await this.get(`/repos/${a}/${r}`);switch(o.statusCode){case 401:throw new Error(m);case 404:throw new Error(S)}let t=e?.format??this.format;if(o.data){let s={id:o.data.id,name:o.data.name,full_name:o.data.full_name,owner:{id:o.data.owner.id,login:o.data.owner.login,name:o.data.owner.name,avatar_url:o.data.owner.avatar_url,type:o.data.owner.type,html_url:o.data.owner.html_url,email:o.data.owner.email},public:!o.data.private,private:o.data.private,visibility:o.data.private?"private":"public",fork:o.data.fork,archived:o.data.archived,disabled:o.data.disabled,html_url:o.data.html_url,description:o.data.description,stargazers_count:o.data.stargazers_count,watchers_count:o.data.watchers_count,language:o.data.language,forks_count:o.data.forks_count,open_issues_count:o.data.open_issues_count,default_branch:o.data.default_branch,created_at:t?await _(o.data.created_at):o.data.created_at,updated_at:t?await _(o.data.updated_at):o.data.updated_at,pushed_at:t?await _(o.data.pushed_at):o.data.pushed_at};o.data=s;}return o}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async get_repo_languages_list(e){if(!e.owner||!e.repo)throw new Error(d);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r}=e,o=await this.get(`/repos/${a}/${r}/languages`);switch(o.statusCode){case 401:throw new Error(m);case 404:throw new Error(R)}if(o.data){let t=Object.values(o.data).reduce((s,n)=>s+n,0);o.data={languages:await Promise.all(Object.entries(o.data).map(([s,n])=>{let u=String(s).toLowerCase();return {language:s,color:ee(u),percent:Number((n/t*100).toFixed(2)),bytes:n}}))};}return o}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5217\u8868\u5931\u8D25: ${a.message}`)}}async create_org_repo(e){try{let{owner:a,...r}=e,o={...r},t=await this.post(`/orgs/${a}/repos`,o);if(t.statusCode===401)throw new Error(m);let s=e?.format??this.format;if(t.data){let n={id:t.data.id,name:t.data.name,full_name:t.data.full_name,owner:{id:t.data.owner.id,login:t.data.owner.login,name:t.data.owner.name,avatar_url:t.data.owner.avatar_url,type:t.data.owner.type,html_url:t.data.owner.html_url,email:t.data.owner.email},public:!t.data.private,private:t.data.private,visibility:t.data.private?"private":"public",fork:t.data.fork,archived:t.data.archived,disabled:t.data.disabled,html_url:t.data.html_url,description:t.data.description,stargazers_count:t.data.stargazers_count,watchers_count:t.data.watchers_count,language:t.data.language,forks_count:t.data.forks_count,open_issues_count:t.data.open_issues_count,default_branch:t.data.default_branch,created_at:s?await _(t.data.created_at):t.data.created_at,updated_at:s?await _(t.data.updated_at):t.data.updated_at,pushed_at:s?await _(t.data.pushed_at):t.data.pushed_at};t.data=n;}return t}catch(a){throw new Error(`\u521B\u5EFA\u7EC4\u7EC7\u4ED3\u5E93\u5931\u8D25: ${a.message}`)}}async get_collaborators_list(e){if(!e.owner||!e.repo)throw new Error(d);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r}=e,{...o}=e,t={};o.affiliation&&(t.milestone=o.affiliation.toString()),o.permission&&(t.permission=o.permission.toString()),o.per_page&&(t.per_page=o.per_page.toString()),o.page&&(t.page=o.page.toString());let s=await this.get(`/repos/${a}/${r}/collaborators`,t);return s.data&&(s.data=await Promise.all(s.data.map(n=>({id:n.id,login:n.login,avatar_url:n.avatar_url,email:n.email,name:n.name,permissions:n.permissions,role_name:n.role_name})))),s}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u534F\u4F5C\u8005\u5217\u8868\u5931\u8D25: ${a.message}`)}}async add_collaborator(e){if(!e.owner||!e.repo)throw new Error(d);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,username:o}=e,t=await this.put(`/repos/${a}/${r}/collaborators/${o}`,{permission:e.permission??"pull"});if(t.statusCode===404)throw new Error(X);if(t.statusCode===422){let s=t.data.message;if(s&&s.includes("is not a valid permission"))throw new Error(Ee)}if(t.data){let s={id:t.data.inviter.id,login:t.data.inviter.login,name:t.data.inviter.name,avatar_url:t.data.inviter.avatar_url,html_url:t.data.repository.html_url,permissions:t.data.permissions};t.data=s;}return t}catch(a){throw new Error(`\u6DFB\u52A0\u534F\u4F5C\u8005\u5931\u8D25: ${a.message}`)}}async remove_collaborator(e){if(!e.owner||!e.repo)throw new Error(d);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,username:o}=e,t=await this.delete(`/repos/${a}/${r}/collaborators/${o}`);if(t.statusCode===404)throw new Error(X);return t.status&&t.statusCode===204?t.data={info:`\u79FB\u9664\u534F\u4F5C\u8005${o}\u6210\u529F`}:t.data={info:`\u79FB\u9664\u534F\u4F5C\u8005${o}\u5931\u8D25`},t}catch(a){throw new Error(`\u79FB\u9664\u534F\u4F5C\u8005\u5931\u8D25: ${a.message}`)}}async delete_collaborator(e){return this.remove_collaborator(e)}async get_repo_visibility(e){if(!e.owner||!e.repo)throw new Error(d);try{let{owner:a,repo:r}=e;return (await this.get_repo_info({owner:a,repo:r})).data.visibility}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u53EF\u89C1\u6027\u5931\u8D25: ${a.message}`)}}async get_repo_default_branch(e){if(!e.owner||!e.repo)throw new Error(d);try{let{owner:a,repo:r}=e;return (await this.get_repo_info({owner:a,repo:r})).data.default_branch}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u9ED8\u8BA4\u5206\u652F\u5931\u8D25: ${a.message}`)}}async get_repo_main_language(e){if(!e.owner||!e.repo)throw new Error(d);try{let{owner:a,repo:r}=e;return (await this.get_repo_info({owner:a,repo:r})).data.language}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5931\u8D25: ${a.message}`)}}};});var lt={};k(lt,{User:()=>W});var W,ce=y(()=>{b();C();W=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_user_info(e){let a=e.access_token??this.userToken;if(!e.username)throw new Error(Re);if(!a?.startsWith("ghu_"))throw new Error(A);try{this.setRequestConfig({token:a});let r=await this.get(`/users/${e.username}`);if(r.statusCode===401)throw new Error(m);if(r.statusCode===404)throw new Error(S);return r.data&&(r.data={id:r.data.id,login:r.data.login,name:r.data.name||null,type:lodashEs.capitalize(r.data.type.toLowerCase()),html_url:r.data.html_url,avatar_url:r.data.avatar_url,company:r.data.company||null,email:r.data.email||null,bio:r.data.bio||null,blog:r.data.blog||null,followers:r.data.followers,following:r.data.following}),r}catch(r){throw new Error(`\u83B7\u53D6\u7528\u6237\u6216\u7EC4\u7EC7\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_user_info_by_user_id(e){let a=e.access_token??this.userToken;if(!e.user_id)throw new Error(Pe);if(!a?.startsWith("ghu_"))throw new Error(A);try{this.setRequestConfig({token:this.userToken});let r=await this.get(`/user/${e.user_id}`);if(r.statusCode===401)throw new Error(m);if(r.statusCode===404)throw new Error(x);return r.data&&(r.data={id:r.data.id,login:r.data.login,name:r.data.name||null,type:lodashEs.capitalize(r.data.type.toLowerCase()),html_url:r.data.html_url,avatar_url:r.data.avatar_url,company:r.data.company||null,email:r.data.email||null,bio:r.data.bio||null,blog:r.data.blog||null,followers:r.data.followers,following:r.data.following}),r}catch(r){throw new Error(`\u901A\u8FC7\u7528\u6237id\u83B7\u53D6\u7528\u6237\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_user_info_by_auth(e){let a=e?.access_token??this.userToken;if(!e||!a)throw new Error(I);try{this.setRequestConfig({token:a});let r=await this.get("/user");switch(r.statusCode){case 401:throw new Error(m);case 404:throw new Error(x)}return r.data&&(r.data={id:r.data.id,login:r.data.login,name:r.data.name||null,type:lodashEs.capitalize(r.data.type.toLowerCase()),html_url:r.data.html_url,avatar_url:r.data.avatar_url,company:r.data.company||null,email:r.data.email||null,bio:r.data.bio||null,blog:r.data.blog||null,followers:r.data.followers,following:r.data.following}),r}catch(r){throw new Error(`\u83B7\u53D6\u6388\u6743\u7528\u6237\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_user_info_by_token(e){return this.get_user_info_by_auth(e)}async get_user_contribution(e){try{if(!e.username)throw new Error(v);if((await this.get_user_info({username:e.username})).data.type==="Organization")throw new Error(`${$e}\u83B7\u53D6\u8D21\u732E\u65E5\u5386`);this.setRequestConfig({url:this.BaseUrl});let r=await this.get(`/${e.username}`,{action:"show",controller:"profiles",tab:"contributions",user_id:e.username},{"X-Requested-With":"XMLHttpRequest"});if(r.statusCode===404)throw new Error(v);let o=await tt(r.data);return {...r,data:o}}catch(a){throw new Error(`\u83B7\u53D6\u7528\u6237\u8D21\u732E\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async get_user_id(){return (await this.get_user_info_by_auth()).data.id}async get_username(){return (await this.get_user_info_by_auth()).data.login}async get_nickname(){return (await this.get_user_info_by_auth()).data.name}async get_user_email(){return (await this.get_user_info_by_auth()).data.email}async get_avatar_url(){return (await this.get_user_info_by_auth()).data.avatar_url}};});var pt={};k(pt,{Org:()=>G});var G,me=y(()=>{b();C();G=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(Ce);try{this.setRequestConfig({token:this.userToken});let a=await this.get(`/orgs/${e.org}`);if(a.statusCode===404)throw new Error(U);if(a.data){let r={id:a.data.id,login:a.data.login,name:a.data.name,avatar_url:a.data.avatar_url,description:a.data.description,html_url:a.data.html_url};a.data=r;}return a}catch(a){throw new Error(`\u83B7\u53D6\u7EC4\u7EC7\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}};});var ct={};k(ct,{WebHook:()=>j});var j,ge=y(()=>{b();C();j=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async check_webhook_signature(e){let a=e.secret??this.WebHook_Secret;if(!a||!e.payload||!e.signature)throw new Error(L);if(!e.signature.startsWith("sha256="))throw new Error(De);let r=false,o="error",t=400,s=Q,n;try{let u=dt__default.default.createHmac("sha256",a),i=typeof e.payload=="string"?e.payload:JSON.stringify(e.payload);u.update(i,"utf8");let l=u.digest("hex"),h=e.signature.replace("sha256=","");dt__default.default.timingSafeEqual(Buffer.from(l),Buffer.from(h))?(r=!0,o="ok",t=200,s="\u8BF7\u6C42\u6210\u529F",n={info:ze}):(r=!1,o="error",t=403,s="\u8BF7\u6C42\u5931\u8D25",n={info:Q});}catch(u){throw new Error(`\u8BF7\u6C42\u9A8C\u8BC1WebHook\u7B7E\u540D\u5931\u8D25: ${u.message}`)}return Promise.resolve({success:r,status:o,statusCode:t,msg:s,data:n})}};});var F;exports.GitHubClient=void 0;var C=y(()=>{b();oe();ne();F="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=re(F),this.ApiUrl=se(F),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(()=>(_e(),mt));return this.app=new e(this),this.app}async get_auth(){let{Auth:e}=await Promise.resolve().then(()=>(ie(),rt));return this.auth=new e(this),this.auth}async get_commit(){let{Commit:e}=await Promise.resolve().then(()=>(ue(),nt));return this.commit=new e(this),this.commit}async get_issue(){let{Issue:e}=await Promise.resolve().then(()=>(le(),it));return this.issue=new e(this),this.issue}async get_repo(){let{Repo:e}=await Promise.resolve().then(()=>(pe(),ut));return this.repo=new e(this),this.repo}async get_user(){let{User:e}=await Promise.resolve().then(()=>(ce(),lt));return this.user=new e(this),this.user}async get_org(){let{Org:e}=await Promise.resolve().then(()=>(me(),pt));return this.org=new e(this),this.org}async get_webhook(){let{WebHook:e}=await Promise.resolve().then(()=>(ge(),ct));return this.webhook=new e(this),this.webhook}setProxy(e){if(!e?.address){this.proxy=null;return}try{let a=new url.URL(e.address);switch(a.protocol){case "http:":case "https:":case "socks:":case "socks5:":e.address=`${a.protocol}//${a.host}`;break;default:throw new Error(V)}switch(e?.type){case "common":case "reverse":this.BaseUrl=re(F,e.address,e.type),this.ApiUrl=se(F,e.address,e.type);break}this.proxy=e;}catch{throw this.proxy=null,new Error(V)}}setToken(e){if(!e.startsWith("ghu_"))throw this.userToken=null,new Error(A);return this.userToken=e,this}generate_jwt(){let e=this.Private_Key,a={exp:Math.floor(Date.now()/1e3)+10*60,iat:Math.floor(Date.now()/1e3),iss:this.Client_ID};return vt__default.default.sign(a,e,{algorithm:"RS256"})}setRequestConfig(e){e.url&&(this.currentRequestConfig.url=e.url),e.token&&(this.currentRequestConfig.token=e.token),e.tokenType&&(this.currentRequestConfig.tokenType=e.tokenType);}createRequest(){let{url:e,token:a,tokenType:r}=this.currentRequestConfig,o=this.proxy?.type!=="common"?this.proxy:null,t={"X-GitHub-Api-Version":"2022-11-28",Accept:"application/vnd.github+json"};return new O(e,r,a??null,o,t)}async get(e,a,r){try{let t=await this.createRequest().get(e,a,r);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(E);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(o){throw new Error(`GET \u8BF7\u6C42${e}\u5931\u8D25: ${o.message}`)}}async post(e,a,r){try{let t=await this.createRequest().post(e,a,r);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(E);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(o){throw new Error(`POST \u8BF7\u6C42${e}\u5931\u8D25: ${o.message}`)}}async patch(e,a=null,r,o){try{let s=await this.createRequest().patch(e,a,r,o);if((s.statusCode===403||s.statusCode===429)&&s.headers["x-ratelimit-remaining"]==="0")throw new Error(E);return {success:s.success,status:s.success?"ok":"error",statusCode:s.statusCode,msg:s.msg,data:s.data}}catch(t){throw new Error(`PATCH \u8BF7\u6C42${e}\u5931\u8D25: ${t.message}`)}}async put(e,a,r){try{let t=await this.createRequest().put(e,a,r);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(E);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(o){throw new Error(`PUT \u8BF7\u6C42${e}\u5931\u8D25: ${o.message}`)}}async delete(e,a=null,r,o){try{let s=await this.createRequest().delete(e,a,r,o);if((s.statusCode===403||s.statusCode===429)&&s.headers["x-ratelimit-remaining"]==="0")throw new Error(E);return {success:s.success,status:s.success?"ok":"error",statusCode:s.statusCode,msg:s.msg,data:s.data}}catch(t){throw new Error(`DELETE \u8BF7\u6C42${e}\u5931\u8D25: ${t.message}`)}}};});var mt={};k(mt,{App:()=>J});var J,_e=y(()=>{b();C();J=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_app_info(e){let a=e.access_token??this.userToken;if(!e.app_slug)throw new Error(fe);if(!a)throw new Error(I);try{this.setRequestConfig({token:a});let r=await this.get(`/apps/${e.app_slug}`);if(r.statusCode===200){let o={id:r.data.id,name:r.data.name,client_id:r.data.client_id,slug:r.data.slug,owner:{id:r.data.owner.id,login:r.data.owner.login,name:r.data.owner.name,email:r.data.owner.email,html_url:r.data.owner.html_url,avatar_url:r.data.owner.avatar_url,type:lodashEs.capitalize(r.data.owner.type.toLowerCase())},description:r.data.description,external_url:r.data.external_url,html_url:r.data.html_url,permissions:r.data.permissions,events:r.data.events,created_at:r.data.created_at,updated_at:r.data.updated_at};r.data=o;}return r}catch(r){throw new Error(`\u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_app_info_by_auth(){try{this.setRequestConfig({url:this.ApiUrl,token:this.jwtToken});let e=await this.get("/app");if(e.statusCode===200){let a={id:e.data.id,name:e.data.name,client_id:e.data.client_id,slug:e.data.slug,owner:{id:e.data.owner.id,login:e.data.owner.login,name:e.data.owner.name,email:e.data.owner.email,html_url:e.data.owner.html_url,avatar_url:e.data.owner.avatar_url,type:lodashEs.capitalize(e.data.owner.type.toLowerCase())},description:e.data.description,external_url:e.data.external_url,html_url:e.data.html_url,permissions:e.data.permissions,events:e.data.events,created_at:e.data.created_at,updated_at:e.data.updated_at};e.data=a;}return e}catch(e){throw new Error(`\u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${e.message}`)}}async get_app_installation_by_repo(e){if(!e.owner||!e.repo)throw new Error(d);try{this.setRequestConfig({token:this.jwtToken});let{owner:a,repo:r}=e,o=await this.get(`/repos/${a}/${r}/installation`);switch(o.statusCode){case 404:throw new Error(R);case 301:throw new Error(Oe)}if(o.data){let t={id:o.data.id,html_url:o.data.html_url,app_id:o.data.app_id,app_slug:o.data.app_slug,target_id:o.data.target_id,target_type:o.data.target_type,account:{id:o.data.account.id,login:o.data.account.login,name:o.data.account.name,email:o.data.account.email,html_url:o.data.account.html_url,avatar_url:o.data.account.avatar_url,type:lodashEs.capitalize(o.data.account.type.toLowerCase())},repository_selection:o.data.repository_selection,access_tokens_url:o.data.access_tokens_url,repositories_url:o.data.repositories_url,permissions:o.data.permissions,events:o.data.events,created_at:o.data.created_at,updated_at:o.data.updated_at};o.data=t;}return o}catch(a){throw new Error(`\u83B7\u53D6\u5B58\u50A8\u5E93\u5B89\u88C5\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async create_install_link(e){try{let a=new URL(`apps/${await this.get_app_name()}/installations/new`,this.BaseUrl);return a.search=new URLSearchParams({...e&&{state:e}}).toString(),a.toString()}catch(a){throw new Error(`\u751F\u6210\u5E94\u7528\u5B89\u88C5\u94FE\u63A5\u5931\u8D25: ${a.message}`)}}async create_config_install_link(e){try{let a=new URL(`apps/${await this.get_app_name()}/installations/new`,this.BaseUrl);return a.search=new URLSearchParams({...e&&{state:e}}).toString(),a.toString()}catch(a){throw new Error(`\u751F\u6210\u5E94\u7528\u914D\u7F6E\u94FE\u63A5\u5931\u8D25: ${a.message}`)}}async get_app_name(){return (await this.get_app_info_by_auth()).data.name}};});b();oe();ne();var ye={};k(ye,{App:()=>J,Auth:()=>D,Commit:()=>B,GitHubClient:()=>exports.GitHubClient,Issue:()=>H,Org:()=>G,Repo:()=>z,User:()=>W,WebHook:()=>j});_e();ie();C();ue();le();me();pe();ce();ge();var we=class{github;constructor(e){if(!e.github)throw new Error("GitHub \u5BA2\u6237\u7AEF\u672A\u914D\u7F6E");this.github=new exports.GitHubClient(e.github);}};var bs=we;
4
+ exports.Client=we;exports.create_state_id=kt;exports.default=bs;exports.formatDate=_;exports.get_langage_color=ee;exports.get_relative_time=bt;exports.github=ye;
package/dist/cjs/root.cjs CHANGED
@@ -1 +1 @@
1
- 'use strict';var e=require('path'),url=require('url');var _documentCurrentScript=typeof document!=='undefined'?document.currentScript:null;function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var e__default=/*#__PURE__*/_interopDefault(e);var r=url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('root.cjs', document.baseURI).href))).replace(/\\/g,"/").replace(/\/$/,""),p=e__default.default.resolve(r,"../../").replace(/\\/g,"/").replace(/\/$/,""),l=e__default.default.resolve(r,"../").replace(/\\/g,"/").replace(/\/$/,"");exports.basePath=p;exports.dirPath=l;
1
+ 'use strict';var e=require('path'),url=require('url');var _documentCurrentScript=typeof document!=='undefined'?document.currentScript:null;function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var e__default=/*#__PURE__*/_interopDefault(e);var r=url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('root.cjs', document.baseURI).href))).replace(/\\/g,"/"),p=e__default.default.resolve(r,"../../").replace(/\\/g,"/"),l=e__default.default.resolve(r,"../").replace(/\\/g,"/");exports.basePath=p;exports.dirPath=l;
@@ -1,3 +1,4 @@
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};
1
+ import Je from'path';import {URL as URL$1,fileURLToPath}from'url';import Xe from'fs';import ht from'color-convert';import q from'dayjs';import yt from'dayjs/plugin/relativeTime.js';import wt from'git-url-parse';import ft from'language-colors';import {v4}from'uuid';import $ 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 dt from'crypto';import vt from'jsonwebtoken';var gt=Object.defineProperty;var y=(p,e)=>()=>(p&&(e=p(p=0)),e);var k=(p,e)=>{for(var a in e)gt(p,a,{get:e[a],enumerable:true});};var fe,K,I,be,M,P,Te,Re,Ce,d,ke,L,V,N,Pe,v,A,Ie,Ee,Y,ve,m,Ae,xe,$e,Me,Le,f,T,Ne,Ue,Se,qe,U,S,R,Oe,X,x,De,Q,E,Be=y(()=>{fe="\u55B5\u545C~ \u5E94\u7528\u6807\u8BC6\u7B26\u4E0D\u80FD\u4E3A\u7A7A",K="\u55B5\u545C~ \u6388\u6743\u7801\u4E0D\u80FD\u4E3A\u7A7A",I="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u4E0D\u80FD\u4E3A\u7A7A",be="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A\u54E6",M="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",P="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",Te="\u55B5\u545C~ \u8BAE\u9898\u6807\u9898\u4E0D\u80FD\u4E3A\u7A7A",Re="\u55B5\u545C~ \u7EC4\u7EC7\u540D\u6216\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A",Ce="\u55B5\u545C~ \u7EC4\u7EC7\u540D\u4E0D\u80FD\u4E3A\u7A7A",d="\u55B5\u545C~ \u8BF7\u63D0\u4F9B\u4ED3\u5E93\u62E5\u6709\u8005\u548C\u4ED3\u5E93\u540D\u79F0",ke="\u55B5\u545C~ \u8BF7\u63D0\u4F9B\u4ED3\u5E93\u4FE1\u606F(\u4ED3\u5E93\u62E5\u6709\u8005/\u4ED3\u5E93\u540D\u6216\u5B8C\u6574URL)",L="\u55B5\u545C~ \u53C2\u6570\u597D\u50CF\u4E0D\u592A\u5BF9\u5462",V="\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",Pe="\u55B5\u545C~ \u7528\u6237ID\u4E0D\u80FD\u4E3A\u7A7A",v="\u55B5\u545C~ \u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A",A="\u55B5\u545C~ \u8FD9\u4E2A\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",Ie="\u55B5\u545C~ \u8FD9\u4E2A\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",Ee="\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",ve="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5DF2\u8FC7\u671F",m="\u55B5\u545C~ \u8BBF\u95EE\u88AB\u62D2\u7EDD\u5566\uFF0C\u53EF\u80FD\u662F\u4EE4\u724C\u8FC7\u671F\u4E86\u6216\u6743\u9650\u4E0D\u8DB3",Ae="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u5931\u8D25",xe="\u55B5\u545C~ \u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25",$e="\u55B5\u545C~ \u7EC4\u7EC7\u8D26\u53F7\u6682\u4E0D\u652F\u6301",Me="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u4E0D\u5B58\u5728\u54E6",Le="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",f="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u4E0D\u5B58\u5728\u54E6",T="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u4E0D\u5B58\u5728\u54E6",Ne="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u5DF2\u88AB\u79FB\u52A8",Ue="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u9501\u5B9A\u5931\u8D25\u54E6",Se="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u521B\u5EFA\u5931\u8D25\u54E6",qe="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u89E3\u9501\u5931\u8D25\u54E6",U="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u4E0D\u5B58\u5728\u54E6",S="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u6216\u7528\u6237\u4E0D\u5B58\u5728\u54E6",R="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",Oe="\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",x="\u55B5\u545C~ \u8FD9\u4E2A\u7528\u6237\u4E0D\u5B58\u5728\u54E6",De="\u55B5\u545C~ WebHook \u7B7E\u540D\u683C\u5F0F\u4E0D\u6B63\u786E",Q="\u55B5\u545C~ WebHook \u7B7E\u540D\u9A8C\u8BC1\u5931\u8D25",E="\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 He,Z,ze,We,Ge,je,Fe=y(()=>{He="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u6210\u529F",Z="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u6709\u6548",ze="\u55B5\u545C~ WebHook \u7B7E\u540D\u6210\u529F",We="\u55B5\u545C~ \u8BAE\u9898\u9501\u5B9A\u6210\u529F",Ge="\u55B5\u545C~ \u8BAE\u9898\u89E3\u9501\u6210\u529F",je="\u55B5\u545C~ \u8BAE\u9898\u8BC4\u8BBA\u521B\u5EFA\u6210\u529F";});var Ke,Ve,Ye=y(()=>{Ke=fileURLToPath(import.meta.url).replace(/\\/g,"/"),Ve=Je.resolve(Ke,"../../").replace(/\\/g,"/"),Je.resolve(Ke,"../").replace(/\\/g,"/");});function Qe(p="",e=""){e=e||Ve;try{let a=`${e}/${p}`;if(!Xe.existsSync(a))return console.warn(`\u6587\u4EF6\u4E0D\u5B58\u5728: ${a}`),{};let r=Xe.readFileSync(a,"utf8");return JSON.parse(r)}catch(a){return console.error(`\u8BFB\u53D6 JSON \u6587\u4EF6\u5931\u8D25: ${p}`,a),{}}}async function Ze(p="zh-cn"){let e=String(p).toLowerCase();await import(`dayjs/locale/${e}.js`),q.locale(e);}async function _(p,e="zh-cn",a="YYYY-MM-DD HH:mm:ss"){return await Ze(e),q(p).format(a)}async function bt(p,e="zh-cn"){return await Ze(e),q.extend(yt),q(p).fromNow()}function et(p){let e=/^https?:\/\/[^/]+\/(?:https?:\/\/)?([^/]+\/[^/]+\/[^/]+)/,a=p.match(e);if(a){let o=a[1];p=o.startsWith("https")?o:`https://${o}`;}let r=wt(p);return {owner:r.owner,repo:r.name}}function Tt(p){if(!Array.isArray(p))throw new Error("RGB\u503C\u5FC5\u987B\u662F\u6570\u7EC4\u7C7B\u578B");if(p.length!==3)throw new Error("RGB\u6570\u7EC4\u5FC5\u987B\u5305\u542B\u4E14\u4EC5\u5305\u542B3\u4E2A\u503C");if(!p.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 `#${ht.rgb.hex(p)}`}function ee(p){return p=String(p).toLowerCase(),Tt(ft[p].color)??"#ededed"}async function Rt(p,e){return Promise.resolve(Array.from({length:Math.ceil(p.length/e)},(a,r)=>p.slice(r*e,r*e+e)))}async function tt(p){let e=/data-date="(.*?)" id="contribution-day-component/g,a=/<tool-tip .*?class="sr-only position-absolute">(.*?) contribution/g,r=Array.from(p.matchAll(e),n=>n[1]),o=Array.from(p.matchAll(a),n=>String(n[1]).toLowerCase()==="no"?0:parseInt(n[1]));if(!r.length||!o.length)return {total:0,contributions:[]};let t=r.map((n,u)=>({date:n,count:o[u]})).sort((n,u)=>n.date.localeCompare(u.date)),s=await Rt(t,7);return {total:o.reduce((n,u)=>n+u,0),contributions:s}}var te=y(()=>{Ye();});var ae,at=y(()=>{te();ae=Qe("package.json");});var b=y(()=>{Be();Fe();te();at();});function se(p="github",e,a="common"){let r={github:"api.github.com",gitee:"gitee.com/api/v5",gitcode:"api.gitcode.com/api/v5"};if(!e)return `https://${r[p??"github"]}`.replace(/\/$/,"");let t=`${e.match(/^(https?):/)?.[1]??"https"}://${e.replace(/^https?:\/\/|\/$/g,"")}`;return a==="common"?t:`${t}/${r[p]}`}function re(p="github",e,a="common"){let r={github:"github.com",gitee:"gitee.com",gitcode:"gitcode.com"};if(!e)return `https://${r[p??"github"]}`.replace(/\/$/,"");let t=`${e.match(/^(https?):/)?.[1]??"https"}://${e.replace(/^https?:\/\/|\/$/g,"")}`;return a==="common"?t:`${t}/${r[p]}`}async function kt(){return Promise.resolve(v4().replace(/-/g,""))}var oe=y(()=>{});var O,ne=y(()=>{b();O=class{baseUrl;tokenType;authorization;proxy;defaultHeaders;constructor(e,a="Bearer",r,o,t){this.baseUrl=e.replace(/\/$/,""),this.authorization=r,this.proxy=o,this.tokenType=a,this.defaultHeaders=t;}async request(e,a,r,o,t){let s=`${this.baseUrl}/${a}`.replace(/\/+/g,"/"),n={headers:this.createHeaders(t),params:r,validateStatus:()=>true};if(this.proxy){let u=this.proxy.type,i=this.proxy.address;switch(u){case "http":n.httpAgent=new HttpProxyAgent(i),n.httpsAgent=new HttpsProxyAgent(i);break;case "https":n.httpsAgent=new HttpsProxyAgent(i);break;case "socks":case "socks5":{let l=new SocksProxyAgent(i);n.httpAgent=l,n.httpsAgent=l;break}}}try{let u;switch(e){case "get":u=await $.get(s,n);break;case "post":u=await $.post(s,o,n);break;case "patch":u=await $.patch(s,o,n);break;case "put":u=await $.put(s,o,n);break;case "delete":u=await $.delete(s,{...n,data:o});break;default:throw new Error(`\u4E0D\u652F\u6301\u7684\u8BF7\u6C42\u65B9\u6CD5: ${e}`)}let i=Object.fromEntries(Object.entries(u.headers).filter(([l,h])=>h!==void 0).map(([l,h])=>[l.toLowerCase(),h]));return {success:!0,statusCode:u.status,headers:i,data:u.data,msg:u.status>=200&&u.status<500?"\u8BF7\u6C42\u6210\u529F":"\u8BF7\u6C42\u5F02\u5E38"}}catch(u){let i=u,l=i.response?.headers?Object.fromEntries(Object.entries(i.response.headers).filter(([h,w])=>w!==void 0).map(([h,w])=>[h,w])):{};return {success:false,statusCode:i.response?.status??500,headers:l,msg:i.message??"\u7F51\u7EDC\u8FDE\u63A5\u5931\u8D25",data:null}}}async get(e,a,r){return this.request("get",e,a,null,r)}async post(e,a,r,o){return this.request("post",e,a,r,o)}async patch(e,a=null,r,o){return this.request("patch",e,a,r,o)}async put(e,a,r,o){return this.request("put",e,a,r,o)}async delete(e,a=null,r,o){return this.request("delete",e,a,r,o)}createHeaders(e){let a={"Content-Type":"application/json","User-Agent":`${ae.name}/v${ae.version}`,...this.defaultHeaders??{}};if(this.authorization)if(this.tokenType==="Basic"){let r=Buffer.from(this.authorization).toString("base64");a.Authorization=`Basic ${r}`;}else this.tokenType==="Bearer"?a.Authorization=`Bearer ${this.authorization}`:a.Authorization=`${this.tokenType} ${this.authorization}`;return e&&Object.assign(a,e),a}};});var rt={};k(rt,{Auth:()=>D});var D,ie=y(()=>{b();C();D=class extends g{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_token_by_code(e){try{if(!e.code)throw new Error(K);this.setRequestConfig({url:this.BaseUrl});let a=await this.post("login/oauth/access_token",{client_id:this.Client_ID,client_secret:this.Client_Secret,code:e.code},{Accept:"application/json"}),r=a.status==="ok"&&a.statusCode===200&&!a.data.error;if(a.data){if(!r)throw new Error(xe);let o={success:r,info:Z,access_token:a.data.access_token,expires_in:a.data.expires_in??null,refresh_token:a.data.refresh_token??null,refresh_token_expires_in:a.data.refresh_token_expires_in??null,scope:a.data.scope,token_type:a.data.token_type};a.data=o;}return a}catch(a){throw new Error(`\u8BF7\u6C42\u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${a.message}`)}}async check_token_status(e){try{let a=e?.access_token??this.userToken;if(!a)throw new Error(I);if(!a.startsWith("ghu_"))throw new Error(Ie);this.setRequestConfig({url:this.ApiUrl,tokenType:"Basic",token:`${this.Client_ID}:${this.Client_Secret}`});let r=await this.post(`/applications/${this.Client_ID}/token`,{access_token:a});if(r.data){let o=!(r.status==="ok"&&(r.statusCode===404||r.statusCode===422));r.data={success:o,info:o?Z:ve};}return r}catch(a){throw new Error(`\u8BF7\u6C42\u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u72B6\u6001\u5931\u8D25: ${a.message}`)}}async refresh_token(e){try{if(!e.refresh_token)throw new Error(K);if(!e.refresh_token.startsWith("ghr_"))throw new Error(Y);this.setRequestConfig({url:this.BaseUrl});let a=await this.post("login/oauth/access_token",{client_id:this.Client_ID,client_secret:this.Client_Secret,grant_type:"refresh_token",refresh_token:e.refresh_token},{Accept:"application/json"}),r=a.status==="ok"&&a.statusCode===200&&!a.data.error,o=Ae;switch(a.data.error){case "bad_refresh_token":o=Y;break;case "unauthorized":o=m;break}if(a.data){if(!r)throw new Error(o);let t={success:r,info:He,access_token:a.data.access_token,expires_in:a.data.expires_in??null,refresh_token:a.data.refresh_token??null,refresh_token_expires_in:a.data.refresh_token_expires_in??null,scope:a.data.scope,token_type:a.data.token_type};a.data=t;}return a}catch(a){throw new Error(`\u8BF7\u6C42\u5237\u65B0\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${a.message}`)}}async create_auth_link(e){try{let a=new URL("/login/oauth/authorize",this.BaseUrl);return a.search=new URLSearchParams({client_id:this.Client_ID,...e&&{state:e}}).toString(),Promise.resolve(a.toString())}catch(a){throw new Error(`\u751F\u6210\u6388\u6743\u94FE\u63A5\u5931\u8D25: ${a.message}`)}}};});var nt={};k(nt,{Commit:()=>B});var B,ue=y(()=>{b();C();B=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 a,r,o,t;if("url"in e){o=e.url;let u=et(o);a=u?.owner,r=u?.repo;}else if("owner"in e&&"repo"in e)a=e.owner,r=e.repo;else throw new Error(ke);e.sha?t=e.sha:t=await(await this.get_repo()).get_repo_default_branch({owner:a,repo:r});let s=await this.get(`/repos/${a}/${r}/commits/${t}`);switch(s.statusCode){case 401:throw new Error(m);case 404:throw new Error(Le);case 422:throw new Error(Me)}let n=e.format??this.format;if(s.data){let u=s.data?.commit?.message??"",[i,...l]=u.split(`
2
+ `),h={html_url:s.data.html_url,sha:s.data.sha,comments_url:s.data.comments_url,commit:{url:s.data.commit.url,author:{id:s.data.commit.author.id,login:s.data.commit.author.login,name:s.data.commit.author.name,avatar_url:s.data.commit.author.avatar_url,email:s.data.commit.author.email,html_url:s.data.commit.author.html_url,type:capitalize(String(s.data.commit.author.type).toLowerCase()),date:n?await _(s.data.commit.author.date):s.data.commit.author.date},committer:{id:s.data.commit.committer.id,login:s.data.commit.committer.login,name:s.data.commit.committer.name,avatar_url:s.data.commit.committer.avatar_url,email:s.data.commit.committer.email,html_url:s.data.commit.committer.html_url,type:capitalize(String(s.data.commit.committer.type).toLowerCase()),date:n?await _(s.data.commit.committer.date):s.data.commit.committer.date},message:s.data.commit.message,...n&&{title:i,body:l.join(`
3
+ `)},tree:{url:s.data.commit.tree.url,sha:s.data.commit.tree.sha}},parents:s.data.parents.map(w=>({sha:w.sha,url:w.url})),stats:{additions:s.data.stats.additions,deletions:s.data.stats.deletions,total:s.data.stats.total},files:s.data.files.map(w=>({sha:w.sha,filename:w.filename,status:w.status,additions:w.additions,deletions:w.deletions,changes:w.changes,blob_url:w.blob_url,raw_url:w.raw_url}))};s.data=h;}return s}catch(a){throw new Error(`\u83B7\u53D6\u63D0\u4EA4\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}};});var it={};k(it,{Issue:()=>H});var H,le=y(()=>{b();C();H=class extends g{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_issue_info(e){if(!e.owner||!e.repo)throw new Error(d);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o}=e,t=await this.get(`/repos/${a}/${r}/issues/${Number(o)}`);switch(t.statusCode){case 404:throw new Error(T);case 301:throw new Error(Ne)}if(t.data){let s={id:t.data.id,html_url:t.data.html_url,number:t.data.number,comments:t.data.comments,state:t.data.state,state_reason:t.data.state_reason,title:t.data.title,body:t.data.body,user:{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url,type:capitalize(t.data.user.type.toLowerCase())},labels:t.data.labels?t.data.labels.map(n=>({id:n.id,name:n.name,color:n.color})):null,assignee:t.data.assignee?{id:t.data.assignee.id,login:t.data.assignee.login,name:t.data.assignee.name,email:t.data.assignee.email,html_url:t.data.assignee.html_url,avatar_url:t.data.assignee.avatar_url,type:capitalize(t.data.assignee.type.toLowerCase())}:null,milestone:t.data.milestone?{id:t.data.milestone.id,url:t.data.milestone.url,number:t.data.milestone.number,state:t.data.milestone.state,title:t.data.milestone.title,description:t.data.milestone.description,open_issues:t.data.milestone.open_issues,closed_issues:t.data.milestone.closed_issues,created_at:t.data.milestone.created_at,updated_at:t.data.milestone.updated_at,closed_at:t.data.milestone.closed_at,due_on:t.data.milestone.due_on}:null,closed_at:t.data.closed_at,created_at:t.data.created_at,updated_at:t.data.updated_at};t.data=s;}return t}catch(a){throw new Error(`\u83B7\u53D6Issue\u8BE6\u60C5\u5931\u8D25: ${a.message}`)}}async get_repo_issue_list(e){if(!e.owner||!e.repo)throw new Error(d);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,...o}=e,t={};o.milestone&&(t.milestone=o.milestone.toString()),o.state&&(t.state=o.state),o.assignee&&(t.assignee=o.assignee),o.creator&&(t.creator=o.creator),o.labels&&(t.labels=o.labels),o.sort&&(t.sort=o.sort),o.direction&&(t.direction=o.direction),o.since&&(t.since=o.since),o.per_page&&(t.per_page=o.per_page.toString()),o.page&&(t.page=o.page.toString());let s=`/repos/${a}/${r}/issues`,n=await this.get(s,t);if(n.statusCode===401)throw new Error(m);if(n.data){let u=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.data=u;}return n}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u7684Issue\u5217\u8868\u5931\u8D25: ${a.message}`)}}async create_issue(e){if(!e.owner||!e.repo)throw new Error(d);if(!e.title)throw new Error(Te);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,...o}=e,t={...o,...o.labels&&{labels:Array.isArray(o.labels)?o.labels:[o.labels]},...o.assignees&&{assignees:Array.isArray(o.assignees)?o.assignees:[o.assignees]}},s=await this.post(`/repos/${a}/${r}/issues`,t);switch(s.statusCode){case 403:throw new Error(m);case 301:throw new Error(R)}if(s.data&&s.data){let n={id:s.data.id,html_url:s.data.html_url,number:s.data.number,comments:s.data.comments,state:s.data.state,state_reason:s.data.state_reason,title:s.data.title,body:s.data.body,user:{id:s.data.user.id,login:s.data.user.login,name:s.data.user.name,email:s.data.user.email,html_url:s.data.user.html_url,avatar_url:s.data.user.avatar_url,type:capitalize(s.data.user.type.toLowerCase())},labels:s.data.labels?s.data.labels.map(u=>({id:u.id,name:u.name,color:u.color})):null,assignee:s.data.assignee?{id:s.data.assignee.id,login:s.data.assignee.login,name:s.data.assignee.name,email:s.data.assignee.email,html_url:s.data.assignee.html_url,avatar_url:s.data.assignee.avatar_url,type:capitalize(s.data.assignee.type.toLowerCase())}:null,milestone:s.data.milestone?{id:s.data.milestone.id,url:s.data.milestone.url,number:s.data.milestone.number,state:s.data.milestone.state,title:s.data.milestone.title,description:s.data.milestone.description,open_issues:s.data.milestone.open_issues,closed_issues:s.data.milestone.closed_issues,created_at:s.data.milestone.created_at,updated_at:s.data.milestone.updated_at,closed_at:s.data.milestone.closed_at,due_on:s.data.milestone.due_on}:null,closed_at:s.data.closed_at,created_at:s.data.created_at,updated_at:s.data.updated_at};s.data=n;}return s}catch(a){throw new Error(`\u521B\u5EFAIssue\u5931\u8D25: ${a.message}`)}}async update_issue(e){if(!e.owner||!e.repo)throw new Error(d);if(!e.issue_number)throw new Error(P);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,...t}=e,s={...t,...t.labels&&{labels:Array.isArray(t.labels)?t.labels:[t.labels]},...t.assignees&&{assignees:Array.isArray(t.assignees)?t.assignees:[t.assignees]}},n=await this.patch(`/repos/${a}/${r}/issues/${Number(o)}`,null,s);switch(n.statusCode){case 404:throw new Error(T);case 403:throw new Error(m);case 301:throw new Error(R)}if(n.data&&n.data){let u={id:n.data.id,html_url:n.data.html_url,number:n.data.number,comments:n.data.comments,state:n.data.state,state_reason:n.data.state_reason,title:n.data.title,body:n.data.body,user:{id:n.data.user.id,login:n.data.user.login,name:n.data.user.name,email:n.data.user.email,html_url:n.data.user.html_url,avatar_url:n.data.user.avatar_url,type:capitalize(n.data.user.type.toLowerCase())},labels:n.data.labels?n.data.labels.map(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.data=u;}return n}catch(a){throw new Error(`\u66F4\u65B0Issue\u5931\u8D25: ${a.message}`)}}async open_issue(e){if(!e.owner||!e.repo)throw new Error(d);if(!e.issue_number)throw new Error(P);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o}=e,t=await this.patch(`/repos/${a}/${r}/issues/${o}`,null,{state:"open"});switch(t.statusCode){case 404:throw new Error(T);case 403:throw new Error(m);case 301:throw new Error(R)}if(t.data&&t.data){let s={id:t.data.id,html_url:t.data.html_url,number:t.data.number,comments:t.data.comments,state:t.data.state,state_reason:t.data.state_reason,title:t.data.title,body:t.data.body,user:{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url,type:capitalize(t.data.user.type.toLowerCase())},labels:t.data.labels?t.data.labels.map(n=>({id:n.id,name:n.name,color:n.color})):null,assignee:t.data.assignee?{id:t.data.assignee.id,login:t.data.assignee.login,name:t.data.assignee.name,email:t.data.assignee.email,html_url:t.data.assignee.html_url,avatar_url:t.data.assignee.avatar_url,type:capitalize(t.data.assignee.type.toLowerCase())}:null,milestone:t.data.milestone?{id:t.data.milestone.id,url:t.data.milestone.url,number:t.data.milestone.number,state:t.data.milestone.state,title:t.data.milestone.title,description:t.data.milestone.description,open_issues:t.data.milestone.open_issues,closed_issues:t.data.milestone.closed_issues,created_at:t.data.milestone.created_at,updated_at:t.data.milestone.updated_at,closed_at:t.data.milestone.closed_at,due_on:t.data.milestone.due_on}:null,closed_at:t.data.closed_at,created_at:t.data.created_at,updated_at:t.data.updated_at};t.data=s;}return t}catch(a){throw new Error(`\u6253\u5F00Issue\u5931\u8D25: ${a.message}`)}}async reopen_issue(e){return this.open_issue(e)}async close_issue(e){if(!e.owner||!e.repo)throw new Error(d);if(!e.issue_number)throw new Error(P);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o}=e,t=await this.patch(`/repos/${a}/${r}/issues/${o}`,null,{state:"closed"});switch(t.statusCode){case 404:throw new Error(T);case 403:throw new Error(m);case 301:throw new Error(R)}if(t.data&&t.data){let s={id:t.data.id,html_url:t.data.html_url,number:t.data.number,comments:t.data.comments,state:t.data.state,state_reason:t.data.state_reason,title:t.data.title,body:t.data.body,user:{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url,type:capitalize(t.data.user.type.toLowerCase())},labels:t.data.labels?t.data.labels.map(n=>({id:n.id,name:n.name,color:n.color})):null,assignee:t.data.assignee?{id:t.data.assignee.id,login:t.data.assignee.login,name:t.data.assignee.name,email:t.data.assignee.email,html_url:t.data.assignee.html_url,avatar_url:t.data.assignee.avatar_url,type:capitalize(t.data.assignee.type.toLowerCase())}:null,milestone:t.data.milestone?{id:t.data.milestone.id,url:t.data.milestone.url,number:t.data.milestone.number,state:t.data.milestone.state,title:t.data.milestone.title,description:t.data.milestone.description,open_issues:t.data.milestone.open_issues,closed_issues:t.data.milestone.closed_issues,created_at:t.data.milestone.created_at,updated_at:t.data.milestone.updated_at,closed_at:t.data.milestone.closed_at,due_on:t.data.milestone.due_on}:null,closed_at:t.data.closed_at,created_at:t.data.created_at,updated_at:t.data.updated_at};t.data=s;}return t}catch(a){throw new Error(`\u5173\u95EDIssue\u5931\u8D25: ${a.message}`)}}async lock_issue(e){if(!e.owner||!e.repo)throw new Error(d);if(!e.issue_number)throw new Error(P);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,lock_reason:t}=e,s=await this.put(`/repos/${a}/${r}/issues/${Number(o)}`,{locked:!0,lock_reason:t});switch(s.statusCode){case 404:throw new Error(T);case 403:throw new Error(m);case 301:throw new Error(R)}let n;return s.statusCode===204?n={info:We}:n={info:Ue},s.data=n,s}catch(a){throw new Error(`\u9501\u5B9AIssue${e.issue_number}\u5931\u8D25: ${a.message}`)}}async unlock_issue(e){if(!e.owner||!e.repo)throw new Error(d);if(!e.issue_number)throw new Error(P);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o}=e,t=await this.delete(`/repos/${a}/${r}/issues/${o}/lock`);switch(t.statusCode){case 404:throw new Error(T);case 403:throw new Error(m);case 301:throw new Error(R)}let s;return t.statusCode===204?s={info:Ge}:s={info:qe},t.data=s,t}catch(a){throw new Error(`\u89E3\u9501Issue\u5931\u8D25: ${a.message}`)}}async get_repo_comments_list(e){if(!e.owner||!e.repo)throw new Error(d);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,...o}=e,t={};o.sort&&(t.sort=o.sort),o.sort&&o.direction&&(t.direction=o.direction),o.since&&(t.since=o.since),o.per_page&&(t.per_page=o.per_page.toString()),o.page&&(t.page=o.page.toString());let s=`/repos/${a}/${r}/issues/comments/`,n=await this.get(s,t);if(n.statusCode===404)throw new Error(f);if(n.data){let u=n.data.map(i=>({id:i.id,html_url:i.html_url,body:i.body,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())},created_at:i.created_at,updated_at:i.updated_at}));n.data=u;}return n}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93${e.owner}/${e.repo}\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_issue_comments_list(e){if(!e.owner||!e.repo)throw new Error(d);if(!e.issue_number)throw new Error(P);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,...t}=e,s={};t.since&&(s.since=t.since),t.per_page&&(s.per_page=t.per_page.toString()),t.page&&(s.page=t.page.toString());let n=`/repos/${a}/${r}/issues/${Number(o)}/comments`,u=await this.get(n,s);if(u.statusCode===404)throw new Error(f);if(u.data){let i=u.data.map(l=>({id:l.id,html_url:l.html_url,body:l.body,user:{id:l.user.id,login:l.user.login,name:l.user.name,email:l.user.email,html_url:l.user.html_url,avatar_url:l.user.avatar_url,type:capitalize(l.user.type.toLowerCase())},created_at:l.created_at,updated_at:l.updated_at}));u.data=i;}return u}catch(a){throw new Error(`\u83B7\u53D6\u8BAE\u9898\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_issue_comment_info(e){if(!e.owner||!e.repo)throw new Error(d);if(!e.comment_id)throw new Error(M);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,comment_id:o}=e,t=await this.get(`/repos/${a}/${r}/issues/comments/${Number(o)}`);if(t.statusCode===404)throw new Error(f);if(t.data){let s={id:t.data.id,html_url:t.data.html_url,body:t.data.body,user:{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url,type:capitalize(t.data.user.type.toLowerCase())},created_at:t.data.created_at,updated_at:t.data.updated_at};t.data=s;}return t}catch(a){throw new Error(`\u83B7\u53D6\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async create_issue_comment(e){if(!e.owner||!e.repo)throw new Error(d);if(!e.issue_number)throw new Error(f);if(!e.body)throw new Error(be);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,body:t}=e,s=await this.post(`/repos/${a}/${r}/issues/${Number(o)}/comments`,{body:t});if(s.statusCode===404)throw new Error(f);if(s.data){let n={id:s.data.id,html_url:s.data.html_url,body:s.data.body,user:{id:s.data.user.id,login:s.data.user.login,name:s.data.user.name,email:s.data.user.email,html_url:s.data.user.html_url,avatar_url:s.data.user.avatar_url,type:capitalize(s.data.user.type.toLowerCase())},created_at:s.data.created_at,updated_at:s.data.updated_at};s.data=n;}return s}catch(a){throw new Error(`\u521B\u5EFA\u8BAE\u9898\u8BC4\u8BBA\u5931\u8D25: ${a.message}`)}}async update_issue_comment(e){if(!e.owner||!e.repo)throw new Error(d);if(!e.comment_id)throw new Error(M);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,comment_id:o,...t}=e,s=await this.patch(`/repos/${a}/${r}/issues/comments/${Number(o)}`,null,t);if(s.statusCode===404)throw new Error(f);if(s.data){let n={id:s.data.id,html_url:s.data.html_url,body:s.data.body,user:{id:s.data.user.id,login:s.data.user.login,name:s.data.user.name,email:s.data.user.email,html_url:s.data.user.html_url,avatar_url:s.data.user.avatar_url,type:capitalize(s.data.user.type.toLowerCase())},created_at:s.data.created_at,updated_at:s.data.updated_at};s.data=n;}return s}catch(a){throw new Error(`\u66F4\u65B0\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async remove_issue_comment(e){if(!e.owner||!e.repo)throw new Error(d);if(!e.comment_id)throw new Error(M);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,comment_id:o}=e,t=await this.delete(`/repos/${a}/${r}/issues/comments/${Number(o)}`);if(t.statusCode===404)throw new Error(f);let s;return t.statusCode===204?s={info:je}:s={info:Se},t.data=s,t}catch(a){throw new Error(`\u5220\u9664\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async delete_issue_comment(e){return this.remove_issue_comment(e)}async get_sub_issue_list(e){if(!e.owner||!e.repo)throw new Error(d);if(!e.issue_number)throw new Error(f);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,...t}=e,s={};t.per_page&&(s.per_page=t.per_page.toString()),t.page&&(s.page=t.page.toString());let n=`/repos/${a}/${r}/issues/${Number(o)}/sub_issues`,u=await this.get(n,s);if(u.statusCode===404)throw new Error(T);if(u.data){let i=u.data.map(l=>({id:l.id,html_url:l.html_url,number:l.number,comments:l.comments,state:l.state,state_reason:l.state_reason,title:l.title,body:l.body,user:{id:l.user.id,login:l.user.login,name:l.user.name,email:l.user.email,html_url:l.user.html_url,avatar_url:l.user.avatar_url,type:capitalize(l.user.type.toLowerCase())},labels:l.labels?l.labels.map(h=>({id:h.id,name:h.name,color:h.color})):null,assignee:l.assignee?{id:l.assignee.id,login:l.assignee.login,name:l.assignee.name,email:l.assignee.email,html_url:l.assignee.html_url,avatar_url:l.assignee.avatar_url,type:capitalize(l.assignee.type.toLowerCase())}:null,milestone:l.milestone?{id:l.milestone.id,url:l.milestone.url,number:l.milestone.number,state:l.milestone.state,title:l.milestone.title,description:l.milestone.description,open_issues:l.milestone.open_issues,closed_issues:l.milestone.closed_issues,created_at:l.milestone.created_at,updated_at:l.milestone.updated_at,closed_at:l.milestone.closed_at,due_on:l.milestone.due_on}:null,closed_at:l.closed_at,created_at:l.created_at,updated_at:l.updated_at}));u.data=i;}return u}catch(a){throw new Error(`\u83B7\u53D6\u5B50\u8BAE\u9898\u5217\u8868\u5931\u8D25: ${a.message}`)}}async add_sub_issue(e){if(!e.owner||!e.repo)throw new Error(d);if(!e.issue_number)throw new Error(f);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,sub_issue_id:t,replace_parent:s}=e,n=await this.post(`/repos/${a}/${r}/issues/${o}/sub_issues`,{sub_issue_id:t,replace_parent:s});if(n.statusCode===404)throw new Error(T);if(n.data){let u={id:n.data.id,html_url:n.data.html_url,number:n.data.number,comments:n.data.comments,state:n.data.state,state_reason:n.data.state_reason,title:n.data.title,body:n.data.body,user:{id:n.data.user.id,login:n.data.user.login,name:n.data.user.name,email:n.data.user.email,html_url:n.data.user.html_url,avatar_url:n.data.user.avatar_url,type:capitalize(n.data.user.type.toLowerCase())},labels:n.data.labels?n.data.labels.map(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.data=u;}return n}catch(a){throw new Error(`\u6DFB\u52A0\u5B50\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}async remove_sub_issue(e){if(!e.owner||!e.repo)throw new Error(d);if(!e.issue_number)throw new Error(f);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,sub_issue_id:t}=e,s=await this.delete(`/repos/${a}/${r}/issues/${o}/sub_issue`,null,{sub_issue_id:t});if(s.statusCode===404)throw new Error(T);if(s.data){let n={id:s.data.id,html_url:s.data.html_url,number:s.data.number,comments:s.data.comments,state:s.data.state,state_reason:s.data.state_reason,title:s.data.title,body:s.data.body,user:{id:s.data.user.id,login:s.data.user.login,name:s.data.user.name,email:s.data.user.email,html_url:s.data.user.html_url,avatar_url:s.data.user.avatar_url,type:capitalize(s.data.user.type.toLowerCase())},labels:s.data.labels?s.data.labels.map(u=>({id:u.id,name:u.name,color:u.color})):null,assignee:s.data.assignee?{id:s.data.assignee.id,login:s.data.assignee.login,name:s.data.assignee.name,email:s.data.assignee.email,html_url:s.data.assignee.html_url,avatar_url:s.data.assignee.avatar_url,type:capitalize(s.data.assignee.type.toLowerCase())}:null,milestone:s.data.milestone?{id:s.data.milestone.id,url:s.data.milestone.url,number:s.data.milestone.number,state:s.data.milestone.state,title:s.data.milestone.title,description:s.data.milestone.description,open_issues:s.data.milestone.open_issues,closed_issues:s.data.milestone.closed_issues,created_at:s.data.milestone.created_at,updated_at:s.data.milestone.updated_at,closed_at:s.data.milestone.closed_at,due_on:s.data.milestone.due_on}:null,closed_at:s.data.closed_at,created_at:s.data.created_at,updated_at:s.data.updated_at};s.data=n;}return s}catch(a){throw new Error(`\u5220\u9664\u5B50\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}async delete_sub_issue(e){return this.remove_sub_issue(e)}async reprioritize_sub_issue(e){if(!e.owner||!e.repo)throw new Error(d);if(!e.issue_number)throw new Error(f);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,sub_issue_id:t,...s}=e,n={};s.before_id&&!s.after_id&&(n.before_id=s.before_id.toString()),s.after_id&&!s.before_id&&(n.after_id=s.after_id.toString());let u=`/repos/${a}/${r}/issues/${o}/sub_issues/priority`,i=await this.patch(u,n,{sub_issue_id:String(t)});if(i.statusCode===404)throw new Error(T);if(i.data){let l={id:i.data.id,html_url:i.data.html_url,number:i.data.number,comments:i.data.comments,state:i.data.state,state_reason:i.data.state_reason,title:i.data.title,body:i.data.body,user:{id:i.data.user.id,login:i.data.user.login,name:i.data.user.name,email:i.data.user.email,html_url:i.data.user.html_url,avatar_url:i.data.user.avatar_url,type:capitalize(i.data.user.type.toLowerCase())},labels:i.data.labels?i.data.labels.map(h=>({id:h.id,name:h.name,color:h.color})):null,assignee:i.data.assignee?{id:i.data.assignee.id,login:i.data.assignee.login,name:i.data.assignee.name,email:i.data.assignee.email,html_url:i.data.assignee.html_url,avatar_url:i.data.assignee.avatar_url,type:capitalize(i.data.assignee.type.toLowerCase())}:null,milestone:i.data.milestone?{id:i.data.milestone.id,url:i.data.milestone.url,number:i.data.milestone.number,state:i.data.milestone.state,title:i.data.milestone.title,description:i.data.milestone.description,open_issues:i.data.milestone.open_issues,closed_issues:i.data.milestone.closed_issues,created_at:i.data.milestone.created_at,updated_at:i.data.milestone.updated_at,closed_at:i.data.milestone.closed_at,due_on:i.data.milestone.due_on}:null,closed_at:i.data.closed_at,created_at:i.data.created_at,updated_at:i.data.updated_at};i.data=l;}return i}catch(a){throw new Error(`\u91CD\u65B0\u6392\u5E8F\u5B50\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}};});var ut={};k(ut,{Repo:()=>z});var z,pe=y(()=>{b();C();z=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(L);try{this.setRequestConfig({token:this.userToken});let{org:a,...r}=e,o={};r?.type&&(o.type=r.type),r?.sort&&(o.sort=r.sort),r?.direction&&(o.direction=r.direction),r?.per_page&&(o.per_page=r.per_page.toString()),r?.page&&(o.page=r.page.toString());let t=`/orgs/${a}/repos`,s=await this.get(t,o);switch(s.statusCode){case 404:throw new Error(U);case 401:throw new Error(m)}let n=e.format??this.format;if(s.data){let u=await Promise.all(s.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??null,avatar_url:i.owner.avatar_url,type:i.owner.type,html_url:i.owner.html_url,email:i.owner.email??null},public:!i.private,private:i.private,visibility:i.private?"private":"public",fork:i.fork,archived:i.archived,disabled:i.disabled,html_url:i.html_url,description:i.description,stargazers_count:i.stargazers_count,watchers_count:i.watchers_count,language:i.language,forks_count:i.forks_count,open_issues_count:i.open_issues_count,default_branch:i.default_branch,created_at:n?await _(i.created_at):i.created_at,updated_at:n?await _(i.updated_at):i.updated_at,pushed_at:n?await _(i.pushed_at):i.pushed_at})));s.data=u;}return s}catch(a){throw new Error(`\u83B7\u53D6\u7EC4\u7EC7\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_user_repos_list_by_token(e){try{this.setRequestConfig({token:this.userToken});let{...a}=e,r={};!e?.visibility&&!e?.affiliation&&a?.type&&(r.type=a.type),a?.visibility&&(r.visibility=a.visibility),a?.affiliation&&(r.affiliation=a.affiliation),a?.sort&&(r.sort=a.sort),a?.direction&&(r.direction=a.direction),a?.per_page&&(r.per_page=a.per_page.toString()),a?.page&&(r.page=a.page.toString());let t=await this.get("/uses/repos",r);if(t.statusCode===401)throw new Error(m);let s=e?.format??this.format;if(t.data){let n=await Promise.all(t.data.map(async u=>({id:u.id,name:u.name,full_name:u.full_name,owner:{id:u.owner.id,login:u.owner.login,name:u.owner.name,avatar_url:u.owner.avatar_url,type:u.owner.type,html_url:u.owner.html_url,email:u.owner.email},public:!u.private,private:u.private,visibility:u.private?"private":"public",fork:u.fork,archived:u.archived,disabled:u.disabled,html_url:u.html_url,description:u.description,stargazers_count:u.stargazers_count,watchers_count:u.watchers_count,language:u.language,forks_count:u.forks_count,open_issues_count:u.open_issues_count,default_branch:u.default_branch,created_at:s?await _(u.created_at):u.created_at,updated_at:s?await _(u.updated_at):u.updated_at,pushed_at:s?await _(u.pushed_at):u.pushed_at})));t.data=n;}return t}catch(a){throw new Error(`\u83B7\u53D6\u6388\u6743\u7528\u6237\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_user_repos_list(e){try{if(!e.username)throw new Error(v);this.setRequestConfig({token:this.userToken});let{username:a,...r}=e,o={};r?.type&&(o.type=r.type),r?.sort&&(o.sort=r.sort),r?.direction&&(o.direction=r.direction),r?.per_page&&(o.per_page=r.per_page.toString()),r?.page&&(o.page=r.page.toString());let t=e?.format??this.format,s=`/users/${a}/repos`,n=await this.get(s,o);switch(n.statusCode){case 404:throw new Error(x);case 401:throw new Error(m)}if(n.data){let u=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,email:i.owner.email},public:!i.private,private:i.private,visibility:i.private?"private":"public",fork:i.fork,archived:i.archived,disabled:i.disabled,html_url:i.html_url,description:i.description,stargazers_count:i.stargazers_count,watchers_count:i.watchers_count,language:i.language,forks_count:i.forks_count,open_issues_count:i.open_issues_count,default_branch:i.default_branch,created_at:t?await _(i.created_at):i.created_at,updated_at:t?await _(i.updated_at):i.updated_at,pushed_at:t?await _(i.pushed_at):i.pushed_at})));n.data=u;}return n}catch(a){throw new Error(`\u83B7\u53D6\u7528\u6237\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_repo_info(e){if(!e.owner||!e.repo)throw new Error(d);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r}=e,o=await this.get(`/repos/${a}/${r}`);switch(o.statusCode){case 401:throw new Error(m);case 404:throw new Error(S)}let t=e?.format??this.format;if(o.data){let s={id:o.data.id,name:o.data.name,full_name:o.data.full_name,owner:{id:o.data.owner.id,login:o.data.owner.login,name:o.data.owner.name,avatar_url:o.data.owner.avatar_url,type:o.data.owner.type,html_url:o.data.owner.html_url,email:o.data.owner.email},public:!o.data.private,private:o.data.private,visibility:o.data.private?"private":"public",fork:o.data.fork,archived:o.data.archived,disabled:o.data.disabled,html_url:o.data.html_url,description:o.data.description,stargazers_count:o.data.stargazers_count,watchers_count:o.data.watchers_count,language:o.data.language,forks_count:o.data.forks_count,open_issues_count:o.data.open_issues_count,default_branch:o.data.default_branch,created_at:t?await _(o.data.created_at):o.data.created_at,updated_at:t?await _(o.data.updated_at):o.data.updated_at,pushed_at:t?await _(o.data.pushed_at):o.data.pushed_at};o.data=s;}return o}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async get_repo_languages_list(e){if(!e.owner||!e.repo)throw new Error(d);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r}=e,o=await this.get(`/repos/${a}/${r}/languages`);switch(o.statusCode){case 401:throw new Error(m);case 404:throw new Error(R)}if(o.data){let t=Object.values(o.data).reduce((s,n)=>s+n,0);o.data={languages:await Promise.all(Object.entries(o.data).map(([s,n])=>{let u=String(s).toLowerCase();return {language:s,color:ee(u),percent:Number((n/t*100).toFixed(2)),bytes:n}}))};}return o}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5217\u8868\u5931\u8D25: ${a.message}`)}}async create_org_repo(e){try{let{owner:a,...r}=e,o={...r},t=await this.post(`/orgs/${a}/repos`,o);if(t.statusCode===401)throw new Error(m);let s=e?.format??this.format;if(t.data){let n={id:t.data.id,name:t.data.name,full_name:t.data.full_name,owner:{id:t.data.owner.id,login:t.data.owner.login,name:t.data.owner.name,avatar_url:t.data.owner.avatar_url,type:t.data.owner.type,html_url:t.data.owner.html_url,email:t.data.owner.email},public:!t.data.private,private:t.data.private,visibility:t.data.private?"private":"public",fork:t.data.fork,archived:t.data.archived,disabled:t.data.disabled,html_url:t.data.html_url,description:t.data.description,stargazers_count:t.data.stargazers_count,watchers_count:t.data.watchers_count,language:t.data.language,forks_count:t.data.forks_count,open_issues_count:t.data.open_issues_count,default_branch:t.data.default_branch,created_at:s?await _(t.data.created_at):t.data.created_at,updated_at:s?await _(t.data.updated_at):t.data.updated_at,pushed_at:s?await _(t.data.pushed_at):t.data.pushed_at};t.data=n;}return t}catch(a){throw new Error(`\u521B\u5EFA\u7EC4\u7EC7\u4ED3\u5E93\u5931\u8D25: ${a.message}`)}}async get_collaborators_list(e){if(!e.owner||!e.repo)throw new Error(d);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r}=e,{...o}=e,t={};o.affiliation&&(t.milestone=o.affiliation.toString()),o.permission&&(t.permission=o.permission.toString()),o.per_page&&(t.per_page=o.per_page.toString()),o.page&&(t.page=o.page.toString());let s=await this.get(`/repos/${a}/${r}/collaborators`,t);return s.data&&(s.data=await Promise.all(s.data.map(n=>({id:n.id,login:n.login,avatar_url:n.avatar_url,email:n.email,name:n.name,permissions:n.permissions,role_name:n.role_name})))),s}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u534F\u4F5C\u8005\u5217\u8868\u5931\u8D25: ${a.message}`)}}async add_collaborator(e){if(!e.owner||!e.repo)throw new Error(d);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,username:o}=e,t=await this.put(`/repos/${a}/${r}/collaborators/${o}`,{permission:e.permission??"pull"});if(t.statusCode===404)throw new Error(X);if(t.statusCode===422){let s=t.data.message;if(s&&s.includes("is not a valid permission"))throw new Error(Ee)}if(t.data){let s={id:t.data.inviter.id,login:t.data.inviter.login,name:t.data.inviter.name,avatar_url:t.data.inviter.avatar_url,html_url:t.data.repository.html_url,permissions:t.data.permissions};t.data=s;}return t}catch(a){throw new Error(`\u6DFB\u52A0\u534F\u4F5C\u8005\u5931\u8D25: ${a.message}`)}}async remove_collaborator(e){if(!e.owner||!e.repo)throw new Error(d);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,username:o}=e,t=await this.delete(`/repos/${a}/${r}/collaborators/${o}`);if(t.statusCode===404)throw new Error(X);return t.status&&t.statusCode===204?t.data={info:`\u79FB\u9664\u534F\u4F5C\u8005${o}\u6210\u529F`}:t.data={info:`\u79FB\u9664\u534F\u4F5C\u8005${o}\u5931\u8D25`},t}catch(a){throw new Error(`\u79FB\u9664\u534F\u4F5C\u8005\u5931\u8D25: ${a.message}`)}}async delete_collaborator(e){return this.remove_collaborator(e)}async get_repo_visibility(e){if(!e.owner||!e.repo)throw new Error(d);try{let{owner:a,repo:r}=e;return (await this.get_repo_info({owner:a,repo:r})).data.visibility}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u53EF\u89C1\u6027\u5931\u8D25: ${a.message}`)}}async get_repo_default_branch(e){if(!e.owner||!e.repo)throw new Error(d);try{let{owner:a,repo:r}=e;return (await this.get_repo_info({owner:a,repo:r})).data.default_branch}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u9ED8\u8BA4\u5206\u652F\u5931\u8D25: ${a.message}`)}}async get_repo_main_language(e){if(!e.owner||!e.repo)throw new Error(d);try{let{owner:a,repo:r}=e;return (await this.get_repo_info({owner:a,repo:r})).data.language}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5931\u8D25: ${a.message}`)}}};});var lt={};k(lt,{User:()=>W});var W,ce=y(()=>{b();C();W=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 a=e.access_token??this.userToken;if(!e.username)throw new Error(Re);if(!a?.startsWith("ghu_"))throw new Error(A);try{this.setRequestConfig({token:a});let r=await this.get(`/users/${e.username}`);if(r.statusCode===401)throw new Error(m);if(r.statusCode===404)throw new Error(S);return r.data&&(r.data={id:r.data.id,login:r.data.login,name:r.data.name||null,type:capitalize(r.data.type.toLowerCase()),html_url:r.data.html_url,avatar_url:r.data.avatar_url,company:r.data.company||null,email:r.data.email||null,bio:r.data.bio||null,blog:r.data.blog||null,followers:r.data.followers,following:r.data.following}),r}catch(r){throw new Error(`\u83B7\u53D6\u7528\u6237\u6216\u7EC4\u7EC7\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_user_info_by_user_id(e){let a=e.access_token??this.userToken;if(!e.user_id)throw new Error(Pe);if(!a?.startsWith("ghu_"))throw new Error(A);try{this.setRequestConfig({token:this.userToken});let r=await this.get(`/user/${e.user_id}`);if(r.statusCode===401)throw new Error(m);if(r.statusCode===404)throw new Error(x);return r.data&&(r.data={id:r.data.id,login:r.data.login,name:r.data.name||null,type:capitalize(r.data.type.toLowerCase()),html_url:r.data.html_url,avatar_url:r.data.avatar_url,company:r.data.company||null,email:r.data.email||null,bio:r.data.bio||null,blog:r.data.blog||null,followers:r.data.followers,following:r.data.following}),r}catch(r){throw new Error(`\u901A\u8FC7\u7528\u6237id\u83B7\u53D6\u7528\u6237\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_user_info_by_auth(e){let a=e?.access_token??this.userToken;if(!e||!a)throw new Error(I);try{this.setRequestConfig({token:a});let r=await this.get("/user");switch(r.statusCode){case 401:throw new Error(m);case 404:throw new Error(x)}return r.data&&(r.data={id:r.data.id,login:r.data.login,name:r.data.name||null,type:capitalize(r.data.type.toLowerCase()),html_url:r.data.html_url,avatar_url:r.data.avatar_url,company:r.data.company||null,email:r.data.email||null,bio:r.data.bio||null,blog:r.data.blog||null,followers:r.data.followers,following:r.data.following}),r}catch(r){throw new Error(`\u83B7\u53D6\u6388\u6743\u7528\u6237\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_user_info_by_token(e){return this.get_user_info_by_auth(e)}async get_user_contribution(e){try{if(!e.username)throw new Error(v);if((await this.get_user_info({username:e.username})).data.type==="Organization")throw new Error(`${$e}\u83B7\u53D6\u8D21\u732E\u65E5\u5386`);this.setRequestConfig({url:this.BaseUrl});let r=await this.get(`/${e.username}`,{action:"show",controller:"profiles",tab:"contributions",user_id:e.username},{"X-Requested-With":"XMLHttpRequest"});if(r.statusCode===404)throw new Error(v);let o=await tt(r.data);return {...r,data:o}}catch(a){throw new Error(`\u83B7\u53D6\u7528\u6237\u8D21\u732E\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async get_user_id(){return (await this.get_user_info_by_auth()).data.id}async get_username(){return (await this.get_user_info_by_auth()).data.login}async get_nickname(){return (await this.get_user_info_by_auth()).data.name}async get_user_email(){return (await this.get_user_info_by_auth()).data.email}async get_avatar_url(){return (await this.get_user_info_by_auth()).data.avatar_url}};});var pt={};k(pt,{Org:()=>G});var G,me=y(()=>{b();C();G=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(Ce);try{this.setRequestConfig({token:this.userToken});let a=await this.get(`/orgs/${e.org}`);if(a.statusCode===404)throw new Error(U);if(a.data){let r={id:a.data.id,login:a.data.login,name:a.data.name,avatar_url:a.data.avatar_url,description:a.data.description,html_url:a.data.html_url};a.data=r;}return a}catch(a){throw new Error(`\u83B7\u53D6\u7EC4\u7EC7\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}};});var ct={};k(ct,{WebHook:()=>j});var j,ge=y(()=>{b();C();j=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 a=e.secret??this.WebHook_Secret;if(!a||!e.payload||!e.signature)throw new Error(L);if(!e.signature.startsWith("sha256="))throw new Error(De);let r=false,o="error",t=400,s=Q,n;try{let u=dt.createHmac("sha256",a),i=typeof e.payload=="string"?e.payload:JSON.stringify(e.payload);u.update(i,"utf8");let l=u.digest("hex"),h=e.signature.replace("sha256=","");dt.timingSafeEqual(Buffer.from(l),Buffer.from(h))?(r=!0,o="ok",t=200,s="\u8BF7\u6C42\u6210\u529F",n={info:ze}):(r=!1,o="error",t=403,s="\u8BF7\u6C42\u5931\u8D25",n={info:Q});}catch(u){throw new Error(`\u8BF7\u6C42\u9A8C\u8BC1WebHook\u7B7E\u540D\u5931\u8D25: ${u.message}`)}return Promise.resolve({success:r,status:o,statusCode:t,msg:s,data:n})}};});var F,g,C=y(()=>{b();oe();ne();F="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=re(F),this.ApiUrl=se(F),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(()=>(_e(),mt));return this.app=new e(this),this.app}async get_auth(){let{Auth:e}=await Promise.resolve().then(()=>(ie(),rt));return this.auth=new e(this),this.auth}async get_commit(){let{Commit:e}=await Promise.resolve().then(()=>(ue(),nt));return this.commit=new e(this),this.commit}async get_issue(){let{Issue:e}=await Promise.resolve().then(()=>(le(),it));return this.issue=new e(this),this.issue}async get_repo(){let{Repo:e}=await Promise.resolve().then(()=>(pe(),ut));return this.repo=new e(this),this.repo}async get_user(){let{User:e}=await Promise.resolve().then(()=>(ce(),lt));return this.user=new e(this),this.user}async get_org(){let{Org:e}=await Promise.resolve().then(()=>(me(),pt));return this.org=new e(this),this.org}async get_webhook(){let{WebHook:e}=await Promise.resolve().then(()=>(ge(),ct));return this.webhook=new e(this),this.webhook}setProxy(e){if(!e?.address){this.proxy=null;return}try{let a=new URL$1(e.address);switch(a.protocol){case "http:":case "https:":case "socks:":case "socks5:":e.address=`${a.protocol}//${a.host}`;break;default:throw new Error(V)}switch(e?.type){case "common":case "reverse":this.BaseUrl=re(F,e.address,e.type),this.ApiUrl=se(F,e.address,e.type);break}this.proxy=e;}catch{throw this.proxy=null,new Error(V)}}setToken(e){if(!e.startsWith("ghu_"))throw this.userToken=null,new Error(A);return this.userToken=e,this}generate_jwt(){let e=this.Private_Key,a={exp:Math.floor(Date.now()/1e3)+10*60,iat:Math.floor(Date.now()/1e3),iss:this.Client_ID};return vt.sign(a,e,{algorithm:"RS256"})}setRequestConfig(e){e.url&&(this.currentRequestConfig.url=e.url),e.token&&(this.currentRequestConfig.token=e.token),e.tokenType&&(this.currentRequestConfig.tokenType=e.tokenType);}createRequest(){let{url:e,token:a,tokenType:r}=this.currentRequestConfig,o=this.proxy?.type!=="common"?this.proxy:null,t={"X-GitHub-Api-Version":"2022-11-28",Accept:"application/vnd.github+json"};return new O(e,r,a??null,o,t)}async get(e,a,r){try{let t=await this.createRequest().get(e,a,r);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(E);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(o){throw new Error(`GET \u8BF7\u6C42${e}\u5931\u8D25: ${o.message}`)}}async post(e,a,r){try{let t=await this.createRequest().post(e,a,r);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(E);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(o){throw new Error(`POST \u8BF7\u6C42${e}\u5931\u8D25: ${o.message}`)}}async patch(e,a=null,r,o){try{let s=await this.createRequest().patch(e,a,r,o);if((s.statusCode===403||s.statusCode===429)&&s.headers["x-ratelimit-remaining"]==="0")throw new Error(E);return {success:s.success,status:s.success?"ok":"error",statusCode:s.statusCode,msg:s.msg,data:s.data}}catch(t){throw new Error(`PATCH \u8BF7\u6C42${e}\u5931\u8D25: ${t.message}`)}}async put(e,a,r){try{let t=await this.createRequest().put(e,a,r);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(E);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(o){throw new Error(`PUT \u8BF7\u6C42${e}\u5931\u8D25: ${o.message}`)}}async delete(e,a=null,r,o){try{let s=await this.createRequest().delete(e,a,r,o);if((s.statusCode===403||s.statusCode===429)&&s.headers["x-ratelimit-remaining"]==="0")throw new Error(E);return {success:s.success,status:s.success?"ok":"error",statusCode:s.statusCode,msg:s.msg,data:s.data}}catch(t){throw new Error(`DELETE \u8BF7\u6C42${e}\u5931\u8D25: ${t.message}`)}}};});var mt={};k(mt,{App:()=>J});var J,_e=y(()=>{b();C();J=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 a=e.access_token??this.userToken;if(!e.app_slug)throw new Error(fe);if(!a)throw new Error(I);try{this.setRequestConfig({token:a});let r=await this.get(`/apps/${e.app_slug}`);if(r.statusCode===200){let o={id:r.data.id,name:r.data.name,client_id:r.data.client_id,slug:r.data.slug,owner:{id:r.data.owner.id,login:r.data.owner.login,name:r.data.owner.name,email:r.data.owner.email,html_url:r.data.owner.html_url,avatar_url:r.data.owner.avatar_url,type:capitalize(r.data.owner.type.toLowerCase())},description:r.data.description,external_url:r.data.external_url,html_url:r.data.html_url,permissions:r.data.permissions,events:r.data.events,created_at:r.data.created_at,updated_at:r.data.updated_at};r.data=o;}return r}catch(r){throw new Error(`\u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_app_info_by_auth(){try{this.setRequestConfig({url:this.ApiUrl,token:this.jwtToken});let e=await this.get("/app");if(e.statusCode===200){let a={id:e.data.id,name:e.data.name,client_id:e.data.client_id,slug:e.data.slug,owner:{id:e.data.owner.id,login:e.data.owner.login,name:e.data.owner.name,email:e.data.owner.email,html_url:e.data.owner.html_url,avatar_url:e.data.owner.avatar_url,type:capitalize(e.data.owner.type.toLowerCase())},description:e.data.description,external_url:e.data.external_url,html_url:e.data.html_url,permissions:e.data.permissions,events:e.data.events,created_at:e.data.created_at,updated_at:e.data.updated_at};e.data=a;}return e}catch(e){throw new Error(`\u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${e.message}`)}}async get_app_installation_by_repo(e){if(!e.owner||!e.repo)throw new Error(d);try{this.setRequestConfig({token:this.jwtToken});let{owner:a,repo:r}=e,o=await this.get(`/repos/${a}/${r}/installation`);switch(o.statusCode){case 404:throw new Error(R);case 301:throw new Error(Oe)}if(o.data){let t={id:o.data.id,html_url:o.data.html_url,app_id:o.data.app_id,app_slug:o.data.app_slug,target_id:o.data.target_id,target_type:o.data.target_type,account:{id:o.data.account.id,login:o.data.account.login,name:o.data.account.name,email:o.data.account.email,html_url:o.data.account.html_url,avatar_url:o.data.account.avatar_url,type:capitalize(o.data.account.type.toLowerCase())},repository_selection:o.data.repository_selection,access_tokens_url:o.data.access_tokens_url,repositories_url:o.data.repositories_url,permissions:o.data.permissions,events:o.data.events,created_at:o.data.created_at,updated_at:o.data.updated_at};o.data=t;}return o}catch(a){throw new Error(`\u83B7\u53D6\u5B58\u50A8\u5E93\u5B89\u88C5\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async create_install_link(e){try{let a=new URL(`apps/${await this.get_app_name()}/installations/new`,this.BaseUrl);return a.search=new URLSearchParams({...e&&{state:e}}).toString(),a.toString()}catch(a){throw new Error(`\u751F\u6210\u5E94\u7528\u5B89\u88C5\u94FE\u63A5\u5931\u8D25: ${a.message}`)}}async create_config_install_link(e){try{let a=new URL(`apps/${await this.get_app_name()}/installations/new`,this.BaseUrl);return a.search=new URLSearchParams({...e&&{state:e}}).toString(),a.toString()}catch(a){throw new Error(`\u751F\u6210\u5E94\u7528\u914D\u7F6E\u94FE\u63A5\u5931\u8D25: ${a.message}`)}}async get_app_name(){return (await this.get_app_info_by_auth()).data.name}};});b();oe();ne();var ye={};k(ye,{App:()=>J,Auth:()=>D,Commit:()=>B,GitHubClient:()=>g,Issue:()=>H,Org:()=>G,Repo:()=>z,User:()=>W,WebHook:()=>j});_e();ie();C();ue();le();me();pe();ce();ge();var we=class{github;constructor(e){if(!e.github)throw new Error("GitHub \u5BA2\u6237\u7AEF\u672A\u914D\u7F6E");this.github=new g(e.github);}};var bs=we;
4
+ export{we as Client,g as GitHubClient,kt as create_state_id,bs as default,_ as formatDate,ee as get_langage_color,bt as get_relative_time,ye as github};
package/dist/esm/root.mjs CHANGED
@@ -1 +1 @@
1
- import e from'path';import {fileURLToPath}from'url';var r=fileURLToPath(import.meta.url).replace(/\\/g,"/").replace(/\/$/,""),p=e.resolve(r,"../../").replace(/\\/g,"/").replace(/\/$/,""),l=e.resolve(r,"../").replace(/\\/g,"/").replace(/\/$/,"");export{p as basePath,l as dirPath};
1
+ import e from'path';import {fileURLToPath}from'url';var r=fileURLToPath(import.meta.url).replace(/\\/g,"/"),p=e.resolve(r,"../../").replace(/\\/g,"/"),l=e.resolve(r,"../").replace(/\\/g,"/");export{p as basePath,l as dirPath};
package/dist/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
- /** 反向代理地址 */
2
- type ReverseProxyCommonUrlType = string;
1
+ /** 代理地址类型 */
2
+ type ProxyUrlType = string;
3
+ /** 代理类型 */
4
+ type ProxyType = 'reverse' | 'common';
3
5
  /** Git类型 */
4
6
  type ApiType = 'github' | 'gitee' | 'gitcode';
5
7
  /**
@@ -8,31 +10,46 @@ type ApiType = 'github' | 'gitee' | 'gitcode';
8
10
  interface CommonProxyType {
9
11
  type: 'common';
10
12
  /** 代理基础地址 */
11
- address: string;
13
+ address: ProxyUrlType;
14
+ }
15
+ /**
16
+ * 反向代理配置
17
+ */
18
+ interface ReverseProxyType {
19
+ type: 'reverse';
20
+ /** 代理基础地址 */
21
+ address: ProxyUrlType;
12
22
  }
13
23
  /**
14
24
  * HTTP 代理配置
15
25
  */
16
26
  interface HttpProxyType {
17
27
  type: 'http';
18
- address: string;
28
+ address: ProxyUrlType;
19
29
  }
20
30
  /**
21
31
  * HTTPS 代理配置
22
32
  */
23
33
  interface HttpsProxyType {
24
34
  type: 'https';
25
- address: string;
35
+ address: ProxyUrlType;
26
36
  }
27
37
  /**
28
38
  * SOCKS5 代理配置
29
39
  */
30
40
  interface SocksProxyType {
31
41
  type: 'socks';
32
- address: string;
42
+ address: ProxyUrlType;
43
+ }
44
+ /**
45
+ * SOCKS5 代理配置
46
+ */
47
+ interface Socks5ProxyType {
48
+ type: 'socks5';
49
+ address: ProxyUrlType;
33
50
  }
34
51
  /** 代理配置参数类型 */
35
- type ProxyParamsType = HttpProxyType | HttpsProxyType | SocksProxyType | CommonProxyType;
52
+ type ProxyParamsType = HttpProxyType | HttpsProxyType | SocksProxyType | Socks5ProxyType | CommonProxyType | ReverseProxyType;
36
53
 
37
54
  interface PkgInfoType {
38
55
  /** 包名 */
@@ -227,7 +244,7 @@ interface UserInfoResponseType {
227
244
  following: number;
228
245
  }
229
246
 
230
- type AppOwner = Omit<UserInfoResponseType, 'company' | 'bio' | 'blog' | 'followers' | 'following'>;
247
+ type AppUser = Omit<UserInfoResponseType, 'company' | 'bio' | 'blog' | 'followers' | 'following'>;
231
248
  /**
232
249
  * 定义 Base 应用所需的权限
233
250
  */
@@ -265,7 +282,7 @@ interface AppInfoResponseType {
265
282
  /** 应用的标识符(slug) */
266
283
  slug: string;
267
284
  /** 应用所有者的信息 */
268
- owner: AppOwner;
285
+ owner: AppUser;
269
286
  /** 应用的描述 */
270
287
  description: string;
271
288
  /** 应用的外部 URL */
@@ -296,7 +313,7 @@ interface AppRepoInfoResponseType {
296
313
  /** 目标类型(如'Organization') */
297
314
  target_type: string;
298
315
  /** 安装的账户信息,可以是用户或企业 */
299
- account: AppOwner | null;
316
+ account: AppUser;
300
317
  /** 仓库选择类型 */
301
318
  repository_selection: 'all' | 'selected';
302
319
  /** 访问令牌URL */
@@ -315,6 +332,10 @@ interface AppRepoInfoResponseType {
315
332
 
316
333
  /** Github 授权令牌接口返回类型 */
317
334
  interface TokenResponseType {
335
+ /** 是否成功刷新 */
336
+ success: boolean;
337
+ /** 获取访问令牌信息 */
338
+ info: string;
318
339
  /** 用户访问令牌, 格式为 ghu_ 开头 */
319
340
  access_token: string;
320
341
  /** access_token 过期前的秒数,默认值为 28800(8小时) */
@@ -332,7 +353,7 @@ interface TokenResponseType {
332
353
  interface RefreshTokenResponseType {
333
354
  /** 是否成功刷新 */
334
355
  success: boolean;
335
- /** 刷新令牌信息 */
356
+ /** 获取刷新令牌信息 */
336
357
  info: string;
337
358
  /** 用户访问令牌,格式为 ghu_ 开头 */
338
359
  access_token: string;
@@ -384,9 +405,9 @@ interface Commit$1 {
384
405
  /** 提交的URL */
385
406
  url: string;
386
407
  /** 提交作者信息 */
387
- author: GitUser | null;
408
+ author: GitUser;
388
409
  /** 提交者信息 */
389
- committer: GitUser | null;
410
+ committer: GitUser;
390
411
  /** 提交信息 */
391
412
  message: string;
392
413
  /**
@@ -444,12 +465,10 @@ interface ParentCommit {
444
465
  type CommitInfoParamType = CommitInfoBaseParamType | CommitInfoUrlParamType;
445
466
  /** 提交信息响应类型 */
446
467
  interface CommitInfoResponseType {
447
- /** 提交URL */
448
- url: string;
449
- /** 提交SHA */
450
- sha: string;
451
468
  /** HTML URL */
452
469
  html_url: string;
470
+ /** 提交SHA */
471
+ sha: string;
453
472
  /** 评论URL */
454
473
  comments_url: string;
455
474
  /** 提交信息 */
@@ -501,7 +520,7 @@ interface MilestoneType {
501
520
  due_on: string | null;
502
521
  }
503
522
  /** 议题信息参数类型 */
504
- type IssueInfoParamType = RepoParamType & {
523
+ type IssueInfoParamType = RepoBaseParamType & {
505
524
  /** 议题ID */
506
525
  issue_number: IssueIdParamType['issue_id'];
507
526
  };
@@ -524,7 +543,7 @@ interface IssueInfoResponseType {
524
543
  /** 议题正文内容 */
525
544
  body: string | null;
526
545
  /** 议题创建者用户信息 */
527
- user: IssueUser | null;
546
+ user: IssueUser;
528
547
  /** 议题标签 */
529
548
  labels: Array<IssueLabelType> | null;
530
549
  /**
@@ -546,7 +565,7 @@ interface IssueInfoResponseType {
546
565
  updated_at: string;
547
566
  }
548
567
  /** 议题列表参数类型 */
549
- type RepoIssueListParamType = RepoParamType & {
568
+ type RepoIssueListParamType = RepoBaseParamType & {
550
569
  /**
551
570
  * 里程碑筛选
552
571
  * @default *
@@ -702,7 +721,7 @@ interface IssueCommentInfoResponseType {
702
721
  /** 评论内容 */
703
722
  body: string;
704
723
  /** 评论用户信息 */
705
- user: IssueUser | null;
724
+ user: IssueUser;
706
725
  /** 创建时间 */
707
726
  created_at: string;
708
727
  /** 更新时间 */
@@ -915,7 +934,7 @@ interface ReleaseAssetsType {
915
934
  browser_download_url: string;
916
935
  }
917
936
  /** 获取Release信息参数类型 */
918
- type ReleaseInfoParamType = RepoParamType & {
937
+ type ReleaseInfoParamType = RepoBaseParamType & {
919
938
  /** 发布ID */
920
939
  release_id: number;
921
940
  };
@@ -944,18 +963,18 @@ interface ReleaseInfoResponseType {
944
963
  created_at: string;
945
964
  }
946
965
  /** 获取最新Release参数类型 */
947
- type ReleaseLatestParamTypeType = RepoParamType;
966
+ type ReleaseLatestParamTypeType = RepoBaseParamType;
948
967
  /** 获取最新Release响应类型 */
949
968
  type ReleaseLatestResponseType = ReleaseInfoResponseType;
950
969
  /** 通过Tag获取Release信息参数类型 */
951
- type ReleaseInfoByTagParamType = RepoParamType & {
970
+ type ReleaseInfoByTagParamType = RepoBaseParamType & {
952
971
  /** 标签名称 */
953
972
  tag: string;
954
973
  };
955
974
  /** 通过Tag获取Release信息响应类型 */
956
975
  type ReleaseInfoByTagResponseType = ReleaseInfoResponseType;
957
976
  /** 获取Release列表参数类型 */
958
- type ReleaseListParamType = RepoParamType & {
977
+ type ReleaseListParamType = RepoBaseParamType & {
959
978
  /** 每页数量 */
960
979
  per_page?: number;
961
980
  /** 页码 */
@@ -990,6 +1009,8 @@ interface DeleteReleaseResponseType {
990
1009
  info: string;
991
1010
  }
992
1011
 
1012
+ /** 仓库所有者参数类型 */
1013
+ type RepoUser = Omit<UserInfoResponseType, 'followers' | 'following' | 'blog' | 'bio' | 'company'>;
993
1014
  /** 仓库列表参数类型 */
994
1015
  interface RepoListBaseParamType {
995
1016
  /** 排序方式,可选created, updated, pushed, full_name, 默认为 full_name */
@@ -1012,7 +1033,7 @@ interface UserByTokenRepoListParamType extends RepoListBaseParamType {
1012
1033
  format?: formatParamType['format'];
1013
1034
  }
1014
1035
  /** 仓库信息请求参数 */
1015
- type RepoInfoParamType = RepoParamType & {
1036
+ type RepoInfoParamType = RepoBaseParamType & {
1016
1037
  /** 是否格式化日期 */
1017
1038
  format?: formatParamType['format'];
1018
1039
  };
@@ -1123,7 +1144,7 @@ interface RepoInfoResponseType {
1123
1144
  /** * 仓库的完整名称,包含用户名或组织名 */
1124
1145
  full_name: string;
1125
1146
  /** * 仓库拥有者的信息 */
1126
- owner: UserInfoResponseType;
1147
+ owner: RepoUser;
1127
1148
  /** 仓库是否公开 */
1128
1149
  public: boolean;
1129
1150
  /** * 仓库是否私有 */
@@ -1140,10 +1161,6 @@ interface RepoInfoResponseType {
1140
1161
  html_url: string;
1141
1162
  /** * 仓库的描述信息 */
1142
1163
  description: string | null;
1143
- /** * 仓库的创建时间 */
1144
- created_at: string;
1145
- /** * 仓库的更新时间 */
1146
- updated_at: string;
1147
1164
  /** * 仓库的 Stargazer 数量 */
1148
1165
  stargazers_count: number;
1149
1166
  /** * 仓库的 Watcher 数量 */
@@ -1156,6 +1173,12 @@ interface RepoInfoResponseType {
1156
1173
  open_issues_count: number;
1157
1174
  /** * 仓库的默认分支 */
1158
1175
  default_branch: string;
1176
+ /** * 仓库的创建时间 */
1177
+ created_at: string;
1178
+ /** * 仓库的更新时间 */
1179
+ updated_at: string;
1180
+ /** * 仓库的推送时间 */
1181
+ pushed_at: string;
1159
1182
  }
1160
1183
  /** 组织仓库列表参数类型 */
1161
1184
  interface OrgRepoListParmType extends RepoListBaseParamType {
@@ -1252,7 +1275,7 @@ interface LanguageInfo {
1252
1275
  bytes: number;
1253
1276
  }
1254
1277
  /** 仓库语言列表参数类型 */
1255
- type RepoLanguagesListParamType = RepoParamType;
1278
+ type RepoLanguagesListParamType = RepoBaseParamType;
1256
1279
  /** 仓库语言列表类型 */
1257
1280
  interface RepoLanguagesListType {
1258
1281
  /** 仓库的语言统计信息列表 */
@@ -1284,16 +1307,24 @@ type CollaboratorParamType = RepoInfoParamType & UserNameParamType & {
1284
1307
  * maintain - 允许管理仓库中的代码和议题,但不能更改仓库设置。
1285
1308
  * admin - 拥有仓库的完全控制权,包括更改设置和删除仓库。
1286
1309
  */
1287
- permission?: 'pull' | 'triage' | 'push' | 'maintain' | 'admin';
1310
+ permission?: string;
1288
1311
  /** 是否格式化日期 */
1289
1312
  format: formatParamType['format'];
1290
1313
  };
1291
1314
  /** 邀请协作者响应类型 */
1292
1315
  interface AddCollaboratorResponseType {
1293
- /** 邀请唯一id */
1316
+ /** 被邀请者ID */
1294
1317
  id: number;
1295
- /** 邀请仓库信息 */
1296
- repository: RepoInfoResponseType;
1318
+ /** 被邀请者用户名 */
1319
+ login: string;
1320
+ /** 被邀请者的别名 */
1321
+ name: string | null;
1322
+ /** 被邀请者的头像URL */
1323
+ avatar_url: string;
1324
+ /** 仓库的地址 */
1325
+ html_url: string;
1326
+ /** 被邀请者的权限 */
1327
+ permissions: string;
1297
1328
  }
1298
1329
  /** 协作者列表参数类型 */
1299
1330
  type CollaboratorListParamType = RepoInfoParamType & {
@@ -1349,7 +1380,7 @@ interface CollaboratorInfoResponseType {
1349
1380
  /** 协作者列表响应类型 */
1350
1381
  type CollaboratorListResponseType = CollaboratorInfoResponseType[];
1351
1382
  /** 移除协作者参数类型 */
1352
- type RemoveCollaboratorParamType = RepoParamType & UserNameParamType;
1383
+ type RemoveCollaboratorParamType = RepoBaseParamType & UserNameParamType;
1353
1384
  /** 移除协作者响应类型 */
1354
1385
  interface RemoveCollaboratorResponseType {
1355
1386
  /** 状态信息 */
@@ -1427,18 +1458,6 @@ declare function create_state_id(): Promise<string>;
1427
1458
  */
1428
1459
  declare class Auth extends GitHubClient {
1429
1460
  constructor(base: GitHubClient);
1430
- /**
1431
- * 生成Github App 授权链接
1432
- * @param state_id - 随机生成的 state_id,用于验证授权请求的状态,可选,默认不使用
1433
- * @returns 返回授权链接对象
1434
- * @returns create_auth_link 授权链接,用于跳转 Github 授权页
1435
- * @example
1436
- * ```ts
1437
- * const link = await auth.create_auth_link('state_id')
1438
- * console.log(link) // https://github.com/login/oauth/authorize?client_id=<client_id>&state=<state_id>
1439
- * ```
1440
- */
1441
- create_auth_link(state_id?: string): Promise<string>;
1442
1461
  /**
1443
1462
  * 通过 code 获取 token
1444
1463
  * @param options - 获取 token 的参数
@@ -1476,6 +1495,18 @@ declare class Auth extends GitHubClient {
1476
1495
  * ```
1477
1496
  */
1478
1497
  refresh_token(options: RefreshTokenType): Promise<ApiResponseType<RefreshTokenResponseType>>;
1498
+ /**
1499
+ * 生成Github App 授权链接
1500
+ * @param state_id - 随机生成的 state_id,用于验证授权请求的状态,可选,默认不使用
1501
+ * @returns 返回授权链接对象
1502
+ * @returns create_auth_link 授权链接,用于跳转 Github 授权页
1503
+ * @example
1504
+ * ```ts
1505
+ * const link = await auth.create_auth_link('state_id')
1506
+ * console.log(link) // https://github.com/login/oauth/authorize?client_id=<client_id>&state=<state_id>
1507
+ * ```
1508
+ */
1509
+ create_auth_link(state_id?: string): Promise<string>;
1479
1510
  }
1480
1511
 
1481
1512
  /**
@@ -1493,8 +1524,6 @@ declare class Commit extends GitHubClient {
1493
1524
  * @param options - 提交信息参数对象
1494
1525
  * - url 仓库URL地址
1495
1526
  * - owner 仓库拥有者
1496
- * - repo 仓库名称
1497
- * url参数和owner、repo参数传入其中的一种
1498
1527
  * - sha 提交的SHA值,如果不提供,则默认获取仓库的默认分支的最新提交信息
1499
1528
  * - format - 可选,是否格式化提交信息, 默认为false
1500
1529
  * @returns 提交信息
@@ -1527,11 +1556,9 @@ declare class Issue extends GitHubClient {
1527
1556
  * 权限:
1528
1557
  * - Issues: Read-only
1529
1558
  * @param options 请求参数列表
1530
- * - url 仓库URL地址
1531
1559
  * - owner 仓库拥有者
1532
1560
  * - repo 仓库名称
1533
1561
  * - issue_number Issue编号
1534
- * url参数和owner、repo参数传入其中的一种
1535
1562
  * @returns 包含Issue信息的响应对象
1536
1563
  * @example
1537
1564
  * ```ts
@@ -1546,10 +1573,8 @@ declare class Issue extends GitHubClient {
1546
1573
  * 权限:
1547
1574
  * - Issues:Read-only
1548
1575
  * @param options 请求参数列表
1549
- * - url 仓库URL地址
1550
1576
  * - owner 仓库拥有者
1551
1577
  * - repo 仓库名称
1552
- * url参数和owner、repo参数传入其中的一种
1553
1578
  * - milestones 里程碑ID列表
1554
1579
  * - state Issue状态,可选 'open' | 'closed' | 'all', 默认为'all'
1555
1580
  * - labels 标签名称列表
@@ -1615,7 +1640,7 @@ declare class Issue extends GitHubClient {
1615
1640
  * const issue = get_issue() // 获取issue实例
1616
1641
  * const res = await issue.update_issue({ owner: 'owner', repo:'repo', issue_number:1, title:'title', body:'body' })
1617
1642
  * console.log(res) // { data: CreateIssueResponseType }
1618
- * ```
1643
+ * ```
1619
1644
  */
1620
1645
  update_issue(options: UpdateIssueParamType): Promise<ApiResponseType<UpdateIssueResponseType>>;
1621
1646
  /**
@@ -1841,6 +1866,7 @@ declare class Issue extends GitHubClient {
1841
1866
  delete_issue_comment(options: RemoveIssueCommentParamType): Promise<ApiResponseType<RemoveCollaboratorResponseType>>;
1842
1867
  /**
1843
1868
  * 获取子议题列表
1869
+ * @github
1844
1870
  * 仅GitHub 平台使用
1845
1871
  * 权限:
1846
1872
  * - Issues: Read-only
@@ -1852,16 +1878,17 @@ declare class Issue extends GitHubClient {
1852
1878
  * - issue_number 议题编号
1853
1879
  * @returns 子议题列表
1854
1880
  * @example
1855
- * ```ts
1856
- * const issue = get_issue() // 获取issue实例
1857
- * const res = await issue.get_sub_issue_list({ owner: 'owner', repo:'repo', issue_number:1 })
1858
- * console.log(res) // { data: SubIssueListResponseType }
1859
- * ```
1860
- */
1881
+ * ```ts
1882
+ * const issue = get_issue() // 获取issue实例
1883
+ * const res = await issue.get_sub_issue_list({ owner: 'owner', repo:'repo', issue_number:1 })
1884
+ * console.log(res) // { data: SubIssueListResponseType }
1885
+ * ```
1886
+ */
1861
1887
  get_sub_issue_list(options: SubIssueListParamType): Promise<ApiResponseType<SubIssueListResponseType>>;
1862
1888
  /**
1863
1889
  * 添加子议题
1864
1890
  * 添加一个子议题到指定的议题中
1891
+ * @github
1865
1892
  * 仅GitHub 平台使用
1866
1893
  * 权限:
1867
1894
  * - Issues:Write
@@ -1882,6 +1909,8 @@ declare class Issue extends GitHubClient {
1882
1909
  add_sub_issue(options: AddSubIssueParamType): Promise<ApiResponseType<AddSubIssueResponseType>>;
1883
1910
  /**
1884
1911
  * 删除子议题
1912
+ * @github
1913
+ * 仅GitHub 平台使用
1885
1914
  * 权限:
1886
1915
  * - Issues:Write
1887
1916
  * @param options 删除子议题的参数对象
@@ -1890,13 +1919,13 @@ declare class Issue extends GitHubClient {
1890
1919
  * - issue_number 父议题编号
1891
1920
  * - sub_issue_id 子议题编号
1892
1921
  * @returns 删除结果信息
1893
- * @example
1894
- * ```ts
1895
- * const issue = get_issue() // 获取issue实例
1896
- * const res = await issue.remove_sub_issue({ owner: 'owner', repo:'repo', issue_number:1, sub_issue_id:1 })
1897
- * console.log(res) // { data: RemoveSubIssueResponseType }
1898
- * ```
1899
- */
1922
+ * @example
1923
+ * ```ts
1924
+ * const issue = get_issue() // 获取issue实例
1925
+ * const res = await issue.remove_sub_issue({ owner: 'owner', repo:'repo', issue_number:1, sub_issue_id:1 })
1926
+ * console.log(res) // { data: RemoveSubIssueResponseType }
1927
+ * ```
1928
+ */
1900
1929
  remove_sub_issue(options: RemoveSubIssueParamType): Promise<ApiResponseType<RemoveSubIssueResponseType>>;
1901
1930
  /**
1902
1931
  * 删除子议题
@@ -1909,6 +1938,8 @@ declare class Issue extends GitHubClient {
1909
1938
  /**
1910
1939
  * 重新排序子议题
1911
1940
  * 重新确定子议题优先级
1941
+ * @github
1942
+ * 仅GitHub 平台使用
1912
1943
  * 权限:
1913
1944
  * - Issues:Write
1914
1945
  * @param options 重新排序子议题的参数对象
@@ -2260,7 +2291,7 @@ declare class User extends GitHubClient {
2260
2291
  * console.log(userInfo)
2261
2292
  * ```
2262
2293
  */
2263
- get_user_info_by_token(options: UserInfoByAuthParamType): Promise<ApiResponseType<UserInfoResponseType>>;
2294
+ get_user_info_by_token(options?: UserInfoByAuthParamType): Promise<ApiResponseType<UserInfoResponseType>>;
2264
2295
  /**
2265
2296
  * 获取用户贡献数据
2266
2297
  * 权限:无需任何权限
@@ -2663,4 +2694,4 @@ declare class Client {
2663
2694
  constructor(options: ClientType);
2664
2695
  }
2665
2696
 
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 };
2697
+ export { type AccessCodeType, type AccessTokenType, type AddCollaboratorResponseType, type AddSubIssueParamType, type AddSubIssueResponseType, type ApiResponseType, type ApiType, type AppClientType, type AppInfoParamType, type AppInfoResponseType, type AppPermissions, type AppRepoInfoResponseType, type AppUser, 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 ProxyType, type ProxyUrlType, 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 RepoUser, type RepoVisibilityResponseType, type ReprioritizeSubIssueParamType, type ReprioritizeSubIssueResponseType, type RequestConfigType, type RequestTokenType, type ResponseHeadersType, type ResponseMsgType, type ResponseStatusCodeType, type ResponseSuccessType, type ResponseType, type ReverseProxyType, type SecurityAnalysisAdvancedSecurity, type SecurityAnalysisDependabotSecurityUpdates, type SecurityAnalysisSecretScanning, type SecurityAnalysisSecretScanningPushProtection, type SecurityAndAnalysis, type ShaParamType, type Socks5ProxyType, 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.1",
3
+ "version": "0.7.1",
4
4
  "description": "Github, Gitee, GitCode API封装库",
5
5
  "keywords": [
6
6
  "git",