@candriajs/git-neko-kit 0.7.6 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,5 +1,19 @@
1
- # git-neko-kit
2
- Github,Gitee, GitCode API封装库
1
+ # <h1 align="center">git-neko-kit</h1>
2
+
3
+ <div align="center">
4
+ <img src="https://socialify.git.ci/CandriaJS/git-neko-kit/image?description=1&forks=1&issues=1&language=1&name=1&owner=1&pulls=1&stargazers=1&theme=Light" alt="emojimix-plugin" width="640" height="320" />
5
+ <!-- <img src="https://count.kjchmc.cn/get/@git-neko-kit?theme=moebooru" alt="git-neko-kit"> -->
6
+
7
+
8
+
9
+ <img alt="Tag Version" src="https://badgen.net/github/tag/CandriaJS/git-neko-kit"><img alt="Release" src="https://badgen.net/github/release/CandriaJS/git-neko-kit/stable"><img alt="GitHub repo size" src="https://img.shields.io/github/repo-size/CandriaJS/git-neko-kit">
10
+
11
+ <img src="https://badgen.net/npm/v/@candriajs/git-neko-kit?label=git-neko-kit" alt="npm Version">
12
+ <a href="https://pkg-size.dev/@candriajs/git-neko-kit@beta"><img src="https://pkg-size.dev/badge/bundle/1606131" title="Bundle size for git-neko-kit"></a>
13
+ </div>
14
+
15
+ ## 介绍 📝
16
+ `git-neko-kit` 是一个 Github,Gitee, GitCode API封装库
3
17
 
4
18
  > [!Tip]
5
19
  > 开发中
@@ -12,7 +26,7 @@ API 封装进度:
12
26
 
13
27
  | 功能 | 状态 |
14
28
  |----------------|-----------|
15
- | 设置Toke(仅支持Github apps的用户acess_token) | ✅ 已完成 |
29
+ | 设置Toke | ✅ 已完成 |
16
30
  | 设置系统代理 | ✅ 已完成 |
17
31
  | 设置通用代理 | ✅ 已完成 |
18
32
  | 设置反向代理 | ✅ 已完成 |
@@ -105,6 +119,7 @@ API 封装进度:
105
119
  ### 获取实例
106
120
  ```ts
107
121
  import Client from "@candriajs/git-neko-kit";
122
+ // App令牌使用
108
123
  const options = {
109
124
  github: {
110
125
  Client_ID: '',
@@ -114,6 +129,13 @@ const options = {
114
129
  format: false // 是否开启格式化,默认为false, 开启后对日期,提交信息等格式化拆分
115
130
  }
116
131
  }
132
+ // 私人令牌使用
133
+ const options = {
134
+ github: {
135
+ access_token: '',
136
+ format: false // 是否开启格式化,默认为false, 开启后对日期,提交信息等格式化拆分
137
+ }
138
+ }
117
139
  const git_api = new Client(options)
118
140
  ```
119
141
 
@@ -124,12 +146,22 @@ const gh = git_api.github
124
146
  或者
125
147
  ```ts
126
148
  import { GitHubClient } "@candriajs/git-neko-kit";
149
+ // App令牌使用
127
150
  const options = {
128
- Client_ID: '',
129
- Client_Secret: '',
130
- Private_Key: '',
131
- WebHook_Secret: '', // 可选,如果没设置密钥的话,可以不填
132
- format: false // 是否开启格式化,默认为false, 开启后对日期,提交信息等格式化拆分
151
+ github: {
152
+ Client_ID: '',
153
+ Client_Secret: '',
154
+ Private_Key: '',
155
+ WebHook_Secret: '', // 可选,如果没设置密钥的话,可以不填
156
+ format: false // 是否开启格式化,默认为false, 开启后对日期,提交信息等格式化拆分
157
+ }
158
+ }
159
+ // 私人令牌使用
160
+ const options = {
161
+ github: {
162
+ access_token: '',
163
+ format: false // 是否开启格式化,默认为false, 开启后对日期,提交信息等格式化拆分
164
+ }
133
165
  }
134
166
  const gh = new GitHubClient(options)
135
167
  ```
@@ -142,3 +174,9 @@ const info = await repo.get_repo_info({ owner: 'username', repo: 'repo_name' })
142
174
 
143
175
  > [!Tip]
144
176
  > 其他的使用方法一样
177
+
178
+ ## 贡献者 👨‍💻👩‍💻
179
+
180
+ <a href="https://github.com/CandriaJS/git-neko-kit/graphs/contributors">
181
+ <img src="https://contrib.rocks/image?repo=CandriaJS/git-neko-kit" />
182
+ </a>
@@ -1,2 +1,5 @@
1
1
  export * from 'axios';
2
2
  export { default } from 'axios';
3
+ import 'dayjs';
4
+ import 'lodash-es';
5
+ import 'simple-git';
@@ -0,0 +1 @@
1
+ 'use strict';var dayjs=require('dayjs');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var dayjs__default=/*#__PURE__*/_interopDefault(dayjs);module.exports=dayjs__default.default;
@@ -0,0 +1 @@
1
+ export { default } from 'dayjs';
@@ -0,0 +1 @@
1
+ export{default}from'dayjs';
@@ -0,0 +1 @@
1
+ 'use strict';var lodashEs=require('lodash-es');Object.keys(lodashEs).forEach(function(k){if(k!=='default'&&!Object.prototype.hasOwnProperty.call(exports,k))Object.defineProperty(exports,k,{enumerable:true,get:function(){return lodashEs[k]}})});
@@ -0,0 +1 @@
1
+ export * from 'lodash-es';
@@ -0,0 +1 @@
1
+ export*from'lodash-es';
@@ -0,0 +1 @@
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var simpleGit=require('simple-git');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var simpleGit__default=/*#__PURE__*/_interopDefault(simpleGit);Object.defineProperty(exports,"default",{enumerable:true,get:function(){return simpleGit__default.default}});Object.keys(simpleGit).forEach(function(k){if(k!=='default'&&!Object.prototype.hasOwnProperty.call(exports,k))Object.defineProperty(exports,k,{enumerable:true,get:function(){return simpleGit[k]}})});
@@ -0,0 +1,2 @@
1
+ export * from 'simple-git';
2
+ export { default } from 'simple-git';
@@ -0,0 +1 @@
1
+ export*from'simple-git';export{default}from'simple-git';
package/dist/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
- 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var ht=require('path'),url=require('url'),Ze=require('fs'),ft=require('color-convert'),O=require('dayjs'),bt=require('dayjs/plugin/relativeTime.js'),Tt=require('git-url-parse'),Rt=require('language-colors'),uuid=require('uuid'),M=require('axios'),httpProxyAgent=require('http-proxy-agent'),httpsProxyAgent=require('https-proxy-agent'),socksProxyAgent=require('socks-proxy-agent'),lodashEs=require('lodash-es'),pt=require('crypto'),$t=require('jsonwebtoken');var _documentCurrentScript=typeof document!=='undefined'?document.currentScript:null;function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var ht__default=/*#__PURE__*/_interopDefault(ht);var Ze__default=/*#__PURE__*/_interopDefault(Ze);var ft__default=/*#__PURE__*/_interopDefault(ft);var O__default=/*#__PURE__*/_interopDefault(O);var bt__default=/*#__PURE__*/_interopDefault(bt);var Tt__default=/*#__PURE__*/_interopDefault(Tt);var Rt__default=/*#__PURE__*/_interopDefault(Rt);var M__default=/*#__PURE__*/_interopDefault(M);var pt__default=/*#__PURE__*/_interopDefault(pt);var $t__default=/*#__PURE__*/_interopDefault($t);var _t=Object.defineProperty;var w=(d,e)=>()=>(d&&(e=d(d=0)),e);var P=(d,e)=>{for(var a in e)_t(d,a,{get:e[a],enumerable:true});};var Pe,Y,I,Ee,L,E,Ie,ve,xe,c,X,U,Q,N,Ae,x,A,$e,Me,Z,Le,_,Ue,Ne,Se,qe,ee,f,R,Oe,De,Be,He,S,q,C,ze,te,$,We,ae,v,Ge=w(()=>{Pe="\u55B5\u545C~ \u5E94\u7528\u6807\u8BC6\u7B26\u4E0D\u80FD\u4E3A\u7A7A",Y="\u55B5\u545C~ \u6388\u6743\u7801\u4E0D\u80FD\u4E3A\u7A7A",I="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u4E0D\u80FD\u4E3A\u7A7A",Ee="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A\u54E6",L="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",E="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",Ie="\u55B5\u545C~ \u8BAE\u9898\u6807\u9898\u4E0D\u80FD\u4E3A\u7A7A",ve="\u55B5\u545C~ \u7EC4\u7EC7\u540D\u6216\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A",xe="\u55B5\u545C~ \u7EC4\u7EC7\u540D\u4E0D\u80FD\u4E3A\u7A7A",c="\u55B5\u545C~ \u8BF7\u63D0\u4F9B\u4ED3\u5E93\u62E5\u6709\u8005\u548C\u4ED3\u5E93\u540D\u79F0",X="\u55B5\u545C~ \u8BF7\u63D0\u4F9B\u4ED3\u5E93\u4FE1\u606F(\u4ED3\u5E93\u62E5\u6709\u8005/\u4ED3\u5E93\u540D\u6216\u5B8C\u6574URL)",U="\u55B5\u545C~ \u53C2\u6570\u597D\u50CF\u4E0D\u592A\u5BF9\u5462",Q="\u55B5\u545C~ \u4EE3\u7406\u5730\u5740\u683C\u5F0F\u4E0D\u6B63\u786E\u54E6",N="\u55B5\u545C~ \u8FD9\u4E2A\u5B50\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",Ae="\u55B5\u545C~ \u7528\u6237ID\u4E0D\u80FD\u4E3A\u7A7A",x="\u55B5\u545C~ \u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A",A="\u55B5\u545C~ \u8FD9\u4E2A\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",$e="\u55B5\u545C~ \u8FD9\u4E2A\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",Me="\u55B5\u545C~ \u6743\u9650\u4E0D\u6B63\u786E\uFF0C\u8BF7\u68C0\u67E5\u6743\u9650",Z="\u55B5\u545C~ \u8FD9\u4E2A\u5237\u65B0\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",Le="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5DF2\u8FC7\u671F",_="\u55B5\u545C~ \u8BBF\u95EE\u88AB\u62D2\u7EDD\u5566\uFF0C\u53EF\u80FD\u662F\u4EE4\u724C\u8FC7\u671F\u4E86\u6216\u6743\u9650\u4E0D\u8DB3",Ue="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u5931\u8D25",Ne="\u55B5\u545C~ \u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25",Se="\u55B5\u545C~ \u7EC4\u7EC7\u8D26\u53F7\u6682\u4E0D\u652F\u6301",qe="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u4E0D\u5B58\u5728\u54E6",ee="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",f="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u4E0D\u5B58\u5728\u54E6",R="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u4E0D\u5B58\u5728\u54E6",Oe="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u5DF2\u88AB\u79FB\u52A8",De="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u9501\u5B9A\u5931\u8D25\u54E6",Be="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u521B\u5EFA\u5931\u8D25\u54E6",He="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u89E3\u9501\u5931\u8D25\u54E6",S="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u4E0D\u5B58\u5728\u54E6",q="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u6216\u7528\u6237\u4E0D\u5B58\u5728\u54E6",C="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",ze="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u5DF2\u88AB\u79FB\u52A8",te="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u4E0D\u5B58\u5728\u6216\u8BBF\u95EE\u88AB\u62D2\u7EDD\u5566\uFF0C\u53EF\u80FD\u662F\u4EE4\u724C\u8FC7\u671F\u4E86\u6216\u6743\u9650\u4E0D\u8DB3",$="\u55B5\u545C~ \u8FD9\u4E2A\u7528\u6237\u4E0D\u5B58\u5728\u54E6",We="\u55B5\u545C~ WebHook \u7B7E\u540D\u683C\u5F0F\u4E0D\u6B63\u786E",ae="\u55B5\u545C~ WebHook \u7B7E\u540D\u9A8C\u8BC1\u5931\u8D25",v="\u55B5\u545C~ \u8BBF\u95EE\u901F\u7387\u53D7\u9650\u5566 \u8BF7\u7B49\u5F851\u5C0F\u65F6\u540E\u518D\u8BD5 \u6216 \u4F7F\u7528\u8BBF\u95EE\u4EE4\u724C\u63D0\u5347\u9650\u989D";});var je,se,Fe,Je,Ke,Ve,Ye=w(()=>{je="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u6210\u529F",se="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u6709\u6548",Fe="\u55B5\u545C~ WebHook \u7B7E\u540D\u6210\u529F",Je="\u55B5\u545C~ \u8BAE\u9898\u9501\u5B9A\u6210\u529F",Ke="\u55B5\u545C~ \u8BAE\u9898\u89E3\u9501\u6210\u529F",Ve="\u55B5\u545C~ \u8BAE\u9898\u8BC4\u8BBA\u521B\u5EFA\u6210\u529F";});var wt,Xe,Qe=w(()=>{wt=url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index.cjs', document.baseURI).href))),Xe=Object.freeze(ht__default.default.join(wt,"../..").replace(/\\/g,"/"));});function et(d="",e=""){e=e||Xe;try{let a=`${e}/${d}`;if(!Ze__default.default.existsSync(a))return console.warn(`\u6587\u4EF6\u4E0D\u5B58\u5728: ${a}`),{};let r=Ze__default.default.readFileSync(a,"utf8");return JSON.parse(r)}catch(a){return console.error(`\u8BFB\u53D6 JSON \u6587\u4EF6\u5931\u8D25: ${d}`,a),{}}}async function tt(d="zh-cn"){let e=String(d).toLowerCase();await import(`dayjs/locale/${e}.js`),O__default.default.locale(e);}async function h(d,e="zh-cn",a="YYYY-MM-DD HH:mm:ss"){return await tt(e),O__default.default(d).format(a)}async function Ct(d,e="zh-cn"){return await tt(e),O__default.default.extend(bt__default.default),O__default.default(d).fromNow()}function re(d){let e=/^https?:\/\/[^/]+\/(?:https?:\/\/)?([^/]+\/[^/]+\/[^/]+)/,a=d.match(e);if(a){let o=a[1];d=o.startsWith("https")?o:`https://${o}`;}let r=Tt__default.default(d);return {owner:r.owner,repo:r.name}}function kt(d){if(!Array.isArray(d))throw new Error("RGB\u503C\u5FC5\u987B\u662F\u6570\u7EC4\u7C7B\u578B");if(d.length!==3)throw new Error("RGB\u6570\u7EC4\u5FC5\u987B\u5305\u542B\u4E14\u4EC5\u5305\u542B3\u4E2A\u503C");if(!d.every(e=>Number.isInteger(e)&&e>=0&&e<=255))throw new Error("RGB\u503C\u5FC5\u987B\u90FD\u662F0-255\u4E4B\u95F4\u7684\u6574\u6570");return `#${ft__default.default.rgb.hex(d)}`}function oe(d){return d=String(d).toLowerCase(),kt(Rt__default.default[d].color)??"#ededed"}async function Pt(d,e){return Promise.resolve(Array.from({length:Math.ceil(d.length/e)},(a,r)=>d.slice(r*e,r*e+e)))}async function at(d){let e=/data-date="(.*?)" id="contribution-day-component/g,a=/<tool-tip .*?class="sr-only position-absolute">(.*?) contribution/g,r=Array.from(d.matchAll(e),i=>i[1]),o=Array.from(d.matchAll(a),i=>String(i[1]).toLowerCase()==="no"?0:parseInt(i[1]));if(!r.length||!o.length)return {total:0,contributions:[]};let t=r.map((i,u)=>({date:i,count:o[u]})).sort((i,u)=>i.date.localeCompare(u.date)),s=await Pt(t,7);return {total:o.reduce((i,u)=>i+u,0),contributions:s}}var ne=w(()=>{Qe();});var ie,st=w(()=>{ne();ie=et("package.json");});var b=w(()=>{Ge();Ye();ne();st();});function ue(d="github",e,a="common"){let r={github:"api.github.com",gitee:"gitee.com/api/v5",gitcode:"api.gitcode.com/api/v5"};if(!e)return `https://${r[d??"github"]}`.replace(/\/$/,"");let t=`${e.match(/^(https?):/)?.[1]??"https"}://${e.replace(/^https?:\/\/|\/$/g,"")}`;return a==="common"?t:`${t}/${r[d]}`}function le(d="github",e,a="common"){let r={github:"github.com",gitee:"gitee.com",gitcode:"gitcode.com"};if(!e)return `https://${r[d??"github"]}`.replace(/\/$/,"");let t=`${e.match(/^(https?):/)?.[1]??"https"}://${e.replace(/^https?:\/\/|\/$/g,"")}`;return a==="common"?t:`${t}/${r[d]}`}async function It(){return Promise.resolve(uuid.v4().replace(/-/g,""))}var de=w(()=>{});var D,pe=w(()=>{b();D=class{baseUrl;tokenType;authorization;proxy;defaultHeaders;constructor(e,a="Bearer",r,o,t){this.baseUrl=e.replace(/\/$/,""),this.authorization=r,this.proxy=o,this.tokenType=a,this.defaultHeaders=t;}async request(e,a,r,o,t){let s=`${this.baseUrl}/${a}`.replace(/\/+/g,"/"),i={headers:this.createHeaders(t),params:r,validateStatus:()=>true};if(this.proxy){let u=this.proxy.type,n=this.proxy.address;switch(u){case "http":i.httpAgent=new httpProxyAgent.HttpProxyAgent(n),i.httpsAgent=new httpsProxyAgent.HttpsProxyAgent(n);break;case "https":i.httpsAgent=new httpsProxyAgent.HttpsProxyAgent(n);break;case "socks":case "socks5":{let l=new socksProxyAgent.SocksProxyAgent(n);i.httpAgent=l,i.httpsAgent=l;break}}}try{let u;switch(e){case "get":u=await M__default.default.get(s,i);break;case "post":u=await M__default.default.post(s,o,i);break;case "patch":u=await M__default.default.patch(s,o,i);break;case "put":u=await M__default.default.put(s,o,i);break;case "delete":u=await M__default.default.delete(s,{...i,data:o});break;default:throw new Error(`\u4E0D\u652F\u6301\u7684\u8BF7\u6C42\u65B9\u6CD5: ${e}`)}let n=Object.fromEntries(Object.entries(u.headers).filter(([l,g])=>g!==void 0).map(([l,g])=>[l.toLowerCase(),g]));return {success:!0,statusCode:u.status,headers:n,data:u.data,msg:u.status>=200&&u.status<500?"\u8BF7\u6C42\u6210\u529F":"\u8BF7\u6C42\u5F02\u5E38"}}catch(u){let n=u,l=n.response?.headers?Object.fromEntries(Object.entries(n.response.headers).filter(([g,p])=>p!==void 0).map(([g,p])=>[g,p])):{};return {success:false,statusCode:n.response?.status??500,headers:l,msg:n.message??"\u7F51\u7EDC\u8FDE\u63A5\u5931\u8D25",data:null}}}async get(e,a,r){return this.request("get",e,a,null,r)}async post(e,a,r,o){return this.request("post",e,a,r,o)}async patch(e,a=null,r,o){return this.request("patch",e,a,r,o)}async put(e,a,r,o){return this.request("put",e,a,r,o)}async delete(e,a=null,r,o){return this.request("delete",e,a,r,o)}createHeaders(e){let a={"Content-Type":"application/json","User-Agent":`${ie.name}/v${ie.version}`,...this.defaultHeaders??{}};if(this.authorization)if(this.tokenType==="Basic"){let r=Buffer.from(this.authorization).toString("base64");a.Authorization=`Basic ${r}`;}else this.tokenType==="Bearer"?a.Authorization=`Bearer ${this.authorization}`:a.Authorization=`${this.tokenType} ${this.authorization}`;return e&&Object.assign(a,e),a}};});var ot={};P(ot,{Auth:()=>B});var B,ce=w(()=>{b();k();B=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_token_by_code(e){try{if(!e.code)throw new Error(Y);this.setRequestConfig({url:this.BaseUrl});let a=await this.post("/login/oauth/access_token",{client_id:this.Client_ID,client_secret:this.Client_Secret,code:e.code},{Accept:"application/json"}),r=a.status==="ok"&&a.statusCode===200&&!a.data.error;if(a.data){if(!r)throw new Error(Ne);let o={success:r,info:se,access_token:a.data.access_token,expires_in:a.data.expires_in??null,refresh_token:a.data.refresh_token??null,refresh_token_expires_in:a.data.refresh_token_expires_in??null,scope:a.data.scope,token_type:a.data.token_type};a.data=o;}return a}catch(a){throw new Error(`\u8BF7\u6C42\u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${a.message}`)}}async check_token_status(e){try{let a=e?.access_token??this.userToken;if(!a)throw new Error(I);if(!a.startsWith("ghu_"))throw new Error($e);this.setRequestConfig({url:this.ApiUrl,tokenType:"Basic",token:`${this.Client_ID}:${this.Client_Secret}`});let r=await this.post(`/applications/${this.Client_ID}/token`,{access_token:a});if(r.data){let o=!(r.status==="ok"&&(r.statusCode===404||r.statusCode===422));r.data={success:o,info:o?se:Le};}return r}catch(a){throw new Error(`\u8BF7\u6C42\u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u72B6\u6001\u5931\u8D25: ${a.message}`)}}async refresh_token(e){try{if(!e.refresh_token)throw new Error(Y);if(!e.refresh_token.startsWith("ghr_"))throw new Error(Z);this.setRequestConfig({url:this.BaseUrl});let a=await this.post("/login/oauth/access_token",{client_id:this.Client_ID,client_secret:this.Client_Secret,grant_type:"refresh_token",refresh_token:e.refresh_token},{Accept:"application/json"}),r=a.status==="ok"&&a.statusCode===200&&!a.data.error,o=Ue;switch(a.data.error){case "bad_refresh_token":o=Z;break;case "unauthorized":o=_;break}if(a.data){if(!r)throw new Error(o);let t={success:r,info:je,access_token:a.data.access_token,expires_in:a.data.expires_in??null,refresh_token:a.data.refresh_token??null,refresh_token_expires_in:a.data.refresh_token_expires_in??null,scope:a.data.scope,token_type:a.data.token_type};a.data=t;}return a}catch(a){throw new Error(`\u8BF7\u6C42\u5237\u65B0\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${a.message}`)}}async create_auth_link(e){try{let a=new URL("/login/oauth/authorize",this.BaseUrl);return a.search=new URLSearchParams({client_id:this.Client_ID,...e&&{state:e}}).toString(),Promise.resolve(a.toString())}catch(a){throw new Error(`\u751F\u6210\u6388\u6743\u94FE\u63A5\u5931\u8D25: ${a.message}`)}}};});var nt={};P(nt,{Commit:()=>z});var z,me=w(()=>{b();k();z=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_commit_info(e){try{this.setRequestConfig({token:this.userToken});let a,r,o,t;if("url"in e){o=e.url;let u=re(o);a=u?.owner,r=u?.repo;}else if("owner"in e&&"repo"in e)a=e.owner,r=e.repo;else throw new Error(X);e.sha?t=e.sha:t=await(await this.get_repo()).get_repo_default_branch({owner:a,repo:r});let s=await this.get(`/repos/${a}/${r}/commits/${t}`);switch(s.statusCode){case 401:throw new Error(_);case 404:throw new Error(ee);case 422:throw new Error(qe)}let i=e.format??this.format;if(s.data){let u=s.data?.commit?.message??"",[n,...l]=u.split(`
2
- `),g={html_url:s.data.html_url,sha:s.data.sha,comments_url:s.data.comments_url,commit:{url:s.data.commit.url,author:{id:s.data.author.id,login:s.data.author.login,name:s.data.commit.author.name,avatar_url:s.data.author.avatar_url,email:s.data.commit.author.email,html_url:s.data.author.html_url,type:lodashEs.capitalize(String(s.data.author.type).toLowerCase()),date:i?await h(s.data.commit.author.date):s.data.commit.author.date},committer:{id:s.data.committer.id,login:s.data.committer.login,name:s.data.commit.committer.name,avatar_url:s.data.committer.avatar_url,email:s.data.commit.committer.email,html_url:s.data.committer.html_url,type:lodashEs.capitalize(String(s.data.committer.type).toLowerCase()),date:i?await h(s.data.commit.committer.date):s.data.commit.committer.date},message:s.data.commit.message,...i&&{title:n,body:l<0?l.join(`
3
- `):null},tree:{url:s.data.commit.tree.url,sha:s.data.commit.tree.sha}},parents:s.data.parents.map(p=>({sha:p.sha,url:p.url})),stats:{additions:s.data.stats.additions,deletions:s.data.stats.deletions,total:s.data.stats.total},files:s.data.files.map(p=>({sha:p.sha,filename:p.filename,status:p.status,additions:p.additions,deletions:p.deletions,changes:p.changes,blob_url:p.blob_url,raw_url:p.raw_url}))};s.data=g;}return s}catch(a){throw new Error(`\u83B7\u53D6\u63D0\u4EA4\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async get_commit_list(e){try{this.setRequestConfig({token:this.userToken});let a,r,o,t;if("url"in e){o=e.url;let g=re(o);a=g?.owner,r=g?.repo;}else if("owner"in e&&"repo"in e)a=e.owner,r=e.repo;else throw new Error(X);e.sha?t=e.sha:t=await(await this.get_repo()).get_repo_default_branch({owner:a,repo:r});let{...s}=e,i={};s.sha&&(i.sha=s.sha),s.path&&(i.path=s.path),s.author&&(i.author=s.author),s.since&&(i.since=s.since),s.until&&(i.until=s.until),s.per_page&&(i.per_page=s.per_page.toString()),s.page&&(i.page=s.page.toString());let u=`/repos/${a}/${r}/commits`,n=await this.get(u,i);switch(n.statusCode){case 401:throw new Error(_);case 404:throw new Error(ee)}let l=e?.format??this.format;if(n.data){let g=await Promise.all(n.data.map(async p=>{let[gt,...ke]=p.commit.message.split(`
4
- `);return {html_url:p.html_url,sha:p.sha,comments_url:p.comments_url,commit:{url:p.commit.url,author:{id:p.author.id,login:p.author.login,name:p.commit.author.name,avatar_url:p.author.avatar_url,email:p.commit.author.email,html_url:p.author.html_url,type:lodashEs.capitalize(String(p.author.type).toLowerCase()),date:l?await h(p.commit.author.date):p.commit.author.date},committer:{id:p.committer.id,login:p.committer.login,name:p.commit.committer.name,avatar_url:p.committer.avatar_url,email:p.commit.committer.email,html_url:p.committer.html_url,type:lodashEs.capitalize(String(p.committer.type).toLowerCase()),date:l?await h(p.commit.committer.date):p.commit.committer.date},message:p.commit.message,...l&&{title:gt,body:ke.length>0?ke.join(`
5
- `):null},tree:{url:p.commit.tree.url,sha:p.commit.tree.sha}},parents:p.parents.map(T=>({sha:T.sha,url:T.url})),stats:{additions:p.stats.additions,deletions:p.stats.deletions,total:p.stats.total},files:p.files.map(T=>({sha:T.sha,filename:T.filename,status:T.status,additions:T.additions,deletions:T.deletions,changes:T.changes,blob_url:T.blob_url,raw_url:T.raw_url}))}}));n.data=g;}return n}catch(a){throw new Error(`\u83B7\u53D6\u63D0\u4EA4\u5217\u8868\u5931\u8D25: ${a.message}`)}}};});var it={};P(it,{Issue:()=>W});var W,ge=w(()=>{b();k();W=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_issue_info(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o}=e,t=await this.get(`/repos/${a}/${r}/issues/${Number(o)}`);switch(t.statusCode){case 404:throw new Error(R);case 301:throw new Error(Oe)}if(t.data){let s={id:t.data.id,html_url:t.data.html_url,number:t.data.number,comments:t.data.comments,state:t.data.state,state_reason:t.data.state_reason,title:t.data.title,body:t.data.body,user:{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url,type:lodashEs.capitalize(t.data.user.type.toLowerCase())},labels:t.data.labels?t.data.labels.map(i=>({id:i.id,name:i.name,color:i.color})):null,assignee:t.data.assignee?{id:t.data.assignee.id,login:t.data.assignee.login,name:t.data.assignee.name,email:t.data.assignee.email,html_url:t.data.assignee.html_url,avatar_url:t.data.assignee.avatar_url,type:lodashEs.capitalize(t.data.assignee.type.toLowerCase())}:null,milestone:t.data.milestone?{id:t.data.milestone.id,url:t.data.milestone.url,number:t.data.milestone.number,state:t.data.milestone.state,title:t.data.milestone.title,description:t.data.milestone.description,open_issues:t.data.milestone.open_issues,closed_issues:t.data.milestone.closed_issues,created_at:t.data.milestone.created_at,updated_at:t.data.milestone.updated_at,closed_at:t.data.milestone.closed_at,due_on:t.data.milestone.due_on}:null,closed_at:t.data.closed_at,created_at:t.data.created_at,updated_at:t.data.updated_at};t.data=s;}return t}catch(a){throw new Error(`\u83B7\u53D6Issue\u8BE6\u60C5\u5931\u8D25: ${a.message}`)}}async get_issues_list(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,...o}=e,t={};o.milestone&&(t.milestone=o.milestone.toString()),o.state&&(t.state=o.state),o.assignee&&(t.assignee=o.assignee),o.creator&&(t.creator=o.creator),o.labels&&(t.labels=o.labels),o.sort&&(t.sort=o.sort),o.direction&&(t.direction=o.direction),o.since&&(t.since=o.since),o.per_page&&(t.per_page=o.per_page.toString()),o.page&&(t.page=o.page.toString());let s=`/repos/${a}/${r}/issues`,i=await this.get(s,t);if(i.statusCode===401)throw new Error(_);if(i.data){let u=i.data.map(n=>({id:n.id,html_url:n.html_url,number:n.number,comments:n.comments,state:n.state,state_reason:n.state_reason,title:n.title,body:n.body,user:{id:n.user.id,login:n.user.login,name:n.user.name,email:n.user.email,html_url:n.user.html_url,avatar_url:n.user.avatar_url,type:lodashEs.capitalize(n.user.type.toLowerCase())},labels:n.labels?n.labels.map(l=>({id:l.id,name:l.name,color:l.color})):null,assignee:n.assignee?{id:n.assignee.id,login:n.assignee.login,name:n.assignee.name,email:n.assignee.email,html_url:n.assignee.html_url,avatar_url:n.assignee.avatar_url,type:lodashEs.capitalize(n.assignee.type.toLowerCase())}:null,milestone:n.milestone?{id:n.milestone.id,url:n.milestone.url,number:n.milestone.number,state:n.milestone.state,title:n.milestone.title,description:n.milestone.description,open_issues:n.milestone.open_issues,closed_issues:n.milestone.closed_issues,created_at:n.milestone.created_at,updated_at:n.milestone.updated_at,closed_at:n.milestone.closed_at,due_on:n.milestone.due_on}:null,closed_at:n.closed_at,created_at:n.created_at,updated_at:n.updated_at}));i.data=u;}return i}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u7684Issue\u5217\u8868\u5931\u8D25: ${a.message}`)}}async create_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.title)throw new Error(Ie);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,...o}=e,t={...o,...o.labels&&{labels:Array.isArray(o.labels)?o.labels:[o.labels]},...o.assignees&&{assignees:Array.isArray(o.assignees)?o.assignees:[o.assignees]}},s=await this.post(`/repos/${a}/${r}/issues`,t);switch(s.statusCode){case 403:throw new Error(_);case 301:throw new Error(C)}if(s.data&&s.data){let i={id:s.data.id,html_url:s.data.html_url,number:s.data.number,comments:s.data.comments,state:s.data.state,state_reason:s.data.state_reason,title:s.data.title,body:s.data.body,user:{id:s.data.user.id,login:s.data.user.login,name:s.data.user.name,email:s.data.user.email,html_url:s.data.user.html_url,avatar_url:s.data.user.avatar_url,type:lodashEs.capitalize(s.data.user.type.toLowerCase())},labels:s.data.labels?s.data.labels.map(u=>({id:u.id,name:u.name,color:u.color})):null,assignee:s.data.assignee?{id:s.data.assignee.id,login:s.data.assignee.login,name:s.data.assignee.name,email:s.data.assignee.email,html_url:s.data.assignee.html_url,avatar_url:s.data.assignee.avatar_url,type:lodashEs.capitalize(s.data.assignee.type.toLowerCase())}:null,milestone:s.data.milestone?{id:s.data.milestone.id,url:s.data.milestone.url,number:s.data.milestone.number,state:s.data.milestone.state,title:s.data.milestone.title,description:s.data.milestone.description,open_issues:s.data.milestone.open_issues,closed_issues:s.data.milestone.closed_issues,created_at:s.data.milestone.created_at,updated_at:s.data.milestone.updated_at,closed_at:s.data.milestone.closed_at,due_on:s.data.milestone.due_on}:null,closed_at:s.data.closed_at,created_at:s.data.created_at,updated_at:s.data.updated_at};s.data=i;}return s}catch(a){throw new Error(`\u521B\u5EFAIssue\u5931\u8D25: ${a.message}`)}}async update_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,...t}=e,s={...t,...t.labels&&{labels:Array.isArray(t.labels)?t.labels:[t.labels]},...t.assignees&&{assignees:Array.isArray(t.assignees)?t.assignees:[t.assignees]}},i=await this.patch(`/repos/${a}/${r}/issues/${Number(o)}`,null,s);switch(i.statusCode){case 404:throw new Error(R);case 403:throw new Error(_);case 301:throw new Error(C)}if(i.data&&i.data){let u={id:i.data.id,html_url:i.data.html_url,number:i.data.number,comments:i.data.comments,state:i.data.state,state_reason:i.data.state_reason,title:i.data.title,body:i.data.body,user:{id:i.data.user.id,login:i.data.user.login,name:i.data.user.name,email:i.data.user.email,html_url:i.data.user.html_url,avatar_url:i.data.user.avatar_url,type:lodashEs.capitalize(i.data.user.type.toLowerCase())},labels:i.data.labels?i.data.labels.map(n=>({id:n.id,name:n.name,color:n.color})):null,assignee:i.data.assignee?{id:i.data.assignee.id,login:i.data.assignee.login,name:i.data.assignee.name,email:i.data.assignee.email,html_url:i.data.assignee.html_url,avatar_url:i.data.assignee.avatar_url,type:lodashEs.capitalize(i.data.assignee.type.toLowerCase())}:null,milestone:i.data.milestone?{id:i.data.milestone.id,url:i.data.milestone.url,number:i.data.milestone.number,state:i.data.milestone.state,title:i.data.milestone.title,description:i.data.milestone.description,open_issues:i.data.milestone.open_issues,closed_issues:i.data.milestone.closed_issues,created_at:i.data.milestone.created_at,updated_at:i.data.milestone.updated_at,closed_at:i.data.milestone.closed_at,due_on:i.data.milestone.due_on}:null,closed_at:i.data.closed_at,created_at:i.data.created_at,updated_at:i.data.updated_at};i.data=u;}return i}catch(a){throw new Error(`\u66F4\u65B0Issue\u5931\u8D25: ${a.message}`)}}async open_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o}=e,t=await this.patch(`/repos/${a}/${r}/issues/${o}`,null,{state:"open"});switch(t.statusCode){case 404:throw new Error(R);case 403:throw new Error(_);case 301:throw new Error(C)}if(t.data&&t.data){let s={id:t.data.id,html_url:t.data.html_url,number:t.data.number,comments:t.data.comments,state:t.data.state,state_reason:t.data.state_reason,title:t.data.title,body:t.data.body,user:{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url,type:lodashEs.capitalize(t.data.user.type.toLowerCase())},labels:t.data.labels?t.data.labels.map(i=>({id:i.id,name:i.name,color:i.color})):null,assignee:t.data.assignee?{id:t.data.assignee.id,login:t.data.assignee.login,name:t.data.assignee.name,email:t.data.assignee.email,html_url:t.data.assignee.html_url,avatar_url:t.data.assignee.avatar_url,type:lodashEs.capitalize(t.data.assignee.type.toLowerCase())}:null,milestone:t.data.milestone?{id:t.data.milestone.id,url:t.data.milestone.url,number:t.data.milestone.number,state:t.data.milestone.state,title:t.data.milestone.title,description:t.data.milestone.description,open_issues:t.data.milestone.open_issues,closed_issues:t.data.milestone.closed_issues,created_at:t.data.milestone.created_at,updated_at:t.data.milestone.updated_at,closed_at:t.data.milestone.closed_at,due_on:t.data.milestone.due_on}:null,closed_at:t.data.closed_at,created_at:t.data.created_at,updated_at:t.data.updated_at};t.data=s;}return t}catch(a){throw new Error(`\u6253\u5F00Issue\u5931\u8D25: ${a.message}`)}}async reopen_issue(e){return this.open_issue(e)}async close_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o}=e,t=await this.patch(`/repos/${a}/${r}/issues/${o}`,null,{state:"closed"});switch(t.statusCode){case 404:throw new Error(R);case 403:throw new Error(_);case 301:throw new Error(C)}if(t.data&&t.data){let s={id:t.data.id,html_url:t.data.html_url,number:t.data.number,comments:t.data.comments,state:t.data.state,state_reason:t.data.state_reason,title:t.data.title,body:t.data.body,user:{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url,type:lodashEs.capitalize(t.data.user.type.toLowerCase())},labels:t.data.labels?t.data.labels.map(i=>({id:i.id,name:i.name,color:i.color})):null,assignee:t.data.assignee?{id:t.data.assignee.id,login:t.data.assignee.login,name:t.data.assignee.name,email:t.data.assignee.email,html_url:t.data.assignee.html_url,avatar_url:t.data.assignee.avatar_url,type:lodashEs.capitalize(t.data.assignee.type.toLowerCase())}:null,milestone:t.data.milestone?{id:t.data.milestone.id,url:t.data.milestone.url,number:t.data.milestone.number,state:t.data.milestone.state,title:t.data.milestone.title,description:t.data.milestone.description,open_issues:t.data.milestone.open_issues,closed_issues:t.data.milestone.closed_issues,created_at:t.data.milestone.created_at,updated_at:t.data.milestone.updated_at,closed_at:t.data.milestone.closed_at,due_on:t.data.milestone.due_on}:null,closed_at:t.data.closed_at,created_at:t.data.created_at,updated_at:t.data.updated_at};t.data=s;}return t}catch(a){throw new Error(`\u5173\u95EDIssue\u5931\u8D25: ${a.message}`)}}async lock_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,lock_reason:t}=e,s=await this.put(`/repos/${a}/${r}/issues/${Number(o)}`,{locked:!0,lock_reason:t});switch(s.statusCode){case 404:throw new Error(R);case 403:throw new Error(_);case 301:throw new Error(C)}let i;return s.statusCode===204?i={info:Je}:i={info:De},s.data=i,s}catch(a){throw new Error(`\u9501\u5B9AIssue${e.issue_number}\u5931\u8D25: ${a.message}`)}}async unlock_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o}=e,t=await this.delete(`/repos/${a}/${r}/issues/${o}/lock`);switch(t.statusCode){case 404:throw new Error(R);case 403:throw new Error(_);case 301:throw new Error(C)}let s;return t.statusCode===204?s={info:Ke}:s={info:He},t.data=s,t}catch(a){throw new Error(`\u89E3\u9501Issue\u5931\u8D25: ${a.message}`)}}async get_comments_list(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,...o}=e,t={};o.sort&&(t.sort=o.sort),o.direction&&o.direction&&(t.direction=o.direction),o.since&&(t.since=o.since),o.per_page&&(t.per_page=o.per_page.toString()),o.page&&(t.page=o.page.toString());let s=`/repos/${a}/${r}/issues/comments/`,i=await this.get(s,t);if(i.statusCode===404)throw new Error(f);if(i.data){let u=i.data.map(n=>({id:n.id,html_url:n.html_url,body:n.body,user:{id:n.user.id,login:n.user.login,name:n.user.name,email:n.user.email,html_url:n.user.html_url,avatar_url:n.user.avatar_url,type:lodashEs.capitalize(n.user.type.toLowerCase())},created_at:n.created_at,updated_at:n.updated_at}));i.data=u;}return i}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93${e.owner}/${e.repo}\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_issue_comments_list(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,...t}=e,s={};t.since&&(s.since=t.since),t.per_page&&(s.per_page=t.per_page.toString()),t.page&&(s.page=t.page.toString());let i=`/repos/${a}/${r}/issues/${Number(o)}/comments`,u=await this.get(i,s);if(u.statusCode===404)throw new Error(f);if(u.data){let n=u.data.map(l=>({id:l.id,html_url:l.html_url,body:l.body,user:{id:l.user.id,login:l.user.login,name:l.user.name,email:l.user.email,html_url:l.user.html_url,avatar_url:l.user.avatar_url,type:lodashEs.capitalize(l.user.type.toLowerCase())},created_at:l.created_at,updated_at:l.updated_at}));u.data=n;}return u}catch(a){throw new Error(`\u83B7\u53D6\u8BAE\u9898\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_issue_comment_info(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.comment_id)throw new Error(L);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,comment_id:o}=e,t=await this.get(`/repos/${a}/${r}/issues/comments/${Number(o)}`);if(t.statusCode===404)throw new Error(f);if(t.data){let s={id:t.data.id,html_url:t.data.html_url,body:t.data.body,user:{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url,type:lodashEs.capitalize(t.data.user.type.toLowerCase())},created_at:t.data.created_at,updated_at:t.data.updated_at};t.data=s;}return t}catch(a){throw new Error(`\u83B7\u53D6\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async create_issue_comment(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(f);if(!e.body)throw new Error(Ee);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,body:t}=e,s=await this.post(`/repos/${a}/${r}/issues/${Number(o)}/comments`,{body:t});if(s.statusCode===404)throw new Error(f);if(s.data){let i={id:s.data.id,html_url:s.data.html_url,body:s.data.body,user:{id:s.data.user.id,login:s.data.user.login,name:s.data.user.name,email:s.data.user.email,html_url:s.data.user.html_url,avatar_url:s.data.user.avatar_url,type:lodashEs.capitalize(s.data.user.type.toLowerCase())},created_at:s.data.created_at,updated_at:s.data.updated_at};s.data=i;}return s}catch(a){throw new Error(`\u521B\u5EFA\u8BAE\u9898\u8BC4\u8BBA\u5931\u8D25: ${a.message}`)}}async update_issue_comment(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.comment_id)throw new Error(L);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,comment_id:o,...t}=e,s=await this.patch(`/repos/${a}/${r}/issues/comments/${Number(o)}`,null,t);if(s.statusCode===404)throw new Error(f);if(s.data){let i={id:s.data.id,html_url:s.data.html_url,body:s.data.body,user:{id:s.data.user.id,login:s.data.user.login,name:s.data.user.name,email:s.data.user.email,html_url:s.data.user.html_url,avatar_url:s.data.user.avatar_url,type:lodashEs.capitalize(s.data.user.type.toLowerCase())},created_at:s.data.created_at,updated_at:s.data.updated_at};s.data=i;}return s}catch(a){throw new Error(`\u66F4\u65B0\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async remove_issue_comment(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.comment_id)throw new Error(L);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,comment_id:o}=e,t=await this.delete(`/repos/${a}/${r}/issues/comments/${Number(o)}`);if(t.statusCode===404)throw new Error(f);let s;return t.statusCode===204?s={info:Ve}:s={info:Be},t.data=s,t}catch(a){throw new Error(`\u5220\u9664\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async delete_issue_comment(e){return this.remove_issue_comment(e)}async get_sub_issue_list(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(f);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,...t}=e,s={};t.per_page&&(s.per_page=t.per_page.toString()),t.page&&(s.page=t.page.toString());let i=`/repos/${a}/${r}/issues/${Number(o)}/sub_issues`,u=await this.get(i,s);if(u.statusCode===404)throw new Error(R);if(u.data){let n=u.data.map(l=>({id:l.id,html_url:l.html_url,number:l.number,comments:l.comments,state:l.state,state_reason:l.state_reason,title:l.title,body:l.body,user:{id:l.user.id,login:l.user.login,name:l.user.name,email:l.user.email,html_url:l.user.html_url,avatar_url:l.user.avatar_url,type:lodashEs.capitalize(l.user.type.toLowerCase())},labels:l.labels?l.labels.map(g=>({id:g.id,name:g.name,color:g.color})):null,assignee:l.assignee?{id:l.assignee.id,login:l.assignee.login,name:l.assignee.name,email:l.assignee.email,html_url:l.assignee.html_url,avatar_url:l.assignee.avatar_url,type:lodashEs.capitalize(l.assignee.type.toLowerCase())}:null,milestone:l.milestone?{id:l.milestone.id,url:l.milestone.url,number:l.milestone.number,state:l.milestone.state,title:l.milestone.title,description:l.milestone.description,open_issues:l.milestone.open_issues,closed_issues:l.milestone.closed_issues,created_at:l.milestone.created_at,updated_at:l.milestone.updated_at,closed_at:l.milestone.closed_at,due_on:l.milestone.due_on}:null,closed_at:l.closed_at,created_at:l.created_at,updated_at:l.updated_at}));u.data=n;}return u}catch(a){throw new Error(`\u83B7\u53D6\u5B50\u8BAE\u9898\u5217\u8868\u5931\u8D25: ${a.message}`)}}async add_sub_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(f);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,sub_issue_id:t,replace_parent:s}=e,i=await this.post(`/repos/${a}/${r}/issues/${o}/sub_issues`,{sub_issue_id:t,replace_parent:s});if(i.statusCode===404)throw new Error(R);if(i.data){let u={id:i.data.id,html_url:i.data.html_url,number:i.data.number,comments:i.data.comments,state:i.data.state,state_reason:i.data.state_reason,title:i.data.title,body:i.data.body,user:{id:i.data.user.id,login:i.data.user.login,name:i.data.user.name,email:i.data.user.email,html_url:i.data.user.html_url,avatar_url:i.data.user.avatar_url,type:lodashEs.capitalize(i.data.user.type.toLowerCase())},labels:i.data.labels?i.data.labels.map(n=>({id:n.id,name:n.name,color:n.color})):null,assignee:i.data.assignee?{id:i.data.assignee.id,login:i.data.assignee.login,name:i.data.assignee.name,email:i.data.assignee.email,html_url:i.data.assignee.html_url,avatar_url:i.data.assignee.avatar_url,type:lodashEs.capitalize(i.data.assignee.type.toLowerCase())}:null,milestone:i.data.milestone?{id:i.data.milestone.id,url:i.data.milestone.url,number:i.data.milestone.number,state:i.data.milestone.state,title:i.data.milestone.title,description:i.data.milestone.description,open_issues:i.data.milestone.open_issues,closed_issues:i.data.milestone.closed_issues,created_at:i.data.milestone.created_at,updated_at:i.data.milestone.updated_at,closed_at:i.data.milestone.closed_at,due_on:i.data.milestone.due_on}:null,closed_at:i.data.closed_at,created_at:i.data.created_at,updated_at:i.data.updated_at};i.data=u;}return i}catch(a){throw new Error(`\u6DFB\u52A0\u5B50\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}async remove_sub_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(f);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,sub_issue_id:t}=e,s=await this.delete(`/repos/${a}/${r}/issues/${o}/sub_issue`,null,{sub_issue_id:t});if(s.statusCode===404)throw new Error(R);if(s.data){let i={id:s.data.id,html_url:s.data.html_url,number:s.data.number,comments:s.data.comments,state:s.data.state,state_reason:s.data.state_reason,title:s.data.title,body:s.data.body,user:{id:s.data.user.id,login:s.data.user.login,name:s.data.user.name,email:s.data.user.email,html_url:s.data.user.html_url,avatar_url:s.data.user.avatar_url,type:lodashEs.capitalize(s.data.user.type.toLowerCase())},labels:s.data.labels?s.data.labels.map(u=>({id:u.id,name:u.name,color:u.color})):null,assignee:s.data.assignee?{id:s.data.assignee.id,login:s.data.assignee.login,name:s.data.assignee.name,email:s.data.assignee.email,html_url:s.data.assignee.html_url,avatar_url:s.data.assignee.avatar_url,type:lodashEs.capitalize(s.data.assignee.type.toLowerCase())}:null,milestone:s.data.milestone?{id:s.data.milestone.id,url:s.data.milestone.url,number:s.data.milestone.number,state:s.data.milestone.state,title:s.data.milestone.title,description:s.data.milestone.description,open_issues:s.data.milestone.open_issues,closed_issues:s.data.milestone.closed_issues,created_at:s.data.milestone.created_at,updated_at:s.data.milestone.updated_at,closed_at:s.data.milestone.closed_at,due_on:s.data.milestone.due_on}:null,closed_at:s.data.closed_at,created_at:s.data.created_at,updated_at:s.data.updated_at};s.data=i;}return s}catch(a){throw new Error(`\u5220\u9664\u5B50\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}async delete_sub_issue(e){return this.remove_sub_issue(e)}async reprioritize_sub_issue(e){if(!e.owner||!e.repo)throw new Error(c);if(!e.issue_number)throw new Error(f);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,issue_number:o,sub_issue_id:t,...s}=e,i={};s.before_id&&!s.after_id&&(i.before_id=s.before_id.toString()),s.after_id&&!s.before_id&&(i.after_id=s.after_id.toString());let u=`/repos/${a}/${r}/issues/${o}/sub_issues/priority`,n=await this.patch(u,i,{sub_issue_id:String(t)});if(n.statusCode===404)throw new Error(R);if(n.data){let l={id:n.data.id,html_url:n.data.html_url,number:n.data.number,comments:n.data.comments,state:n.data.state,state_reason:n.data.state_reason,title:n.data.title,body:n.data.body,user:{id:n.data.user.id,login:n.data.user.login,name:n.data.user.name,email:n.data.user.email,html_url:n.data.user.html_url,avatar_url:n.data.user.avatar_url,type:lodashEs.capitalize(n.data.user.type.toLowerCase())},labels:n.data.labels?n.data.labels.map(g=>({id:g.id,name:g.name,color:g.color})):null,assignee:n.data.assignee?{id:n.data.assignee.id,login:n.data.assignee.login,name:n.data.assignee.name,email:n.data.assignee.email,html_url:n.data.assignee.html_url,avatar_url:n.data.assignee.avatar_url,type:lodashEs.capitalize(n.data.assignee.type.toLowerCase())}:null,milestone:n.data.milestone?{id:n.data.milestone.id,url:n.data.milestone.url,number:n.data.milestone.number,state:n.data.milestone.state,title:n.data.milestone.title,description:n.data.milestone.description,open_issues:n.data.milestone.open_issues,closed_issues:n.data.milestone.closed_issues,created_at:n.data.milestone.created_at,updated_at:n.data.milestone.updated_at,closed_at:n.data.milestone.closed_at,due_on:n.data.milestone.due_on}:null,closed_at:n.data.closed_at,created_at:n.data.created_at,updated_at:n.data.updated_at};n.data=l;}return n}catch(a){throw new Error(`\u91CD\u65B0\u6392\u5E8F\u5B50\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}};});var ut={};P(ut,{Repo:()=>G});var G,_e=w(()=>{b();k();G=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_org_repos_list(e){if(!e.org)throw new Error(U);try{this.setRequestConfig({token:this.userToken});let{org:a,...r}=e,o={};r?.type&&(o.type=r.type),r?.sort&&(o.sort=r.sort),r?.direction&&(o.direction=r.direction),r?.per_page&&(o.per_page=r.per_page.toString()),r?.page&&(o.page=r.page.toString());let t=`/orgs/${a}/repos`,s=await this.get(t,o);switch(s.statusCode){case 404:throw new Error(S);case 401:throw new Error(_)}let i=e.format??this.format;if(s.data){let u=await Promise.all(s.data.map(async n=>({id:n.id,name:n.name,full_name:n.full_name,owner:{id:n.owner.id,login:n.owner.login,name:n.owner.name??null,avatar_url:n.owner.avatar_url,type:n.owner.type,html_url:n.owner.html_url,email:n.owner.email??null},public:!n.private,private:n.private,visibility:n.private?"private":"public",fork:n.fork,archived:n.archived,disabled:n.disabled,html_url:n.html_url,description:n.description,stargazers_count:n.stargazers_count,watchers_count:n.watchers_count,language:n.language,forks_count:n.forks_count,open_issues_count:n.open_issues_count,default_branch:n.default_branch,created_at:i?await h(n.created_at):n.created_at,updated_at:i?await h(n.updated_at):n.updated_at,pushed_at:i?await h(n.pushed_at):n.pushed_at})));s.data=u;}return s}catch(a){throw new Error(`\u83B7\u53D6\u7EC4\u7EC7\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_user_repos_list_by_token(e){try{this.setRequestConfig({token:this.userToken});let{...a}=e,r={};!e?.visibility&&!e?.affiliation&&a?.type&&(r.type=a.type),a?.visibility&&(r.visibility=a.visibility),a?.affiliation&&(r.affiliation=a.affiliation),a?.sort&&(r.sort=a.sort),a?.direction&&(r.direction=a.direction),a?.per_page&&(r.per_page=a.per_page.toString()),a?.page&&(r.page=a.page.toString());let t=await this.get("/uses/repos",r);if(t.statusCode===401)throw new Error(_);let s=e?.format??this.format;if(t.data){let i=await Promise.all(t.data.map(async u=>({id:u.id,name:u.name,full_name:u.full_name,owner:{id:u.owner.id,login:u.owner.login,name:u.owner.name,avatar_url:u.owner.avatar_url,type:u.owner.type,html_url:u.owner.html_url,email:u.owner.email},public:!u.private,private:u.private,visibility:u.private?"private":"public",fork:u.fork,archived:u.archived,disabled:u.disabled,html_url:u.html_url,description:u.description,stargazers_count:u.stargazers_count,watchers_count:u.watchers_count,language:u.language,forks_count:u.forks_count,open_issues_count:u.open_issues_count,default_branch:u.default_branch,created_at:s?await h(u.created_at):u.created_at,updated_at:s?await h(u.updated_at):u.updated_at,pushed_at:s?await h(u.pushed_at):u.pushed_at})));t.data=i;}return t}catch(a){throw new Error(`\u83B7\u53D6\u6388\u6743\u7528\u6237\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_user_repos_list(e){try{if(!e.username)throw new Error(x);this.setRequestConfig({token:this.userToken});let{username:a,...r}=e,o={};r?.type&&(o.type=r.type),r?.sort&&(o.sort=r.sort),r?.direction&&(o.direction=r.direction),r?.per_page&&(o.per_page=r.per_page.toString()),r?.page&&(o.page=r.page.toString());let t=e?.format??this.format,s=`/users/${a}/repos`,i=await this.get(s,o);switch(i.statusCode){case 404:throw new Error($);case 401:throw new Error(_)}if(i.data){let u=await Promise.all(i.data.map(async n=>({id:n.id,name:n.name,full_name:n.full_name,owner:{id:n.owner.id,login:n.owner.login,name:n.owner.name,avatar_url:n.owner.avatar_url,type:n.owner.type,html_url:n.owner.html_url,email:n.owner.email},public:!n.private,private:n.private,visibility:n.private?"private":"public",fork:n.fork,archived:n.archived,disabled:n.disabled,html_url:n.html_url,description:n.description,stargazers_count:n.stargazers_count,watchers_count:n.watchers_count,language:n.language,forks_count:n.forks_count,open_issues_count:n.open_issues_count,default_branch:n.default_branch,created_at:t?await h(n.created_at):n.created_at,updated_at:t?await h(n.updated_at):n.updated_at,pushed_at:t?await h(n.pushed_at):n.pushed_at})));i.data=u;}return i}catch(a){throw new Error(`\u83B7\u53D6\u7528\u6237\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_repo_info(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r}=e,o=await this.get(`/repos/${a}/${r}`);switch(o.statusCode){case 401:throw new Error(_);case 404:throw new Error(q)}let t=e?.format??this.format;if(o.data){let s={id:o.data.id,name:o.data.name,full_name:o.data.full_name,owner:{id:o.data.owner.id,login:o.data.owner.login,name:o.data.owner.name,avatar_url:o.data.owner.avatar_url,type:o.data.owner.type,html_url:o.data.owner.html_url,email:o.data.owner.email},public:!o.data.private,private:o.data.private,visibility:o.data.private?"private":"public",fork:o.data.fork,archived:o.data.archived,disabled:o.data.disabled,html_url:o.data.html_url,description:o.data.description,stargazers_count:o.data.stargazers_count,watchers_count:o.data.watchers_count,language:o.data.language,forks_count:o.data.forks_count,open_issues_count:o.data.open_issues_count,default_branch:o.data.default_branch,created_at:t?await h(o.data.created_at):o.data.created_at,updated_at:t?await h(o.data.updated_at):o.data.updated_at,pushed_at:t?await h(o.data.pushed_at):o.data.pushed_at};o.data=s;}return o}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async get_repo_languages_list(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r}=e,o=await this.get(`/repos/${a}/${r}/languages`);switch(o.statusCode){case 401:throw new Error(_);case 404:throw new Error(C)}if(o.data){let t=Object.entries(o.data),s=t.reduce((n,[,l])=>n+l,0),u={languages:t.map(([n,l])=>({language:n,color:oe(n.toLowerCase()),percent:Number((l/s*100).toFixed(2)),bytes:l}))};o.data=u;}return o}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5217\u8868\u5931\u8D25: ${a.message}`)}}async create_org_repo(e){try{let{owner:a,...r}=e,o={...r},t=await this.post(`/orgs/${a}/repos`,o);if(t.statusCode===401)throw new Error(_);let s=e?.format??this.format;if(t.data){let i={id:t.data.id,name:t.data.name,full_name:t.data.full_name,owner:{id:t.data.owner.id,login:t.data.owner.login,name:t.data.owner.name,avatar_url:t.data.owner.avatar_url,type:t.data.owner.type,html_url:t.data.owner.html_url,email:t.data.owner.email},public:!t.data.private,private:t.data.private,visibility:t.data.private?"private":"public",fork:t.data.fork,archived:t.data.archived,disabled:t.data.disabled,html_url:t.data.html_url,description:t.data.description,stargazers_count:t.data.stargazers_count,watchers_count:t.data.watchers_count,language:t.data.language,forks_count:t.data.forks_count,open_issues_count:t.data.open_issues_count,default_branch:t.data.default_branch,created_at:s?await h(t.data.created_at):t.data.created_at,updated_at:s?await h(t.data.updated_at):t.data.updated_at,pushed_at:s?await h(t.data.pushed_at):t.data.pushed_at};t.data=i;}return t}catch(a){throw new Error(`\u521B\u5EFA\u7EC4\u7EC7\u4ED3\u5E93\u5931\u8D25: ${a.message}`)}}async get_collaborators_list(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r}=e,{...o}=e,t={};o.affiliation&&(t.milestone=o.affiliation.toString()),o.permission&&(t.permission=o.permission.toString()),o.per_page&&(t.per_page=o.per_page.toString()),o.page&&(t.page=o.page.toString());let s=await this.get(`/repos/${a}/${r}/collaborators`,t);if(s.data){let i=await Promise.all(s.data.map(u=>({id:u.id,login:u.login,avatar_url:u.avatar_url,email:u.email,name:u.name,permissions:u.permissions,role_name:u.role_name})));s.data=i;}return s}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u534F\u4F5C\u8005\u5217\u8868\u5931\u8D25: ${a.message}`)}}async add_collaborator(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,username:o}=e,t=await this.put(`/repos/${a}/${r}/collaborators/${o}`,{permission:e.permission??"pull"});if(t.statusCode===404)throw new Error(te);if(t.statusCode===422){let s=t.data.message;if(s&&s.includes("is not a valid permission"))throw new Error(Me)}if(t.data){let s={id:t.data.inviter.id,login:t.data.inviter.login,name:t.data.inviter.name,avatar_url:t.data.inviter.avatar_url,html_url:t.data.repository.html_url,permissions:t.data.permissions};t.data=s;}return t}catch(a){throw new Error(`\u6DFB\u52A0\u534F\u4F5C\u8005\u5931\u8D25: ${a.message}`)}}async remove_collaborator(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:r,username:o}=e,t=await this.delete(`/repos/${a}/${r}/collaborators/${o}`);if(t.statusCode===404)throw new Error(te);return t.status&&t.statusCode===204?t.data={info:`\u79FB\u9664\u534F\u4F5C\u8005${o}\u6210\u529F`}:t.data={info:`\u79FB\u9664\u534F\u4F5C\u8005${o}\u5931\u8D25`},t}catch(a){throw new Error(`\u79FB\u9664\u534F\u4F5C\u8005\u5931\u8D25: ${a.message}`)}}async delete_collaborator(e){return this.remove_collaborator(e)}async get_repo_visibility(e){if(!e.owner||!e.repo)throw new Error(c);try{let{owner:a,repo:r}=e;return (await this.get_repo_info({owner:a,repo:r})).data.visibility}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u53EF\u89C1\u6027\u5931\u8D25: ${a.message}`)}}async get_repo_default_branch(e){if(!e.owner||!e.repo)throw new Error(c);try{let{owner:a,repo:r}=e;return (await this.get_repo_info({owner:a,repo:r})).data.default_branch}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u9ED8\u8BA4\u5206\u652F\u5931\u8D25: ${a.message}`)}}async get_repo_main_language(e){if(!e.owner||!e.repo)throw new Error(c);try{let{owner:a,repo:r}=e;return (await this.get_repo_info({owner:a,repo:r})).data.language}catch(a){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5931\u8D25: ${a.message}`)}}};});var lt={};P(lt,{User:()=>j});var j,ye=w(()=>{b();k();j=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_user_info(e){let a=e.access_token??this.userToken;if(!e.username)throw new Error(ve);if(!a?.startsWith("ghu_"))throw new Error(A);try{this.setRequestConfig({token:a});let r=await this.get(`/users/${e.username}`);if(r.statusCode===401)throw new Error(_);if(r.statusCode===404)throw new Error(q);if(r.data){let o={id:r.data.id,login:r.data.login,name:r.data.name||null,type:lodashEs.capitalize(r.data.type.toLowerCase()),html_url:r.data.html_url,avatar_url:r.data.avatar_url,company:r.data.company||null,email:r.data.email||null,bio:r.data.bio||null,blog:r.data.blog||null,followers:r.data.followers,following:r.data.following};r.data=o;}return r}catch(r){throw new Error(`\u83B7\u53D6\u7528\u6237\u6216\u7EC4\u7EC7\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_user_info_by_user_id(e){let a=e.access_token??this.userToken;if(!e.user_id)throw new Error(Ae);if(!a?.startsWith("ghu_"))throw new Error(A);try{this.setRequestConfig({token:this.userToken});let r=await this.get(`/user/${e.user_id}`);if(r.statusCode===401)throw new Error(_);if(r.statusCode===404)throw new Error($);if(r.data){let o={id:r.data.id,login:r.data.login,name:r.data.name||null,type:lodashEs.capitalize(r.data.type.toLowerCase()),html_url:r.data.html_url,avatar_url:r.data.avatar_url,company:r.data.company||null,email:r.data.email||null,bio:r.data.bio||null,blog:r.data.blog||null,followers:r.data.followers,following:r.data.following};r.data=o;}return r}catch(r){throw new Error(`\u901A\u8FC7\u7528\u6237id\u83B7\u53D6\u7528\u6237\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_user_info_by_auth(e){let a=e?.access_token??this.userToken;if(!a)throw new Error(I);try{this.setRequestConfig({token:a});let r=await this.get("/user");switch(r.statusCode){case 401:throw new Error(_);case 404:throw new Error($)}if(r.data){let o={id:r.data.id,login:r.data.login,name:r.data.name||null,type:lodashEs.capitalize(r.data.type.toLowerCase()),html_url:r.data.html_url,avatar_url:r.data.avatar_url,company:r.data.company||null,email:r.data.email||null,bio:r.data.bio||null,blog:r.data.blog||null,followers:r.data.followers,following:r.data.following};r.data=o;}return r}catch(r){throw new Error(`\u83B7\u53D6\u6388\u6743\u7528\u6237\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_user_info_by_token(e){return this.get_user_info_by_auth(e)}async get_user_contribution(e){try{if(!e.username)throw new Error(x);if((await this.get_user_info({username:e.username})).data.type==="Organization")throw new Error(`${Se}\u83B7\u53D6\u8D21\u732E\u65E5\u5386`);this.setRequestConfig({url:this.BaseUrl});let r=await this.get(`/${e.username}`,{action:"show",controller:"profiles",tab:"contributions",user_id:e.username},{"X-Requested-With":"XMLHttpRequest"});if(r.statusCode===404)throw new Error(x);let o=await at(r.data);return {...r,data:o}}catch(a){throw new Error(`\u83B7\u53D6\u7528\u6237\u8D21\u732E\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async get_user_id(){return (await this.get_user_info_by_auth()).data.id}async get_username(){return (await this.get_user_info_by_auth()).data.login}async get_nickname(){return (await this.get_user_info_by_auth()).data.name}async get_user_email(){return (await this.get_user_info_by_auth()).data.email}async get_avatar_url(){return (await this.get_user_info_by_auth()).data.avatar_url}};});var dt={};P(dt,{Org:()=>F});var F,we=w(()=>{b();k();F=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_org_info(e){if(!e.org)throw new Error(xe);try{this.setRequestConfig({token:this.userToken});let a=await this.get(`/orgs/${e.org}`);if(a.statusCode===404)throw new Error(S);if(a.data){let r={id:a.data.id,login:a.data.login,name:a.data.name,avatar_url:a.data.avatar_url,description:a.data.description,html_url:a.data.html_url};a.data=r;}return a}catch(a){throw new Error(`\u83B7\u53D6\u7EC4\u7EC7\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}};});var ct={};P(ct,{WebHook:()=>J});var J,fe=w(()=>{b();k();J=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async check_webhook_signature(e){let a=e.secret??this.WebHook_Secret;if(!a||!e.payload||!e.signature)throw new Error(U);if(!e.signature.startsWith("sha256="))throw new Error(We);let r=false,o="error",t=400,s=ae,i;try{let u=pt__default.default.createHmac("sha256",a),n=typeof e.payload=="string"?e.payload:JSON.stringify(e.payload);u.update(n,"utf8");let l=u.digest("hex"),g=e.signature.replace("sha256=","");pt__default.default.timingSafeEqual(Buffer.from(l),Buffer.from(g))?(r=!0,o="ok",t=200,s="\u8BF7\u6C42\u6210\u529F",i={success:r,info:Fe}):(r=!1,o="error",t=403,s="\u8BF7\u6C42\u5931\u8D25",i={success:r,info:ae});}catch(u){throw new Error(`\u8BF7\u6C42\u9A8C\u8BC1WebHook\u7B7E\u540D\u5931\u8D25: ${u.message}`)}return Promise.resolve({success:r,status:o,statusCode:t,msg:s,data:i})}};});var K;exports.GitHubClient=void 0;var k=w(()=>{b();de();pe();K="github",exports.GitHubClient=class{BaseUrl;ApiUrl;jwtToken;userToken;format;Private_Key;Client_ID;Client_Secret;WebHook_Secret;currentRequestConfig;proxy;constructor(e){this.Private_Key=e.Private_Key,this.Client_ID=e.Client_ID,this.Client_Secret=e.Client_Secret,this.WebHook_Secret=e.WebHook_Secret,this.jwtToken=this.generate_jwt(),this.BaseUrl=le(K),this.ApiUrl=ue(K),this.userToken=null,this.currentRequestConfig={url:this.ApiUrl,token:null,tokenType:"Bearer"},this.format=e.format??false;}async get_app(){let{App:e}=await Promise.resolve().then(()=>(be(),mt));return this.app=new e(this),this.app}async get_auth(){let{Auth:e}=await Promise.resolve().then(()=>(ce(),ot));return this.auth=new e(this),this.auth}async get_commit(){let{Commit:e}=await Promise.resolve().then(()=>(me(),nt));return this.commit=new e(this),this.commit}async get_issue(){let{Issue:e}=await Promise.resolve().then(()=>(ge(),it));return this.issue=new e(this),this.issue}async get_repo(){let{Repo:e}=await Promise.resolve().then(()=>(_e(),ut));return this.repo=new e(this),this.repo}async get_user(){let{User:e}=await Promise.resolve().then(()=>(ye(),lt));return this.user=new e(this),this.user}async get_org(){let{Org:e}=await Promise.resolve().then(()=>(we(),dt));return this.org=new e(this),this.org}async get_webhook(){let{WebHook:e}=await Promise.resolve().then(()=>(fe(),ct));return this.webhook=new e(this),this.webhook}setProxy(e){if(!e?.address){this.proxy=null;return}try{let a=new url.URL(e.address);switch(a.protocol){case "http:":case "https:":case "socks:":case "socks5:":e.address=`${a.protocol}//${a.host}`;break;default:throw new Error(Q)}switch(e?.type){case "common":case "reverse":this.BaseUrl=le(K,e.address,e.type),this.ApiUrl=ue(K,e.address,e.type);break}this.proxy=e;}catch{throw this.proxy=null,new Error(Q)}}setToken(e){if(!e.startsWith("ghu_"))throw this.userToken=null,new Error(A);return this.userToken=e,this}generate_jwt(){let e=this.Private_Key,a={exp:Math.floor(Date.now()/1e3)+10*60,iat:Math.floor(Date.now()/1e3),iss:this.Client_ID};return $t__default.default.sign(a,e,{algorithm:"RS256"})}setRequestConfig(e){e.url&&(this.currentRequestConfig.url=e.url),e.token&&(this.currentRequestConfig.token=e.token),e.tokenType&&(this.currentRequestConfig.tokenType=e.tokenType);}createRequest(){let{url:e,token:a,tokenType:r}=this.currentRequestConfig,o=this.proxy?.type!=="common"?this.proxy:null,t={"X-GitHub-Api-Version":"2022-11-28",Accept:"application/vnd.github+json"};return new D(e,r,a??null,o,t)}async get(e,a,r){try{let t=await this.createRequest().get(e,a,r);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(o){throw new Error(`GET \u8BF7\u6C42${e}\u5931\u8D25: ${o.message}`)}}async post(e,a,r){try{let t=await this.createRequest().post(e,a,r);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(o){throw new Error(`POST \u8BF7\u6C42${e}\u5931\u8D25: ${o.message}`)}}async patch(e,a=null,r,o){try{let s=await this.createRequest().patch(e,a,r,o);if((s.statusCode===403||s.statusCode===429)&&s.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:s.success,status:s.success?"ok":"error",statusCode:s.statusCode,msg:s.msg,data:s.data}}catch(t){throw new Error(`PATCH \u8BF7\u6C42${e}\u5931\u8D25: ${t.message}`)}}async put(e,a,r){try{let t=await this.createRequest().put(e,a,r);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(o){throw new Error(`PUT \u8BF7\u6C42${e}\u5931\u8D25: ${o.message}`)}}async delete(e,a=null,r,o){try{let s=await this.createRequest().delete(e,a,r,o);if((s.statusCode===403||s.statusCode===429)&&s.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:s.success,status:s.success?"ok":"error",statusCode:s.statusCode,msg:s.msg,data:s.data}}catch(t){throw new Error(`DELETE \u8BF7\u6C42${e}\u5931\u8D25: ${t.message}`)}}};});var mt={};P(mt,{App:()=>V});var V,be=w(()=>{b();k();V=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_app_info(e){let a=e.access_token??this.userToken;if(!e.app_slug)throw new Error(Pe);if(!a)throw new Error(I);try{this.setRequestConfig({token:a});let r=await this.get(`/apps/${e.app_slug}`);if(r.statusCode===200){let o={id:r.data.id,name:r.data.name,client_id:r.data.client_id,slug:r.data.slug,owner:{id:r.data.owner.id,login:r.data.owner.login,name:r.data.owner.name,email:r.data.owner.email,html_url:r.data.owner.html_url,avatar_url:r.data.owner.avatar_url,type:lodashEs.capitalize(r.data.owner.type.toLowerCase())},description:r.data.description,external_url:r.data.external_url,html_url:r.data.html_url,permissions:r.data.permissions,events:r.data.events,created_at:r.data.created_at,updated_at:r.data.updated_at};r.data=o;}return r}catch(r){throw new Error(`\u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async get_app_info_by_auth(){try{this.setRequestConfig({url:this.ApiUrl,token:this.jwtToken});let e=await this.get("/app");if(e.statusCode===200){let a={id:e.data.id,name:e.data.name,client_id:e.data.client_id,slug:e.data.slug,owner:{id:e.data.owner.id,login:e.data.owner.login,name:e.data.owner.name,email:e.data.owner.email,html_url:e.data.owner.html_url,avatar_url:e.data.owner.avatar_url,type:lodashEs.capitalize(e.data.owner.type.toLowerCase())},description:e.data.description,external_url:e.data.external_url,html_url:e.data.html_url,permissions:e.data.permissions,events:e.data.events,created_at:e.data.created_at,updated_at:e.data.updated_at};e.data=a;}return e}catch(e){throw new Error(`\u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${e.message}`)}}async get_app_installation_by_repo(e){if(!e.owner||!e.repo)throw new Error(c);try{this.setRequestConfig({token:this.jwtToken});let{owner:a,repo:r}=e,o=await this.get(`/repos/${a}/${r}/installation`);switch(o.statusCode){case 404:throw new Error(C);case 301:throw new Error(ze)}if(o.data){let t={id:o.data.id,html_url:o.data.html_url,app_id:o.data.app_id,app_slug:o.data.app_slug,target_id:o.data.target_id,target_type:o.data.target_type,account:{id:o.data.account.id,login:o.data.account.login,name:o.data.account.name,email:o.data.account.email,html_url:o.data.account.html_url,avatar_url:o.data.account.avatar_url,type:lodashEs.capitalize(o.data.account.type.toLowerCase())},repository_selection:o.data.repository_selection,access_tokens_url:o.data.access_tokens_url,repositories_url:o.data.repositories_url,permissions:o.data.permissions,events:o.data.events,created_at:o.data.created_at,updated_at:o.data.updated_at};o.data=t;}return o}catch(a){throw new Error(`\u83B7\u53D6\u5B58\u50A8\u5E93\u5B89\u88C5\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async create_install_link(e){try{let a=new URL(`apps/${await this.get_app_name()}/installations/new`,this.BaseUrl);return a.search=new URLSearchParams({...e&&{state:e}}).toString(),a.toString()}catch(a){throw new Error(`\u751F\u6210\u5E94\u7528\u5B89\u88C5\u94FE\u63A5\u5931\u8D25: ${a.message}`)}}async create_config_install_link(e){try{let a=new URL(`apps/${await this.get_app_name()}/installations/new`,this.BaseUrl);return a.search=new URLSearchParams({...e&&{state:e}}).toString(),a.toString()}catch(a){throw new Error(`\u751F\u6210\u5E94\u7528\u914D\u7F6E\u94FE\u63A5\u5931\u8D25: ${a.message}`)}}async get_app_name(){return (await this.get_app_info_by_auth()).data.name}};});b();de();pe();var Re={};P(Re,{App:()=>V,Auth:()=>B,Commit:()=>z,GitHubClient:()=>exports.GitHubClient,Issue:()=>W,Org:()=>F,Repo:()=>G,User:()=>j,WebHook:()=>J});be();ce();k();me();ge();we();_e();ye();fe();var Ce=class{github;constructor(e){if(!e.github)throw new Error("GitHub \u5BA2\u6237\u7AEF\u672A\u914D\u7F6E");this.github=new exports.GitHubClient(e.github);}};var bs=Ce;
6
- exports.Client=Ce;exports.create_state_id=It;exports.default=bs;exports.formatDate=h;exports.get_langage_color=oe;exports.get_relative_time=Ct;exports.github=Re;
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var Ot=require('path'),url=require('url'),child_process=require('child_process'),he=require('fs'),util=require('util'),jt=require('color-convert'),we=require('dayjs'),Vt=require('dayjs/plugin/relativeTime.js'),Kt=require('git-url-parse'),Jt=require('language-colors'),simpleGit=require('simple-git'),uuid=require('uuid'),O=require('axios'),httpProxyAgent=require('http-proxy-agent'),httpsProxyAgent=require('https-proxy-agent'),socksProxyAgent=require('socks-proxy-agent'),lodashEs=require('lodash-es'),St=require('crypto'),na=require('jsonwebtoken');var _documentCurrentScript=typeof document!=='undefined'?document.currentScript:null;function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Ot__default=/*#__PURE__*/_interopDefault(Ot);var he__default=/*#__PURE__*/_interopDefault(he);var jt__default=/*#__PURE__*/_interopDefault(jt);var we__default=/*#__PURE__*/_interopDefault(we);var Vt__default=/*#__PURE__*/_interopDefault(Vt);var Kt__default=/*#__PURE__*/_interopDefault(Kt);var Jt__default=/*#__PURE__*/_interopDefault(Jt);var O__default=/*#__PURE__*/_interopDefault(O);var St__default=/*#__PURE__*/_interopDefault(St);var na__default=/*#__PURE__*/_interopDefault(na);var Ut=Object.defineProperty;var w=(d,e)=>()=>(d&&(e=d(d=0)),e);var k=(d,e)=>{for(var a in e)Ut(d,a,{get:e[a],enumerable:true});};var f,De,A,Ue,Oe,Ne,Fe,oe,v,ie,Be,ne,We,ze,S,je,Ve,Ke,_,p,le,C,Je,y,Ye,ue,H,Xe,$,Qe,G,de,Ze,D,P,et,R,tt,at,M,rt,F,st,B,ot,it,nt,pe,W,x,lt,ut,dt,z,U,pt,mt,me,ct,_t,gt,L,ce=w(()=>{f="\u55B5\u545C~ \u5F53\u524D\u5BA2\u6237\u7AEF\u7C7B\u578B\u4E0D\u662FApp\u7C7B\u578B, \u4E0D\u652F\u6301\u6B64\u64CD\u4F5C\u54E6",De="\u55B5\u545C~ \u5E94\u7528\u5BA2\u6237\u7AEF\u914D\u7F6E\u4E0D\u5B8C\u6574",A="\u55B5\u545C~ \u8BF7\u6C42\u8DEF\u5F84\u4E0D\u80FD\u4E3A\u7A7A",Ue="\u55B5\u545C~ \u5E94\u7528\u5BA2\u6237\u7AEFID\u4E0D\u80FD\u4E3A\u7A7A",Oe="\u55B5\u545C~ \u5E94\u7528\u5BA2\u6237\u7AEFID\u4E0D\u80FD\u4E3A\u7A7A",Ne="\u55B5\u545C~ \u5E94\u7528\u5BC6\u94A5\u4E0D\u80FD\u4E3A\u7A7A",Fe="\u55B5\u545C~ \u5E94\u7528\u6807\u8BC6\u7B26\u4E0D\u80FD\u4E3A\u7A7A",oe="\u55B5\u545C~ \u6388\u6743\u7801\u4E0D\u80FD\u4E3A\u7A7A",v="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u4E0D\u80FD\u4E3A\u7A7A",ie="\u55B5\u545C~ \u5237\u65B0\u4EE4\u724C\u4E0D\u80FD\u4E3A\u7A7A",Be="\u55B5\u545C~ \u8BF7\u63D0\u4F9B\u6807\u9898",ne="\u55B5\u545C~ \u4EE3\u7406\u5730\u5740\u683C\u5F0F\u4E0D\u6B63\u786E\u54E6",We="\u55B5\u545C~ \u672C\u5730\u4ED3\u5E93\u8DEF\u5F84\u4E0D\u80FD\u4E3A\u7A7A",ze="\u55B5\u545C~ \u8FDC\u7A0B\u4ED3\u5E93URL\u4E0D\u80FD\u4E3A\u7A7A",S="\u55B5\u545C~ \u8FD9\u4E2A\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",je="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5DF2\u8FC7\u671F",Ve="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u5931\u8D25",Ke="\u55B5\u545C~ \u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25",_="\u55B5\u545C~ \u8BBF\u95EE\u88AB\u62D2\u7EDD\u5566\uFF0C\u53EF\u80FD\u662F\u4EE4\u724C\u8FC7\u671F\u4E86\u6216\u6743\u9650\u4E0D\u8DB3",p="\u55B5\u545C~ \u4ED3\u5E93\u62E5\u6709\u8005\u6216\u4ED3\u5E93\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A",le="\u55B5\u545C~ \u8BF7\u63D0\u4F9B\u4ED3\u5E93\u4FE1\u606F(\u4ED3\u5E93\u62E5\u6709\u8005/\u4ED3\u5E93\u540D\u6216\u5B8C\u6574URL)",C="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",Je="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u5DF2\u88AB\u79FB\u52A8",y="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u4E0D\u5B58\u5728\u6216\u8BBF\u95EE\u88AB\u62D2\u7EDD\u5566\uFF0C\u53EF\u80FD\u662F\u4EE4\u724C\u8FC7\u671F\u4E86\u6216\u6743\u9650\u4E0D\u8DB3",Ye="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u4E0D\u5B58\u5728\u54E6",ue="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",H="\u55B5\u545C~ \u8FD9\u4E2A\u7528\u6237\u4E0D\u5B58\u5728\u54E6",Xe="\u55B5\u545C~ \u7528\u6237ID\u4E0D\u80FD\u4E3A\u7A7A",$="\u55B5\u545C~ \u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A",Qe="\u55B5\u545C~ \u7EC4\u7EC7\u8D26\u53F7\u6682\u4E0D\u652F\u6301",G="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u4E0D\u5B58\u5728\u54E6",de="\u55B5\u545C~ \u7EC4\u7EC7\u540D\u4E0D\u80FD\u4E3A\u7A7A",Ze="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",D="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u6216\u7528\u6237\u4E0D\u5B58\u5728\u54E6",P="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u4E0D\u5B58\u5728\u54E6",et="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u5DF2\u88AB\u79FB\u52A8",R="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u4E0D\u5B58\u5728\u54E6",tt="\u55B5\u545C~ \u8FD9\u4E2A\u5173\u8054\u8BAE\u9898\u4E0D\u80FD\u4E3A\u7A7A\u54E6",at="\u55B5\u545C~ \u8FD9\u4E2A\u5173\u8054\u8BAE\u9898\u7F16\u53F7\u6216\u6807\u9898\u4E0D\u80FD\u4E3A\u7A7A\u54E6",M="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",rt="\u55B5\u545C~ \u8BAE\u9898\u6807\u9898\u4E0D\u80FD\u4E3A\u7A7A\u54E6",F="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",st="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A\u54E6",B="\u55B5\u545C~ \u8FD9\u4E2A\u5B50\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",ot="\u55B5\u545C~ \u9501\u5B9A\u8BAE\u9898\u5931\u8D25",it="\u55B5\u545C~ \u89E3\u9501\u8BAE\u9898\u5931\u8D25",nt="\u55B5\u545C~ \u5220\u9664\u8BAE\u9898\u5931\u8D25",pe="\u55B5\u545C~ \u8FD9\u4E2A\u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A\u54E6",W="\u55B5\u545C~ \u8FD9\u4E2A\u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",x="\u55B5\u545C~ \u8FD9\u4E2A\u62C9\u53D6\u8BF7\u6C42\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",lt="\u55B5\u545C~ \u8BF7\u63D0\u4F9B\u6E90\u5206\u652F",ut="\u55B5\u545C~ \u8BF7\u63D0\u4F9B\u76EE\u6807\u5206\u652F",dt="\u55B5\u545C~ \u62C9\u53D6\u8BF7\u6C42\u7684\u5408\u5E76\u65B9\u5F0F\u4E0D\u652F\u6301",z="\u55B5\u545C~ \u62C9\u53D6\u8BF7\u6C42\u7F16\u53F7\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728",U="\u55B5\u545C~ \u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u7F16\u53F7\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728",pt="\u55B5\u545C~ \u8FD9\u4E2ASHA\u503C\u4E0E\u5934\u90E8\u5206\u652F\u7684SHA\u503C\u4E0D\u5339\u914D",mt="\u55B5\u545C~ WebHook \u7B7E\u540D\u683C\u5F0F\u4E0D\u6B63\u786E",me="\u55B5\u545C~ WebHook \u7B7E\u540D\u9A8C\u8BC1\u5931\u8D25",ct="\u55B5\u545C~ WebHook \u7B7E\u540D\u5BC6\u94A5\u4E0D\u80FD\u4E3A\u7A7A\u54E6",_t="\u55B5\u545C~ WebHook \u8BF7\u6C42\u4F53\u4E0D\u80FD\u4E3A\u7A7A\u54E6",gt="\u55B5\u545C~ WebHook \u7B7E\u540D\u5934\u4E0D\u80FD\u4E3A\u7A7A\u54E6",L="\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 ht,_e,ge,wt,yt,ft=w(()=>{ht="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u6210\u529F",_e="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u6709\u6548",ge="\u55B5\u545C~ \u8BAE\u9898\u89E3\u9501\u6210\u529F",wt="\u55B5\u545C~ \u8BAE\u9898\u8BC4\u8BBA\u5220\u9664\u6210\u529F",yt="\u55B5\u545C~ WebHook\u7B7E\u540D\u9A8C\u8BC1\u6210\u529F";});var Ft,bt,Rt=w(()=>{Ft=Object.freeze(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index.cjs', document.baseURI).href)))),bt=Object.freeze(Ot__default.default.join(Ft,"../..").replace(/\\/g,"/"));});async function Xt(d){try{return await he__default.default.promises.access(d),!0}catch{return false}}function Ct(d="",e=""){e=e||bt;try{let a=`${e}/${d}`;if(!he__default.default.existsSync(a))return console.warn(`\u6587\u4EF6\u4E0D\u5B58\u5728: ${a}`),{};let o=he__default.default.readFileSync(a,"utf8");return JSON.parse(o)}catch(a){return console.error(`\u8BFB\u53D6 JSON \u6587\u4EF6\u5931\u8D25: ${d}`,a),{}}}async function Pt(d="zh-cn"){await import(`dayjs/locale/${String(d).toLowerCase()}.js`);}async function m(d,e="zh-cn",a="YYYY-MM-DD HH:mm:ss"){return await Pt(e),we__default.default(d).locale(e).format(a)}async function Qt(d,e="zh-cn"){return await Pt(e),we__default.default.extend(Vt__default.default),we__default.default(d).fromNow()}function j(d){let e=/^https?:\/\/[^/]+\/(?:https?:\/\/)?([^/]+\/[^/]+\/[^/]+)/,a=d.match(e);if(a){let s=a[1];d=s.startsWith("https")?s:`https://${s}`;}let o=Kt__default.default(d);return {owner:o.owner,repo:o.name}}async function Et(){return (await Yt("git --version")).toString("utf-8").trim()}async function Zt(d){if(!d)throw new Error(We);try{try{await Et();}catch{throw new Error("\u55B5\u545C~, Git \u672A\u5B89\u88C5\u6216\u672A\u6B63\u786E\u914D\u7F6E")}let e=Ot__default.default.join(d,".git");if(!await Xt(e))throw new Error(`\u8DEF\u5F84 ${d} \u4E0D\u662F\u4E00\u4E2A\u6709\u6548\u7684 Git \u4ED3\u5E93`);let s=await simpleGit.simpleGit(d).revparse(["--abbrev-ref","HEAD"]);if(!s)throw new Error("\u65E0\u6CD5\u83B7\u53D6\u4ED3\u5E93\u5206\u652F\u4FE1\u606F\uFF0C\u8BF7\u786E\u4FDD\u4ED3\u5E93\u5DF2\u521D\u59CB\u5316");return s.trim()}catch(e){throw new Error(`\u83B7\u53D6\u672C\u5730\u4ED3\u5E93\u9ED8\u8BA4\u5206\u652F\u5931\u8D25: ${e.message}`)}}async function ye(d){if(!d)throw new Error(ze);try{let e;try{e=await Et();}catch{throw new Error("\u55B5\u545C~, Git \u672A\u5B89\u88C5\u6216\u672A\u6B63\u786E\u914D\u7F6E")}let a=new URL(d);if(a.protocol!=="https:"&&a.protocol!=="http:")throw new Error("\u8FDC\u7A0B\u4ED3\u5E93URL\u5FC5\u987B\u662FHTTP\u6216HTTPS\u534F\u8BAE");let{owner:o,repo:s}=j(a.href);if(!(o||s))throw new Error(`url: ${a.href} \u4E0D\u662F\u4E00\u4E2A\u6709\u6548\u7684 Git \u4ED3\u5E93\u5730\u5740`);let i=(await simpleGit.simpleGit().raw(["ls-remote","--symref",d,"HEAD"])).match(/^ref: refs\/heads\/([^\t\n]+)/m);if(!i)throw new Error("\u65E0\u6CD5\u4ECE\u8FDC\u7A0B\u4ED3\u5E93\u83B7\u53D6\u9ED8\u8BA4\u5206\u652F\u4FE1\u606F");return i[1]}catch(e){throw new Error(`\u83B7\u53D6\u8FDC\u7A0B\u4ED3\u5E93\u9ED8\u8BA4\u5206\u652F\u5931\u8D25: ${e.message}`)}}function ea(d){if(!Array.isArray(d))throw new Error("RGB\u503C\u5FC5\u987B\u662F\u6570\u7EC4\u7C7B\u578B");if(d.length!==3)throw new Error("RGB\u6570\u7EC4\u5FC5\u987B\u5305\u542B\u4E14\u4EC5\u5305\u542B3\u4E2A\u503C");if(!d.every(e=>Number.isInteger(e)&&e>=0&&e<=255))throw new Error("RGB\u503C\u5FC5\u987B\u90FD\u662F0-255\u4E4B\u95F4\u7684\u6574\u6570");return `#${jt__default.default.rgb.hex(d)}`}function fe(d){return d=String(d).toLowerCase(),ea(Jt__default.default[d].color)??"#ededed"}async function ta(d,e){return Promise.resolve(Array.from({length:Math.ceil(d.length/e)},(a,o)=>d.slice(o*e,o*e+e)))}async function kt(d){try{if(!d)return {total:0,contributions:[]};let e=/data-date="(.*?)" id="contribution-day-component/g,a=/<tool-tip .*?class="sr-only position-absolute">(.*?) contribution/g,o=Array.from(d.matchAll(e),i=>i[1]),s=Array.from(d.matchAll(a),i=>String(i[1]).toLowerCase()==="no"?0:parseInt(i[1]));if(!o.length||!s.length)return {total:0,contributions:[]};let t=o.map((i,n)=>({date:i,count:s[n]})).sort((i,n)=>i.date.localeCompare(n.date)),r=await ta(t,7);return {total:s.reduce((i,n)=>i+n,0),contributions:r}}catch(e){throw new Error(`\u89E3\u6790\u8D21\u732E\u6570\u636E\u5931\u8D25: ${e}`)}}var Yt,be=w(()=>{ce();Rt();Yt=util.promisify(child_process.execSync);});var Re,vt=w(()=>{be();Re=Ct("package.json");});var b=w(()=>{ce();ft();be();vt();});function Te(d="github",e,a="common"){let o={github:"api.github.com",gitee:"gitee.com/api/v5",gitcode:"api.gitcode.com/api/v5"};if(!e)return `https://${o[d??"github"]}`.replace(/\/$/,"");let t=`${e.match(/^(https?):/)?.[1]??"https"}://${e.replace(/^https?:\/\/|\/$/g,"")}`;return a==="common"?t:`${t}/${o[d]}`}function q(d="github",e,a="common"){let o={github:"github.com",gitee:"gitee.com",gitcode:"gitcode.com"};if(!e)return `https://${o[d??"github"]}`.replace(/\/$/,"");let t=`${e.match(/^(https?):/)?.[1]??"https"}://${e.replace(/^https?:\/\/|\/$/g,"")}`;return a==="common"?t:`${t}/${o[d]}`}async function ra(){return Promise.resolve(uuid.v4().replace(/-/g,""))}var V=w(()=>{});var K,Ce=w(()=>{b();K=class{baseUrl;tokenType;authorization;proxy;defaultHeaders;constructor(e,a="Bearer",o,s,t){this.baseUrl=e.replace(/\/$/,""),this.authorization=o,this.proxy=s,this.tokenType=a,this.defaultHeaders=t;}async request(e,a,o,s,t){let r=`${this.baseUrl}/${a}`.replace(/\/+/g,"/"),i={headers:this.createHeaders(t),params:o,validateStatus:()=>true};if(this.proxy){let n=this.proxy.type,l=this.proxy.address;switch(n){case "http":i.httpAgent=new httpProxyAgent.HttpProxyAgent(l),i.httpsAgent=new httpsProxyAgent.HttpsProxyAgent(l);break;case "https":i.httpsAgent=new httpsProxyAgent.HttpsProxyAgent(l);break;case "socks":case "socks5":{let u=new socksProxyAgent.SocksProxyAgent(l);i.httpAgent=u,i.httpsAgent=u;break}}}try{let n;switch(e){case "get":n=await O__default.default.get(r,i);break;case "post":n=await O__default.default.post(r,s,i);break;case "patch":n=await O__default.default.patch(r,s,i);break;case "put":n=await O__default.default.put(r,s,i);break;case "delete":n=await O__default.default.delete(r,{...i,data:s});break;default:throw new Error(`\u4E0D\u652F\u6301\u7684\u8BF7\u6C42\u65B9\u6CD5: ${e}`)}let l=Object.fromEntries(Object.entries(n.headers).filter(([u,c])=>c!==void 0).map(([u,c])=>[u.toLowerCase(),c]));return {success:!0,statusCode:n.status,headers:l,data:n.data,msg:n.status>=200&&n.status<500?"\u8BF7\u6C42\u6210\u529F":"\u8BF7\u6C42\u5F02\u5E38"}}catch(n){let l=n,u=l.response?.headers?Object.fromEntries(Object.entries(l.response.headers).filter(([c,I])=>I!==void 0).map(([c,I])=>[c,I])):{};return {success:false,statusCode:l.response?.status??500,headers:u,msg:l.message??"\u7F51\u7EDC\u8FDE\u63A5\u5931\u8D25",data:null}}}async get(e,a,o){return this.request("get",e,a,null,o)}async post(e,a,o,s){return this.request("post",e,a,o,s)}async patch(e,a=null,o,s){return this.request("patch",e,a,o,s)}async put(e,a,o,s){return this.request("put",e,a,o,s)}async delete(e,a=null,o,s){return this.request("delete",e,a,o,s)}createHeaders(e){let a={"Content-Type":"application/json","User-Agent":`${Re.name}/v${Re.version}`,...this.defaultHeaders??{}};if(this.authorization)if(this.tokenType==="Basic"){let o=Buffer.from(this.authorization).toString("base64");a.Authorization=`Basic ${o}`;}else this.tokenType==="Bearer"?a.Authorization=`Bearer ${this.authorization}`:a.Authorization=`${this.tokenType} ${this.authorization}`;return e&&Object.assign(a,e),a}};});var Pe=w(()=>{V();Ce();});var It={};k(It,{Auth:()=>J});var J,Ee=w(()=>{b();E();J=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.api_url=e.api_url,this.base_url=e.base_url;}async get_token_by_code(e){if(!this.is_app_client)throw new Error(f);if(!e.code)throw new Error(oe);try{this.setRequestConfig({url:this.base_url});let a=await this.post("/login/oauth/access_token",{client_id:this.Client_ID,client_secret:this.Client_Secret,code:e.code},{Accept:"application/json"}),o=a.status==="ok"&&a.statusCode===200&&!a.data.error;if(a.data){if(!o)throw new Error(Ke);let s={success:o,info:_e,access_token:a.data.access_token,expires_in:a.data.expires_in??null,refresh_token:a.data.refresh_token??null,refresh_token_expires_in:a.data.refresh_token_expires_in??null,scope:a.data.scope,token_type:a.data.token_type};a.data=s;}return a}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${a.message}`)}}async check_token_status(e){try{if(!this.is_app_client)throw new Error(f);let a=e?.access_token??this.userToken;if(!a)throw new Error(S);if(!a.startsWith("ghu_"))throw new Error(v);this.setRequestConfig({url:this.api_url,tokenType:"Basic",token:`${this.Client_ID}:${this.Client_Secret}`});let o=await this.post(`/applications/${this.Client_ID}/token`,{access_token:a});if(o.data){let s=!(o.status==="ok"&&(o.statusCode===404||o.statusCode===422));o.data={success:s,info:s?_e:je};}return o}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u72B6\u6001\u5931\u8D25: ${a.message}`)}}async refresh_token(e){try{if(!this.is_app_client)throw new Error(f);if(!e.refresh_token)throw new Error(oe);if(!e.refresh_token.startsWith("ghr_"))throw new Error(ie);this.setRequestConfig({url:this.base_url});let a=await this.post("/login/oauth/access_token",{client_id:this.Client_ID,client_secret:this.Client_Secret,grant_type:"refresh_token",refresh_token:e.refresh_token},{Accept:"application/json"}),o=a.status==="ok"&&a.statusCode===200&&!a.data.error,s=Ve;switch(a.data.error){case "bad_refresh_token":s=ie;break;case "unauthorized":s=_;break}if(a.data){if(!o)throw new Error(s);let t={success:o,info:ht,access_token:a.data.access_token,expires_in:a.data.expires_in??null,refresh_token:a.data.refresh_token??null,refresh_token_expires_in:a.data.refresh_token_expires_in??null,scope:a.data.scope,token_type:a.data.token_type};a.data=t;}return a}catch(a){throw new Error(`[GitHub] \u5237\u65B0\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${a.message}`)}}async create_auth_link(e){try{if(!this.is_app_client)throw new Error(f);let a=new URL("/login/oauth/authorize",this.base_url);return a.search=new URLSearchParams({client_id:this.Client_ID,...e&&{state:e}}).toString(),Promise.resolve(a.toString())}catch(a){throw new Error(`[GitHub] \u751F\u6210\u6388\u6743\u94FE\u63A5\u5931\u8D25: ${a.message}`)}}};});var $t={};k($t,{Commit:()=>X});var X,ke=w(()=>{b();E();X=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.api_url=e.api_url,this.base_url=e.base_url;}async get_commit_info(e){try{this.setRequestConfig({token:this.userToken});let a,o,s,t;if("url"in e){s=e.url;let i=j(s);a=i?.owner,o=i?.repo;}else if("owner"in e&&"repo"in e)a=e.owner,o=e.repo;else throw new Error(le);e.sha?t=e.sha:t=await(await this.get_repo()).get_repo_default_branch({owner:a,repo:o});let r=await this.get(`/repos/${a}/${o}/commits/${t}`);switch(r.statusCode){case 401:throw new Error(y);case 404:throw new Error(ue);case 422:throw new Error(Ye)}if(r.data){let i=r.data?.commit?.message??"",[n,...l]=i.split(`
2
+ `),u={html_url:r.data.html_url,sha:r.data.sha,comments_url:r.data.comments_url,commit:{url:r.data.commit.url,author:{id:r.data.author.id,login:r.data.author.login,name:r.data.commit.author.name,avatar_url:r.data.author.avatar_url,email:r.data.commit.author.email,html_url:r.data.author.html_url,type:lodashEs.capitalize(String(r.data.author.type).toLowerCase()),date:this.format?await m(r.data.commit.author.date):r.data.commit.author.date},committer:{id:r.data.committer.id,login:r.data.committer.login,name:r.data.commit.committer.name,avatar_url:r.data.committer.avatar_url,email:r.data.commit.committer.email,html_url:r.data.committer.html_url,type:lodashEs.capitalize(String(r.data.committer.type).toLowerCase()),date:this.format?await m(r.data.commit.committer.date):r.data.commit.committer.date},message:r.data.commit.message,...this.format&&{title:n,body:l<0?l.join(`
3
+ `):null},tree:{url:r.data.commit.tree.url,sha:r.data.commit.tree.sha}},parents:r.data.parents.map(c=>({sha:c.sha,url:c.url})),stats:{additions:r.data.stats.additions,deletions:r.data.stats.deletions,total:r.data.stats.total},files:r.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}))};r.data=u;}return r}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u63D0\u4EA4\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async get_commit_list(e){try{this.setRequestConfig({token:this.userToken});let a,o,s;if("url"in e){s=e.url;let l=j(s);a=l?.owner,o=l?.repo;}else if("owner"in e&&"repo"in e)a=e.owner,o=e.repo;else throw new Error(le);let{...t}=e;if(e.sha)t.sha=e.sha;else {let u=await(await this.get_repo()).get_repo_default_branch({owner:a,repo:o});u&&(t.sha=u);}let r={};t.sha&&(r.sha=t.sha),t.path&&(r.path=t.path),t.author&&(r.author=t.author),t.since&&(r.since=t.since),t.until&&(r.until=t.until),t.per_page&&(r.per_page=t.per_page.toString()),t.page&&(r.page=t.page.toString());let i=`/repos/${a}/${o}/commits`,n=await this.get(i,r);switch(n.statusCode){case 401:throw new Error(y);case 404:throw new Error(ue)}if(n.data){let l=await Promise.all(n.data.map(async u=>{let[c,...I]=u.commit.message.split(`
4
+ `);return {html_url:u.html_url,sha:u.sha,comments_url:u.comments_url,commit:{url:u.commit.url,author:{id:u.author.id,login:u.author.login,name:u.commit.author.name,avatar_url:u.author.avatar_url,email:u.commit.author.email,html_url:u.author.html_url,type:lodashEs.capitalize(String(u.author.type).toLowerCase()),date:this.format?await m(u.commit.author.date):u.commit.author.date},committer:{id:u.committer.id,login:u.committer.login,name:u.commit.committer.name,avatar_url:u.committer.avatar_url,email:u.commit.committer.email,html_url:u.committer.html_url,type:lodashEs.capitalize(String(u.committer.type).toLowerCase()),date:this.format?await m(u.commit.committer.date):u.commit.committer.date},message:u.commit.message,...this.format&&{title:c,body:I.length>0?I.join(`
5
+ `):null},tree:{url:u.commit.tree.url,sha:u.commit.tree.sha}},parents:u.parents.map(T=>({sha:T.sha,url:T.url})),stats:{additions:u.stats.additions,deletions:u.stats.deletions,total:u.stats.total},files:u.files.map(T=>({sha:T.sha,filename:T.filename,status:T.status,additions:T.additions,deletions:T.deletions,changes:T.changes,blob_url:T.blob_url,raw_url:T.raw_url}))}}));n.data=l;}return n}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u63D0\u4EA4\u5217\u8868\u5931\u8D25: ${a.message}`)}}};});var xt={};k(xt,{Issue:()=>Q});var Q,ve=w(()=>{b();Pe();E();Q=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.api_url=e.api_url,this.base_url=e.base_url;}async get_issue_info(e){if(!e.owner||!e.repo)throw new Error(p);if(!e.issue_number)throw new Error(M);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:s}=e,t=await this.get(`/repos/${a}/${o}/issues/${Number(s)}`);switch(t.statusCode){case 404:throw new Error(P);case 301:throw new Error(et)}if(t.data){let r={id:t.data.id,html_url:t.data.html_url,number:t.data.number,comments:t.data.comments,state:t.data.state,state_reason:t.data.state_reason,title:t.data.title,body:t.data.body,user:{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url,type:lodashEs.capitalize(t.data.user.type.toLowerCase())},labels:t.data.labels?t.data.labels.map(i=>({id:i.id,name:i.name,color:i.color})):null,assignee:t.data.assignee?{id:t.data.assignee.id,login:t.data.assignee.login,name:t.data.assignee.name,email:t.data.assignee.email,html_url:t.data.assignee.html_url,avatar_url:t.data.assignee.avatar_url,type:lodashEs.capitalize(t.data.assignee.type.toLowerCase())}:null,milestone:t.data.milestone?{id:t.data.milestone.id,url:t.data.milestone.url,number:t.data.milestone.number,state:t.data.milestone.state,title:t.data.milestone.title,description:t.data.milestone.description,open_issues:t.data.milestone.open_issues,closed_issues:t.data.milestone.closed_issues,created_at:t.data.milestone.created_at,updated_at:t.data.milestone.updated_at,closed_at:t.data.milestone.closed_at,due_on:t.data.milestone.due_on}:null,closed_at:this.format?await m(t.data.closed_at):t.data.closed_at,created_at:this.format?await m(t.data.created_at):t.data.created_at,updated_at:this.format?await m(t.data.updated_at):t.data.updated_at};t.data=r;}return t}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u8BAE\u9898\u8BE6\u60C5\u5931\u8D25: ${a.message}`)}}async get_issues_list(e){if(!e.owner||!e.repo)throw new Error(p);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,...s}=e,t={};s.milestone&&(t.milestone=s.milestone.toString()),s.state&&(t.state=s.state),s.assignee&&(t.assignee=s.assignee),s.creator&&(t.creator=s.creator),s.labels&&(t.labels=s.labels),s.sort&&(t.sort=s.sort),s.direction&&(t.direction=s.direction),s.since&&(t.since=s.since),s.per_page&&(t.per_page=s.per_page.toString()),s.page&&(t.page=s.page.toString());let r=`/repos/${a}/${o}/issues`,i=await this.get(r,t);if(i.statusCode===401)throw new Error(_);if(i.data){let n=i.data.map(l=>({id:l.id,html_url:l.html_url,number:l.number,comments:l.comments,state:l.state,state_reason:l.state_reason,title:l.title,body:l.body,user:{id:l.user.id,login:l.user.login,name:l.user.name,email:l.user.email,html_url:l.user.html_url,avatar_url:l.user.avatar_url,type:lodashEs.capitalize(l.user.type.toLowerCase())},labels:l.labels?l.labels.map(u=>({id:u.id,name:u.name,color:u.color})):null,assignee:l.assignee?{id:l.assignee.id,login:l.assignee.login,name:l.assignee.name,email:l.assignee.email,html_url:l.assignee.html_url,avatar_url:l.assignee.avatar_url,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.data=n;}return i}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u7684\u8BAE\u9898\u5217\u8868\u5931\u8D25: ${a.message}`)}}async create_issue(e){if(!e.owner||!e.repo)throw new Error(p);if(!e.title)throw new Error(rt);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,...s}=e,t={...s,...s.labels&&{labels:Array.isArray(s.labels)?s.labels:[s.labels]},...s.assignees&&{assignees:Array.isArray(s.assignees)?s.assignees:[s.assignees]}},r=await this.post(`/repos/${a}/${o}/issues`,t);switch(r.statusCode){case 403:throw new Error(_);case 301:throw new Error(C)}if(r.data&&r.data){let i={id:r.data.id,html_url:r.data.html_url,number:r.data.number,comments:r.data.comments,state:r.data.state,state_reason:r.data.state_reason,title:r.data.title,body:r.data.body,user:{id:r.data.user.id,login:r.data.user.login,name:r.data.user.name,email:r.data.user.email,html_url:r.data.user.html_url,avatar_url:r.data.user.avatar_url,type:lodashEs.capitalize(r.data.user.type.toLowerCase())},labels:r.data.labels?r.data.labels.map(n=>({id:n.id,name:n.name,color:n.color})):null,assignee:r.data.assignee?{id:r.data.assignee.id,login:r.data.assignee.login,name:r.data.assignee.name,email:r.data.assignee.email,html_url:r.data.assignee.html_url,avatar_url:r.data.assignee.avatar_url,type:lodashEs.capitalize(r.data.assignee.type.toLowerCase())}:null,milestone:r.data.milestone?{id:r.data.milestone.id,url:r.data.milestone.url,number:r.data.milestone.number,state:r.data.milestone.state,title:r.data.milestone.title,description:r.data.milestone.description,open_issues:r.data.milestone.open_issues,closed_issues:r.data.milestone.closed_issues,created_at:r.data.milestone.created_at,updated_at:r.data.milestone.updated_at,closed_at:r.data.milestone.closed_at,due_on:r.data.milestone.due_on}:null,closed_at:r.data.closed_at,created_at:r.data.created_at,updated_at:r.data.updated_at};r.data=i;}return r}catch(a){throw new Error(`[GitHub]\u521B\u5EFA\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}async update_issue(e){if(!e.owner||!e.repo)throw new Error(p);if(!e.issue_number)throw new Error(M);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:s,...t}=e,r={...t,...t.labels&&{labels:Array.isArray(t.labels)?t.labels:[t.labels]},...t.assignees&&{assignees:Array.isArray(t.assignees)?t.assignees:[t.assignees]}},i=await this.patch(`/repos/${a}/${o}/issues/${Number(s)}`,null,r);switch(i.statusCode){case 404:throw new Error(P);case 403:throw new Error(_);case 301:throw new Error(C)}if(i.data&&i.data){let n={id:i.data.id,html_url:i.data.html_url,number:i.data.number,comments:i.data.comments,state:i.data.state,state_reason:i.data.state_reason,title:i.data.title,body:i.data.body,user:{id:i.data.user.id,login:i.data.user.login,name:i.data.user.name,email:i.data.user.email,html_url:i.data.user.html_url,avatar_url:i.data.user.avatar_url,type:lodashEs.capitalize(i.data.user.type.toLowerCase())},labels:i.data.labels?i.data.labels.map(l=>({id:l.id,name:l.name,color:l.color})):null,assignee:i.data.assignee?{id:i.data.assignee.id,login:i.data.assignee.login,name:i.data.assignee.name,email:i.data.assignee.email,html_url:i.data.assignee.html_url,avatar_url:i.data.assignee.avatar_url,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=n;}return i}catch(a){throw new Error(`[GitHub] \u66F4\u65B0\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}async open_issue(e){if(!e.owner||!e.repo)throw new Error(p);if(!e.issue_number)throw new Error(M);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:s}=e,t=await this.patch(`/repos/${a}/${o}/issues/${s}`,null,{state:"open"});switch(t.statusCode){case 404:throw new Error(P);case 403:throw new Error(_);case 301:throw new Error(C)}if(t.data&&t.data){let r={id:t.data.id,html_url:t.data.html_url,number:t.data.number,comments:t.data.comments,state:t.data.state,state_reason:t.data.state_reason,title:t.data.title,body:t.data.body,user:{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url,type:lodashEs.capitalize(t.data.user.type.toLowerCase())},labels:t.data.labels?t.data.labels.map(i=>({id:i.id,name:i.name,color:i.color})):null,assignee:t.data.assignee?{id:t.data.assignee.id,login:t.data.assignee.login,name:t.data.assignee.name,email:t.data.assignee.email,html_url:t.data.assignee.html_url,avatar_url:t.data.assignee.avatar_url,type:lodashEs.capitalize(t.data.assignee.type.toLowerCase())}:null,milestone:t.data.milestone?{id:t.data.milestone.id,url:t.data.milestone.url,number:t.data.milestone.number,state:t.data.milestone.state,title:t.data.milestone.title,description:t.data.milestone.description,open_issues:t.data.milestone.open_issues,closed_issues:t.data.milestone.closed_issues,created_at:t.data.milestone.created_at,updated_at:t.data.milestone.updated_at,closed_at:t.data.milestone.closed_at,due_on:t.data.milestone.due_on}:null,closed_at:t.data.closed_at,created_at:t.data.created_at,updated_at:t.data.updated_at};t.data=r;}return t}catch(a){throw new Error(`[GitHub] \u6253\u5F00\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}async reopen_issue(e){return this.open_issue(e)}async close_issue(e){if(!e.owner||!e.repo)throw new Error(p);if(!e.issue_number)throw new Error(M);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:s}=e,t=await this.patch(`/repos/${a}/${o}/issues/${s}`,null,{state:"closed"});switch(t.statusCode){case 404:throw new Error(P);case 403:throw new Error(_);case 301:throw new Error(C)}if(t.data&&t.data){let r={id:t.data.id,html_url:t.data.html_url,number:t.data.number,comments:t.data.comments,state:t.data.state,state_reason:t.data.state_reason,title:t.data.title,body:t.data.body,user:{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url,type:lodashEs.capitalize(t.data.user.type.toLowerCase())},labels:t.data.labels?t.data.labels.map(i=>({id:i.id,name:i.name,color:i.color})):null,assignee:t.data.assignee?{id:t.data.assignee.id,login:t.data.assignee.login,name:t.data.assignee.name,email:t.data.assignee.email,html_url:t.data.assignee.html_url,avatar_url:t.data.assignee.avatar_url,type:lodashEs.capitalize(t.data.assignee.type.toLowerCase())}:null,milestone:t.data.milestone?{id:t.data.milestone.id,url:t.data.milestone.url,number:t.data.milestone.number,state:t.data.milestone.state,title:t.data.milestone.title,description:t.data.milestone.description,open_issues:t.data.milestone.open_issues,closed_issues:t.data.milestone.closed_issues,created_at:t.data.milestone.created_at,updated_at:t.data.milestone.updated_at,closed_at:t.data.milestone.closed_at,due_on:t.data.milestone.due_on}:null,closed_at:t.data.closed_at,created_at:t.data.created_at,updated_at:t.data.updated_at};t.data=r;}return t}catch(a){throw new Error(`[GitHub] \u5173\u95ED\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}async lock_issue(e){if(!e.owner||!e.repo)throw new Error(p);if(!e.issue_number)throw new Error(M);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:s,lock_reason:t}=e,r=await this.put(`/repos/${a}/${o}/issues/${Number(s)}`,{locked:!0,lock_reason:t});switch(r.statusCode){case 404:throw new Error(P);case 403:throw new Error(_);case 301:throw new Error(C)}let i;return r.statusCode===204?i={info:ge}:i={info:ot},r.data=i,r}catch(a){throw new Error(`[GitHub] \u9501\u5B9A\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}async unlock_issue(e){if(!e.owner||!e.repo)throw new Error(p);if(!e.issue_number)throw new Error(M);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:s}=e,t=await this.delete(`/repos/${a}/${o}/issues/${s}/lock`);switch(t.statusCode){case 404:throw new Error(P);case 403:throw new Error(_);case 301:throw new Error(C)}let r;return t.statusCode===204?r={info:ge}:r={info:it},t.data=r,t}catch(a){throw new Error(`[GitHub] \u89E3\u9501\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}async get_repo_comments_list(e){if(!e.owner||!e.repo)throw new Error(p);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,...s}=e,t={};s.sort&&(t.sort=s.sort),s.direction&&s.direction&&(t.direction=s.direction),s.since&&(t.since=s.since),s.per_page&&(t.per_page=s.per_page.toString()),s.page&&(t.page=s.page.toString());let r=`/repos/${a}/${o}/issues/comments/`,i=await this.get(r,t);if(i.statusCode===404)throw new Error(R);if(i.data){let n=i.data.map(l=>({id:l.id,html_url:l.html_url,body:l.body,user:{id:l.user.id,login:l.user.login,name:l.user.name,email:l.user.email,html_url:l.user.html_url,avatar_url:l.user.avatar_url,type:lodashEs.capitalize(l.user.type.toLowerCase())},created_at:l.created_at,updated_at:l.updated_at}));i.data=n;}return i}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_issue_comments_list(e){if(!e.owner||!e.repo)throw new Error(p);if(!e.issue_number)throw new Error(M);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:s,...t}=e,r={};t.since&&(r.since=t.since),t.per_page&&(r.per_page=t.per_page.toString()),t.page&&(r.page=t.page.toString());let i=`/repos/${a}/${o}/issues/${Number(s)}/comments`,n=await this.get(i,r);if(n.statusCode===404)throw new Error(R);if(n.data){let l=n.data.map(u=>({id:u.id,html_url:u.html_url,body:u.body,user:{id:u.user.id,login:u.user.login,name:u.user.name,email:u.user.email,html_url:u.user.html_url,avatar_url:u.user.avatar_url,type:lodashEs.capitalize(u.user.type.toLowerCase())},created_at:u.created_at,updated_at:u.updated_at}));n.data=l;}return n}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u8BAE\u9898\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_issue_comment_info(e){if(!e.owner||!e.repo)throw new Error(p);if(!e.comment_id)throw new Error(F);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,comment_id:s}=e,t=await this.get(`/repos/${a}/${o}/issues/comments/${Number(s)}`);if(t.statusCode===404)throw new Error(R);if(t.data){let r={id:t.data.id,html_url:t.data.html_url,body:t.data.body,user:{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url,type:lodashEs.capitalize(t.data.user.type.toLowerCase())},created_at:t.data.created_at,updated_at:t.data.updated_at};t.data=r;}return t}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async create_issue_comment(e){if(!e.owner||!e.repo)throw new Error(p);if(!e.issue_number)throw new Error(R);if(!e.body)throw new Error(st);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:s,body:t}=e,r=await this.post(`/repos/${a}/${o}/issues/${Number(s)}/comments`,{body:t});if(r.statusCode===404)throw new Error(R);if(r.data){let i={id:r.data.id,html_url:`${q(this.type)}/${a}/${o}/issues/${s}#${r.data.id}`,body:r.data.body,user:{id:r.data.user.id,login:r.data.user.login,name:r.data.user.name,email:r.data.user.email,html_url:r.data.user.html_url,avatar_url:r.data.user.avatar_url,type:lodashEs.capitalize(r.data.user.type.toLowerCase())},created_at:r.data.created_at,updated_at:r.data.updated_at};r.data=i;}return r}catch(a){throw new Error(`[GitHub] \u521B\u5EFA\u8BAE\u9898\u8BC4\u8BBA\u5931\u8D25: ${a.message}`)}}async update_issue_comment(e){if(!e.owner||!e.repo)throw new Error(p);if(!e.comment_id)throw new Error(F);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,comment_id:s,...t}=e,r=await this.patch(`/repos/${a}/${o}/issues/comments/${Number(s)}`,null,t);if(r.statusCode===404)throw new Error(R);if(r.data){let i={id:r.data.id,html_url:r.data.html_url,body:r.data.body,user:{id:r.data.user.id,login:r.data.user.login,name:r.data.user.name,email:r.data.user.email,html_url:r.data.user.html_url,avatar_url:r.data.user.avatar_url,type:lodashEs.capitalize(r.data.user.type.toLowerCase())},created_at:r.data.created_at,updated_at:r.data.updated_at};r.data=i;}return r}catch(a){throw new Error(`[GitHub] \u66F4\u65B0\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async remove_issue_comment(e){if(!e.owner||!e.repo)throw new Error(p);if(!e.comment_id)throw new Error(F);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,comment_id:s}=e,t=await this.delete(`/repos/${a}/${o}/issues/comments/${Number(s)}`);if(t.statusCode===404)throw new Error(R);let r;return t.statusCode===204?r={info:wt}:r={info:nt},t.data=r,t}catch(a){throw new Error(`[GitHub] \u5220\u9664\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async delete_issue_comment(e){return this.remove_issue_comment(e)}async get_sub_issue_list(e){if(!e.owner||!e.repo)throw new Error(p);if(!e.issue_number)throw new Error(R);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:s,...t}=e,r={};t.per_page&&(r.per_page=t.per_page.toString()),t.page&&(r.page=t.page.toString());let i=`/repos/${a}/${o}/issues/${Number(s)}/sub_issues`,n=await this.get(i,r);if(n.statusCode===404)throw new Error(P);if(n.data){let l=n.data.map(u=>({id:u.id,html_url:u.html_url,number:u.number,comments:u.comments,state:u.state,state_reason:u.state_reason,title:u.title,body:u.body,user:{id:u.user.id,login:u.user.login,name:u.user.name,email:u.user.email,html_url:u.user.html_url,avatar_url:u.user.avatar_url,type:lodashEs.capitalize(u.user.type.toLowerCase())},labels:u.labels?u.labels.map(c=>({id:c.id,name:c.name,color:c.color})):null,assignee:u.assignee?{id:u.assignee.id,login:u.assignee.login,name:u.assignee.name,email:u.assignee.email,html_url:u.assignee.html_url,avatar_url:u.assignee.avatar_url,type:lodashEs.capitalize(u.assignee.type.toLowerCase())}:null,milestone:u.milestone?{id:u.milestone.id,url:u.milestone.url,number:u.milestone.number,state:u.milestone.state,title:u.milestone.title,description:u.milestone.description,open_issues:u.milestone.open_issues,closed_issues:u.milestone.closed_issues,created_at:u.milestone.created_at,updated_at:u.milestone.updated_at,closed_at:u.milestone.closed_at,due_on:u.milestone.due_on}:null,closed_at:u.closed_at,created_at:u.created_at,updated_at:u.updated_at}));n.data=l;}return n}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u5B50\u8BAE\u9898\u5217\u8868\u5931\u8D25: ${a.message}`)}}async add_sub_issue(e){if(!e.owner||!e.repo)throw new Error(p);if(!e.issue_number)throw new Error(R);if(!e.sub_issue_id)throw new Error(B);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:s,sub_issue_id:t,replace_parent:r}=e,i=await this.post(`/repos/${a}/${o}/issues/${s}/sub_issues`,{sub_issue_id:t,replace_parent:r});if(i.statusCode===404)throw new Error(P);if(i.data){let n={id:i.data.id,html_url:i.data.html_url,number:i.data.number,comments:i.data.comments,state:i.data.state,state_reason:i.data.state_reason,title:i.data.title,body:i.data.body,user:{id:i.data.user.id,login:i.data.user.login,name:i.data.user.name,email:i.data.user.email,html_url:i.data.user.html_url,avatar_url:i.data.user.avatar_url,type:lodashEs.capitalize(i.data.user.type.toLowerCase())},labels:i.data.labels?i.data.labels.map(l=>({id:l.id,name:l.name,color:l.color})):null,assignee:i.data.assignee?{id:i.data.assignee.id,login:i.data.assignee.login,name:i.data.assignee.name,email:i.data.assignee.email,html_url:i.data.assignee.html_url,avatar_url:i.data.assignee.avatar_url,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=n;}return i}catch(a){throw new Error(`[GitHub] \u6DFB\u52A0\u5B50\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}async remove_sub_issue(e){if(!e.owner||!e.repo)throw new Error(p);if(!e.issue_number)throw new Error(R);if(!e.sub_issue_id)throw new Error(B);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:s,sub_issue_id:t}=e,r=await this.delete(`/repos/${a}/${o}/issues/${s}/sub_issue`,null,{sub_issue_id:t});if(r.statusCode===404)throw new Error(P);if(r.data){let i={id:r.data.id,html_url:r.data.html_url,number:r.data.number,comments:r.data.comments,state:r.data.state,state_reason:r.data.state_reason,title:r.data.title,body:r.data.body,user:{id:r.data.user.id,login:r.data.user.login,name:r.data.user.name,email:r.data.user.email,html_url:r.data.user.html_url,avatar_url:r.data.user.avatar_url,type:lodashEs.capitalize(r.data.user.type.toLowerCase())},labels:r.data.labels?r.data.labels.map(n=>({id:n.id,name:n.name,color:n.color})):null,assignee:r.data.assignee?{id:r.data.assignee.id,login:r.data.assignee.login,name:r.data.assignee.name,email:r.data.assignee.email,html_url:r.data.assignee.html_url,avatar_url:r.data.assignee.avatar_url,type:lodashEs.capitalize(r.data.assignee.type.toLowerCase())}:null,milestone:r.data.milestone?{id:r.data.milestone.id,url:r.data.milestone.url,number:r.data.milestone.number,state:r.data.milestone.state,title:r.data.milestone.title,description:r.data.milestone.description,open_issues:r.data.milestone.open_issues,closed_issues:r.data.milestone.closed_issues,created_at:r.data.milestone.created_at,updated_at:r.data.milestone.updated_at,closed_at:r.data.milestone.closed_at,due_on:r.data.milestone.due_on}:null,closed_at:r.data.closed_at,created_at:r.data.created_at,updated_at:r.data.updated_at};r.data=i;}return r}catch(a){throw new Error(`[GitHub] \u5220\u9664\u5B50\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}async delete_sub_issue(e){return this.remove_sub_issue(e)}async reprioritize_sub_issue(e){if(!e.owner||!e.repo)throw new Error(p);if(!e.issue_number)throw new Error(R);if(!e.sub_issue_id)throw new Error(B);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:s,sub_issue_id:t,...r}=e,i={};r.before_id&&!r.after_id&&(i.before_id=r.before_id.toString()),r.after_id&&!r.before_id&&(i.after_id=r.after_id.toString());let n=`/repos/${a}/${o}/issues/${s}/sub_issues/priority`,l=await this.patch(n,i,{sub_issue_id:String(t)});if(l.statusCode===404)throw new Error(P);if(l.data){let u={id:l.data.id,html_url:l.data.html_url,number:l.data.number,comments:l.data.comments,state:l.data.state,state_reason:l.data.state_reason,title:l.data.title,body:l.data.body,user:{id:l.data.user.id,login:l.data.user.login,name:l.data.user.name,email:l.data.user.email,html_url:l.data.user.html_url,avatar_url:l.data.user.avatar_url,type:lodashEs.capitalize(l.data.user.type.toLowerCase())},labels:l.data.labels?l.data.labels.map(c=>({id:c.id,name:c.name,color:c.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.data=u;}return l}catch(a){throw new Error(`[GitHub] \u91CD\u65B0\u6392\u5E8F\u5B50\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}};});var qt={};k(qt,{Repo:()=>Z});var Z,Me=w(()=>{b();E();Z=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.api_url=e.api_url,this.base_url=e.base_url;}async get_org_repos_list(e){if(!e.org)throw new Error(G);try{this.setRequestConfig({token:this.userToken});let{org:a,...o}=e,s={};o?.type&&(s.type=o.type),o?.sort&&(s.sort=o.sort),o?.direction&&(s.direction=o.direction),o?.per_page&&(s.per_page=o.per_page.toString()),o?.page&&(s.page=o.page.toString());let t=`/orgs/${a}/repos`,r=await this.get(t,s);switch(r.statusCode){case 404:throw new Error(G);case 401:throw new Error(y)}if(r.data){let i=await Promise.all(r.data.map(async n=>({id:n.id,name:n.name,full_name:n.full_name,owner:{id:n.owner.id,login:n.owner.login,name:n.owner.name??null,avatar_url:n.owner.avatar_url,type:n.owner.type,html_url:n.owner.html_url,email:n.owner.email??null},public:!n.private,private:n.private,visibility:n.private?"private":"public",fork:n.fork,archived:n.archived,disabled:n.disabled,html_url:n.html_url,description:n.description,stargazers_count:n.stargazers_count,watchers_count:n.watchers_count,language:n.language,forks_count:n.forks_count,open_issues_count:n.open_issues_count,default_branch:n.default_branch,created_at:this.format?await m(n.created_at):n.created_at,updated_at:this.format?await m(n.updated_at):n.updated_at,pushed_at:this.format?await m(n.pushed_at):n.pushed_at})));r.data=i;}return r}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u7EC4\u7EC7\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_user_repos_list_by_token(e){try{this.setRequestConfig({token:this.userToken});let{...a}=e,o={};!e?.visibility&&!e?.affiliation&&a?.type&&(o.type=a.type),a?.visibility&&(o.visibility=a.visibility),a?.affiliation&&(o.affiliation=a.affiliation),a?.sort&&(o.sort=a.sort),a?.direction&&(o.direction=a.direction),a?.per_page&&(o.per_page=a.per_page.toString()),a?.page&&(o.page=a.page.toString());let t=await this.get("/uses/repos",o);if(t.statusCode===401)throw new Error(y);if(t.data){let r=await Promise.all(t.data.map(async i=>({id:i.id,name:i.name,full_name:i.full_name,owner:{id:i.owner.id,login:i.owner.login,name:i.owner.name,avatar_url:i.owner.avatar_url,type:i.owner.type,html_url:i.owner.html_url,email:i.owner.email},public:!i.private,private:i.private,visibility:i.private?"private":"public",fork:i.fork,archived:i.archived,disabled:i.disabled,html_url:i.html_url,description:i.description,stargazers_count:i.stargazers_count,watchers_count:i.watchers_count,language:i.language,forks_count:i.forks_count,open_issues_count:i.open_issues_count,default_branch:i.default_branch,created_at:this.format?await m(i.created_at):i.created_at,updated_at:this.format?await m(i.updated_at):i.updated_at,pushed_at:this.format?await m(i.pushed_at):i.pushed_at})));t.data=r;}return t}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u6388\u6743\u7528\u6237\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_user_repos_list(e){try{if(!e.username)throw new Error($);this.setRequestConfig({token:this.userToken});let{username:a,...o}=e,s={};o?.type&&(s.type=o.type),o?.sort&&(s.sort=o.sort),o?.direction&&(s.direction=o.direction),o?.per_page&&(s.per_page=o.per_page.toString()),o?.page&&(s.page=o.page.toString());let t=`/users/${a}/repos`,r=await this.get(t,s);switch(r.statusCode){case 404:throw new Error(H);case 401:throw new Error(y)}if(r.data){let i=await Promise.all(r.data.map(async n=>({id:n.id,name:n.name,full_name:n.full_name,owner:{id:n.owner.id,login:n.owner.login,name:n.owner.name,avatar_url:n.owner.avatar_url,type:n.owner.type,html_url:n.owner.html_url,email:n.owner.email},public:!n.private,private:n.private,visibility:n.private?"private":"public",fork:n.fork,archived:n.archived,disabled:n.disabled,html_url:n.html_url,description:n.description,stargazers_count:n.stargazers_count,watchers_count:n.watchers_count,language:n.language,forks_count:n.forks_count,open_issues_count:n.open_issues_count,default_branch:n.default_branch,created_at:this.format?await m(n.created_at):n.created_at,updated_at:this.format?await m(n.updated_at):n.updated_at,pushed_at:this.format?await m(n.pushed_at):n.pushed_at})));r.data=i;}return r}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u7528\u6237\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_repo_info(e){if(!e.owner||!e.repo)throw new Error(p);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o}=e,s=await this.get(`/repos/${a}/${o}`);switch(s.statusCode){case 401:throw new Error(y);case 404:throw new Error(D)}if(s.data){let t={id:s.data.id,name:s.data.name,full_name:s.data.full_name,owner:{id:s.data.owner.id,login:s.data.owner.login,name:s.data.owner.name,avatar_url:s.data.owner.avatar_url,type:s.data.owner.type,html_url:s.data.owner.html_url,email:s.data.owner.email},public:!s.data.private,private:s.data.private,visibility:s.data.private?"private":"public",fork:s.data.fork,archived:s.data.archived,disabled:s.data.disabled,html_url:s.data.html_url,description:s.data.description,stargazers_count:s.data.stargazers_count,watchers_count:s.data.watchers_count,language:s.data.language,forks_count:s.data.forks_count,open_issues_count:s.data.open_issues_count,default_branch:s.data.default_branch,created_at:this.format?await m(s.data.created_at):s.data.created_at,updated_at:this.format?await m(s.data.updated_at):s.data.updated_at,pushed_at:this.format?await m(s.data.pushed_at):s.data.pushed_at};s.data=t;}return s}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async get_repo_languages_list(e){if(!e.owner||!e.repo)throw new Error(p);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o}=e,s=await this.get(`/repos/${a}/${o}/languages`);switch(s.statusCode){case 401:throw new Error(y);case 404:throw new Error(C)}if(s.data){let t=Object.entries(s.data),r=t.reduce((l,[,u])=>l+u,0),n={languages:t.map(([l,u])=>({language:l,color:fe(l.toLowerCase()),percent:Number((u/r*100).toFixed(2)),bytes:u}))};s.data=n;}return s}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5217\u8868\u5931\u8D25: ${a.message}`)}}async create_org_repo(e){try{let{org:a,...o}=e;if(!a||!e.name)throw new Error(Ze);let s={};s.name=o.name,o.description&&(s.description=o.description.toString()),o.homepage&&(s.homepage=o.homepage.toString()),o.visibility&&(s.private=o.visibility.toString()),o.has_wiki&&(s.has_wiki=o.has_wiki),o.auto_init&&(s.auto_init=o.auto_init);let t=await this.post(`/orgs/${a}/repos`,s);if(t.statusCode===401)throw new Error(y);if(t.data){let r={id:t.data.id,name:t.data.name,full_name:t.data.full_name,owner:{id:t.data.owner.id,login:t.data.owner.login,name:t.data.owner.name,avatar_url:t.data.owner.avatar_url,type:t.data.owner.type,html_url:t.data.owner.html_url,email:t.data.owner.email},public:!t.data.private,private:t.data.private,visibility:t.data.private?"private":"public",fork:t.data.fork,archived:t.data.archived,disabled:t.data.disabled,html_url:t.data.html_url,description:t.data.description,stargazers_count:t.data.stargazers_count,watchers_count:t.data.watchers_count,language:t.data.language,forks_count:t.data.forks_count,open_issues_count:t.data.open_issues_count,default_branch:t.data.default_branch,created_at:this.format?await m(t.data.created_at):t.data.created_at,updated_at:this.format?await m(t.data.updated_at):t.data.updated_at,pushed_at:this.format?await m(t.data.pushed_at):t.data.pushed_at};t.data=r;}return t}catch(a){throw new Error(`[GitHub] \u521B\u5EFA\u7EC4\u7EC7\u4ED3\u5E93\u5931\u8D25: ${a.message}`)}}async create_user_repo(e){try{let{owner:a,...o}=e;if(!a||!e.name)throw new Error(p);let s={};s.name=o.name,o.description&&(s.description=o.description.toString()),o.homepage&&(s.homepage=o.homepage.toString()),o.visibility==="private"&&(s.private=!0),o.has_wiki&&(s.has_wiki=o.has_wiki),o.auto_init&&(s.auto_init=o.auto_init);let t=await this.post("/user/repos",s);if(t.statusCode===401)throw new Error(y);if(t.data){let r={id:t.data.id,name:t.data.name,full_name:t.data.full_name,owner:{id:t.data.owner.id,login:t.data.owner.login,name:t.data.owner.name,avatar_url:t.data.owner.avatar_url,type:t.data.owner.type,html_url:t.data.owner.html_url,email:t.data.owner.email},public:!t.data.private,private:t.data.private,visibility:t.data.private?"private":"public",fork:t.data.fork,archived:t.data.archived,disabled:t.data.disabled,html_url:t.data.html_url,description:t.data.description,stargazers_count:t.data.stargazers_count,watchers_count:t.data.watchers_count,language:t.data.language,forks_count:t.data.forks_count,open_issues_count:t.data.open_issues_count,default_branch:t.data.default_branch,created_at:this.format?await m(t.data.created_at):t.data.created_at,updated_at:this.format?await m(t.data.updated_at):t.data.updated_at,pushed_at:this.format?await m(t.data.pushed_at):t.data.pushed_at};t.data=r;}return t}catch(a){throw new Error(`[GitHub] \u521B\u5EFA\u7528\u6237\u4ED3\u5E93\u5931\u8D25: ${a.message}`)}}async create_repo(e){return this.create_user_repo(e)}async get_collaborators_list(e){if(!e.owner||!e.repo)throw new Error(p);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o}=e,{...s}=e,t={};s.affiliation&&(t.milestone=s.affiliation.toString()),s.permission&&(t.permission=s.permission.toString()),s.per_page&&(t.per_page=s.per_page.toString()),s.page&&(t.page=s.page.toString());let r=await this.get(`/repos/${a}/${o}/collaborators`,t);if(r.data){let i=await Promise.all(r.data.map(n=>({id:n.id,login:n.login,avatar_url:n.avatar_url,email:n.email,name:n.name,permissions:n.permissions,role_name:n.role_name})));r.data=i;}return r}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u534F\u4F5C\u8005\u5217\u8868\u5931\u8D25: ${a.message}`)}}async add_collaborator(e){if(!e.owner||!e.repo)throw new Error(p);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,username:s}=e,t=await this.put(`/repos/${a}/${o}/collaborators/${s}`,{permission:e.permission??"pull"});if(t.statusCode===404)throw new Error(y);if(t.statusCode===422){let r=t.data.message;if(r&&r.includes("is not a valid permission"))throw new Error(_)}if(t.data){let r={id:t.data.inviter.id,login:t.data.inviter.login,name:t.data.inviter.name,html_url:t.data.repository.html_url,permissions:t.data.permissions};t.data=r;}return t}catch(a){throw new Error(`[GitHub] \u6DFB\u52A0\u534F\u4F5C\u8005\u5931\u8D25: ${a.message}`)}}async remove_collaborator(e){if(!e.owner||!e.repo)throw new Error(p);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,username:s}=e,t=await this.delete(`/repos/${a}/${o}/collaborators/${s}`);if(t.statusCode===404)throw new Error(y);return t.status&&t.statusCode===204?t.data={info:`\u79FB\u9664\u534F\u4F5C\u8005${s}\u6210\u529F`}:t.data={info:`\u79FB\u9664\u534F\u4F5C\u8005${s}\u5931\u8D25`},t}catch(a){throw new Error(`[GitHub] \u79FB\u9664\u534F\u4F5C\u8005\u5931\u8D25: ${a.message}`)}}async delete_collaborator(e){return this.remove_collaborator(e)}async get_repo_visibility(e){if(!e.owner||!e.repo)throw new Error(p);try{let{owner:a,repo:o}=e;return (await this.get_repo_info({owner:a,repo:o})).data.visibility}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u53EF\u89C1\u6027\u5931\u8D25: ${a.message}`)}}async get_repo_default_branch(e){if(!e.owner||!e.repo)throw new Error(p);try{let{owner:a,repo:o}=e,s;try{let t=this.base_url+"/"+a+"/"+o;s=await ye(t);}catch{s=(await this.get_repo_info({owner:a,repo:o})).data.default_branch;}return s}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u9ED8\u8BA4\u5206\u652F\u5931\u8D25: ${a.message}`)}}async get_repo_main_language(e){if(!e.owner||!e.repo)throw new Error(p);try{let{owner:a,repo:o}=e;return (await this.get_repo_info({owner:a,repo:o})).data.language}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5931\u8D25: ${a.message}`)}}};});var At={};k(At,{User:()=>ee});var ee,$e=w(()=>{b();E();ee=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.api_url=e.api_url,this.base_url=e.base_url;}async get_user_info(e){let a=e.access_token??this.userToken;if(!e.username)throw new Error(D);if(a&&!a?.startsWith("ghu_"))throw new Error(S);try{this.setRequestConfig({token:a});let o=await this.get(`/users/${e.username}`);if(o.statusCode===401)throw new Error(_);if(o.statusCode===404)throw new Error(D);if(o.data){let s={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,email:o.data.email||null,bio:o.data.bio||null,blog:o.data.blog||null,public_repos:o.data.public_repos,followers:o.data.followers,following:o.data.following};o.data=s;}return o}catch(o){throw new Error(`[GitHub] \u83B7\u53D6\u7528\u6237\u7EC7\u4FE1\u606F\u5931\u8D25: ${o.message}`)}}async get_user_info_by_user_id(e){let a=e.access_token??this.userToken;if(!e.user_id)throw new Error(Xe);if(a&&!a?.startsWith("ghu_"))throw new Error(S);try{this.setRequestConfig({token:this.userToken});let o=await this.get(`/user/${e.user_id}`);if(o.statusCode===401)throw new Error(_);if(o.statusCode===404)throw new Error(H);if(o.data){let s={id:o.data.id,login:o.data.login,name:o.data.name||null,type:lodashEs.capitalize(o.data.type.toLowerCase()),html_url:o.data.html_url,avatar_url:o.data.avatar_url,email:o.data.email||null,bio:o.data.bio||null,blog:o.data.blog||null,public_repos:o.data.public_repos,followers:o.data.followers,following:o.data.following};o.data=s;}return o}catch(o){throw new Error(`[GitHub] \u901A\u8FC7\u7528\u6237id\u83B7\u53D6\u7528\u6237\u4FE1\u606F\u5931\u8D25: ${o.message}`)}}async get_user_info_by_auth(){if(!this.userToken)throw new Error(v);try{this.setRequestConfig({token:this.userToken});let e=await this.get("/user");switch(e.statusCode){case 401:throw new Error(_);case 404:throw new Error(H)}if(e.data){let a={id:e.data.id,login:e.data.login,name:e.data.name||null,type:lodashEs.capitalize(e.data.type.toLowerCase()),html_url:e.data.html_url,avatar_url:e.data.avatar_url,email:e.data.email||null,bio:e.data.bio||null,blog:e.data.blog||null,public_repos:e.data.public_repos,followers:e.data.followers,following:e.data.following};e.data=a;}return e}catch(e){throw new Error(`[GitHub] \u83B7\u53D6\u6388\u6743\u7528\u6237\u4FE1\u606F\u5931\u8D25: ${e.message}`)}}async get_user_info_by_token(){return this.get_user_info_by_auth()}async get_user_contribution(e){try{if(!e.username)throw new Error($);if((await this.get_user_info({username:e.username})).data.type==="Organization")throw new Error(`${Qe}\u83B7\u53D6\u8D21\u732E\u65E5\u5386`);this.setRequestConfig({url:this.base_url});let o=await this.get(`/${e.username}`,{action:"show",controller:"profiles",tab:"contributions",user_id:e.username},{"X-Requested-With":"XMLHttpRequest"});if(!o.success)throw new Error("\u83B7\u53D6\u7528\u6237\u8D21\u732E\u6570\u636E\u5931\u8D25");if(o.statusCode===404)throw new Error($);let s=await kt(o.data);return {...o,data:s}}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u7528\u6237\u8D21\u732E\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async get_user_id(){return (await this.get_user_info_by_auth()).data.id}async get_username(){return (await this.get_user_info_by_auth()).data.login}async get_nickname(){return (await this.get_user_info_by_auth()).data.name}async get_user_email(){return (await this.get_user_info_by_auth()).data.email}async get_avatar_url(){return (await this.get_user_info_by_auth()).data.avatar_url}};});var Lt={};k(Lt,{Org:()=>te});var te,xe=w(()=>{b();V();E();te=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.api_url=e.api_url,this.base_url=e.base_url;}async get_org_info(e){if(!e.org)throw new Error(de);let{org:a}=e;try{this.setRequestConfig({token:this.userToken});let o=await this.get(`/orgs/${a}`);if(o.statusCode===404)throw new Error(G);if(o.data){let s={id:o.data.id,login:o.data.login,name:o.data.name,avatar_url:o.data.avatar_url,description:o.data.description,html_url:o.data.html_url};o.data=s;}return o}catch(o){throw new Error(`[GitHub] \u83B7\u53D6\u7EC4\u7EC7\u4FE1\u606F\u5931\u8D25: ${o.message}`)}}async add_member(e){if(!e.org)throw new Error(de);if(!e.username)throw new Error($);try{this.setRequestConfig({token:this.userToken});let a,o,{org:s,username:t,role:r}=e;if(t){let l=await this.get_user();try{a=await l.get_user_id();}catch{o=await l.get_user_email();}}let i={};a?i.invitee_id=a:o&&(i.email=o),r==="admin"?i.role="admin":i.role="direct_member";let n=await this.post(`/orgs/${s}/invitations`,i);if(n.statusCode===404)throw new Error(y);if(n.statusCode===422){let l=n.data.message;if(l&&l.includes("is not a valid permission"))throw new Error(_)}if(n.data){let l={id:n.data.inviter.id,login:n.data.inviterlogin,name:n.data.inviter.name,html_url:`${q(this.type)}/${s}`,role:r};n.data=l;}return n}catch(a){throw new Error(`[GitHub] \u6DFB\u52A0\u7EC4\u7EC7\u6210\u5458\u5931\u8D25: ${a.message}`)}}};});var Ht={};k(Ht,{WebHook:()=>ae});var ae,qe=w(()=>{b();E();ae=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.api_url=e.api_url,this.base_url=e.base_url;}async check_webhook_signature(e){let a=e.secret??this.WebHook_Secret;if(!a)throw new Error(ct);if(!e.payload)throw new Error(_t);if(!e.signature)throw new Error(gt);if(!e.signature.startsWith("sha256="))throw new Error(mt);let o=false,s="error",t=400,r=me,i;try{let n=St__default.default.createHmac("sha256",a),l=typeof e.payload=="string"?e.payload:JSON.stringify(e.payload);n.update(l,"utf8");let u=n.digest("hex"),c=e.signature.replace("sha256=","");St__default.default.timingSafeEqual(Buffer.from(u),Buffer.from(c))?(o=!0,s="ok",t=200,r="\u8BF7\u6C42\u6210\u529F",i={success:o,info:yt}):(o=!1,s="error",t=403,r="\u8BF7\u6C42\u5931\u8D25",i={success:o,info:me});}catch(n){throw new Error(`[GitHub] \u9A8C\u8BC1WebHook\u7B7E\u540D\u5931\u8D25: ${n.message}`)}return Promise.resolve({success:o,status:s,statusCode:t,msg:r,data:i})}};});var Gt={};k(Gt,{Pull_Request:()=>re});var re,Ae=w(()=>{b();E();re=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.api_url=e.api_url,this.base_url=e.base_url;}async get_pull_request_info(e){if(!(e.owner||e.repo))throw new Error(p);if(!e.pr_number)throw new Error(x);try{this.setRequestConfig({token:this.userToken});let a=await this.get(`/repos/${e.owner}/${e.repo}/pulls/${e.pr_number}`);if(a.data){let o={id:a.data.id,html_url:a.data.html_url,number:a.data.number,state:a.data.state,locked:a.data.locked,title:a.data.title,body:a.data.body,draft:a.data.draft,created_at:a.data.created_at,merged_at:a.data.merged_at,updated_at:a.data.updated_at,closed_at:a.data.closed_at,user:{id:a.data.user.id,name:a.data.user.name,login:a.data.user.login,html_url:a.data.user.html_url,avatar_url:a.data.user.avatar_url},base:{label:a.data.base.label,ref:a.data.base.ref,sha:a.data.base.sha,user:{id:a.data.base.user.id,name:a.data.base.user.name,login:a.data.base.user.login,html_url:a.data.base.user.html_url,avatar_url:a.data.base.user.avatar_url},repo:{id:a.data.base.repo.id,owner:a.data.base.repo.owner,name:a.data.base.repo.name,full_name:a.data.base.repo.full_name}},head:{label:a.data.head.label,ref:a.data.head.ref,sha:a.data.head.sha,user:{id:a.data.head.user.id,name:a.data.head.user.name,login:a.data.head.user.login,html_url:a.data.head.user.html_url,avatar_url:a.data.head.user.avatar_url},repo:{id:a.data.head.repo.id,owner:a.data.head.repo.owner,name:a.data.head.repo.name,full_name:a.data.head.repo.full_name}},assignee:a.data.assignee?{id:a.data.assignee.id,name:a.data.assignee.name,login:a.data.assignee.login,html_url:a.data.assignee.html_url,avatar_url:a.data.assignee.avatar_url}:null,assignees:a.data.assignees&&a.data.assignees.length>0?a.data.assignees.map(s=>({id:s.id,name:s.name,login:s.login,html_url:s.html_url,avatar_url:s.avatar_url})):null,milestone:a.data.milestone?{id:a.data.milestone.id,url:a.data.milestone.url,number:a.data.milestone.number,state:a.data.milestone.state,title:a.data.milestone.title,description:a.data.milestone.description,open_issues:a.data.milestone.open_issues,closed_issues:a.data.milestone.closed_issues,created_at:a.data.milestone.created_at,updated_at:a.data.milestone.updated_at,due_on:a.data.milestone.due_on,closed_at:a.data.milestone.closed_at}:null,labels:a.data.labels&&a.data.labels.length>0?a.data.labels.map(s=>({id:s.id,name:s.name,color:s.color})):null,commits:a.data.commits,additions:a.data.additions,deletions:a.data.deletions,changed_files:a.data.changed_files};a.data=o;}return a}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u62C9\u53D6\u8BF7\u6C42\u4FE1\u606F\u5931\u8D25\uFF1A ${a.message}`)}}async get_get_pull_request_list(e){if(!(e.owner||e.repo))throw new Error(p);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,...s}=e,t={};s.state&&(t.state=s.state),s.base&&(t.base=s.base),s.sort&&(t.sort=s.sort),s.direction&&!s.sort&&(t.direction=s.direction),s.per_page&&(t.per_page=s.per_page.toString()),s.page&&(t.page=s.page.toString());let r=await this.get(`/repos/${a}/${o}/pulls`,t);if(r.data){let i=r.data.map(n=>({id:n.id,html_url:n.html_url,number:n.number,state:n.state,locked:n.locked,title:n.title,body:n.body,draft:n.draft,created_at:n.created_at,updated_at:n.updated_at,closed_at:n.closed_at,merged_at:n.merged_at,user:{id:n.user.id,name:n.user.name,login:n.user.login,html_url:n.user.html_url,avatar_url:n.user.avatar_url},base:{label:n.base.label,ref:n.base.ref,sha:n.base.sha,user:{id:n.base.user.id,name:n.base.user.name,login:n.base.user.login,html_url:n.base.user.html_url,avatar_url:n.base.user.avatar_url},repo:{id:n.base.repo.id,owner:n.base.repo.owner,name:n.base.repo.name,full_name:n.base.repo.full_name}},head:{label:n.head.label,ref:n.head.ref,sha:n.head.sha,user:{id:n.head.user.id,name:n.head.user.name,login:n.head.user.login,html_url:n.head.user.html_url,avatar_url:n.head.user.avatar_url},repo:{id:n.head.repo.id,owner:n.head.repo.owner,name:n.head.repo.name,full_name:n.head.repo.full_name}},assignee:n.assignee?{id:n.assignee.id,name:n.assignee.name,login:n.assignee.login,html_url:n.assignee.html_url,avatar_url:n.assignee.avatar_url}:null,assignees:n.assignees&&n.assignees.length>0?n.assignees.map(l=>({id:l.id,name:l.name,login:l.login,html_url:l.html_url,email:l.email,avatar_url:l.avatar_url})):null,milestone:n.milestone?{id:n.milestone.id,url:n.milestone.url,number:n.milestone.number,state:n.milestone.state,title:n.milestone.title,description:n.milestone.description,open_issues:n.milestone.open_issues,closed_issues:n.milestone.closed_issues,created_at:n.milestone.created_at,updated_at:n.milestone.updated_at,closed_at:n.milestone.closed_at,due_on:n.milestone.due_on}:null,labels:n.labels&&n.labels.length>0?n.labels.map(l=>({id:l.id,name:l.name,color:l.color})):null,commits:n.commits,additions:n.additions,deletions:n.deletions,changed_files:n.changed_files}));r.data=i;}return r}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u62C9\u53D6\u8BF7\u6C42\u5217\u8868\u5931\u8D25\uFF1A ${a.message}`)}}async create_pull_request(e){if(!(e.owner||e.repo))throw new Error(p);if(!e.head)throw new Error(lt);if(!e.base)throw new Error(ut);if(!("issue"in e)&&!("title"in e))throw new Error(at);try{this.setRequestConfig({token:this.userToken});let a={};if("issue"in e){if(!e.issue)throw new Error(tt);a.issue=e.issue;}else if("title"in e){if(!e.title)throw new Error(Be);a.title=e.title,e.body&&(a.body=e.body);}e.head&&(a.head=e.head),e.head_repo&&(a.head_repo=e.head_repo),e.base&&(a.base=e.base),e.draft&&(a.draft=e.draft);let{owner:o,repo:s}=e,t=await this.post(`/repos/${o}/${s}/pulls`,a);if(t.statusCode===403)throw new Error(_);if(t.data){let r={id:t.data.id,html_url:t.data.html_url,number:t.data.number,state:t.data.state,locked:t.data.locked,title:t.data.title,body:t.data.body,draft:t.data.draft,created_at:t.data.created_at,merged_at:t.data.merged_at,updated_at:t.data.updated_at,closed_at:t.data.closed_at,user:{id:t.data.user.id,name:t.data.user.name,login:t.data.user.login,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url},base:{label:t.data.base.label,ref:t.data.base.ref,sha:t.data.base.sha,user:{id:t.data.base.user.id,name:t.data.base.user.name,login:t.data.base.user.login,html_url:t.data.base.user.html_url,avatar_url:t.data.base.user.avatar_url},repo:{id:t.data.base.repo.id,owner:t.data.base.repo.owner,name:t.data.base.repo.name,full_name:t.data.base.repo.full_name}},head:{label:t.data.head.label,ref:t.data.head.ref,sha:t.data.head.sha,user:{id:t.data.head.user.id,name:t.data.head.user.name,login:t.data.head.user.login,html_url:t.data.head.user.html_url,avatar_url:t.data.head.user.avatar_url},repo:{id:t.data.head.repo.id,owner:t.data.head.repo.owner,name:t.data.head.repo.name,full_name:t.data.head.repo.full_name}},assignee:t.data.assignee?{id:t.data.assignee.id,name:t.data.assignee.name,login:t.data.assignee.login,html_url:t.data.assignee.html_url,avatar_url:t.data.assignee.avatar_url}:null,assignees:t.data.assignees&&t.data.assignees.length>0?t.data.assignees.map(i=>({id:i.id,name:i.name,login:i.login,html_url:i.html_url,avatar_url:i.avatar_url})):null,milestone:t.data.milestone?{id:t.data.milestone.id,url:t.data.milestone.url,number:t.data.milestone.number,state:t.data.milestone.state,title:t.data.milestone.title,description:t.data.milestone.description,open_issues:t.data.milestone.open_issues,closed_issues:t.data.milestone.closed_issues,created_at:t.data.milestone.created_at,updated_at:t.data.milestone.updated_at,due_on:t.data.milestone.due_on,closed_at:t.data.milestone.closed_at}:null,labels:t.data.labels&&t.data.labels.length>0?t.data.labels.map(i=>({id:i.id,name:i.name,color:i.color})):null,commits:t.data.commits,additions:t.data.additions,deletions:t.data.deletions,changed_files:t.data.changed_files};t.data=r;}return t}catch(a){throw new Error(`[GitHub] \u521B\u5EFA\u62C9\u53D6\u8BF7\u6C42\u5931\u8D25: ${a.message}`)}}async update_pull_request(e){if(!(e.owner||e.repo))throw new Error(p);if(!e.pr_number)throw new Error(x);try{this.setRequestConfig({token:this.userToken});let a={};e.title&&(a.title=e.title),e.body&&(a.body=e.body),e.state&&(a.state=e.state);let{owner:o,repo:s,pr_number:t}=e,r=await this.patch(`/repos/${o}/${s}/pulls/${t}`,null,a);if(r.statusCode===403)throw new Error(_);if(r.data){let i={id:r.data.id,html_url:r.data.html_url,number:r.data.number,state:r.data.state,locked:r.data.locked,title:r.data.title,body:r.data.body,draft:r.data.draft,created_at:r.data.created_at,merged_at:r.data.merged_at,updated_at:r.data.updated_at,closed_at:r.data.closed_at,user:{id:r.data.user.id,name:r.data.user.name,login:r.data.user.login,html_url:r.data.user.html_url,avatar_url:r.data.user.avatar_url},base:{label:r.data.base.label,ref:r.data.base.ref,sha:r.data.base.sha,user:{id:r.data.base.user.id,name:r.data.base.user.name,login:r.data.base.user.login,html_url:r.data.base.user.html_url,avatar_url:r.data.base.user.avatar_url},repo:{id:r.data.base.repo.id,owner:r.data.base.repo.owner,name:r.data.base.repo.name,full_name:r.data.base.repo.full_name}},head:{label:r.data.head.label,ref:r.data.head.ref,sha:r.data.head.sha,user:{id:r.data.head.user.id,name:r.data.head.user.name,login:r.data.head.user.login,html_url:r.data.head.user.html_url,avatar_url:r.data.head.user.avatar_url},repo:{id:r.data.head.repo.id,owner:r.data.head.repo.owner,name:r.data.head.repo.name,full_name:r.data.head.repo.full_name}},assignee:r.data.assignee?{id:r.data.assignee.id,name:r.data.assignee.name,login:r.data.assignee.login,html_url:r.data.assignee.html_url,avatar_url:r.data.assignee.avatar_url}:null,assignees:r.data.assignees&&r.data.assignees.length>0?r.data.assignees.map(n=>({id:n.id,name:n.name,login:n.login,html_url:n.html_url,avatar_url:n.avatar_url})):null,milestone:r.data.milestone?{id:r.data.milestone.id,url:r.data.milestone.url,number:r.data.milestone.number,state:r.data.milestone.state,title:r.data.milestone.title,description:r.data.milestone.description,open_issues:r.data.milestone.open_issues,closed_issues:r.data.milestone.closed_issues,created_at:r.data.milestone.created_at,updated_at:r.data.milestone.updated_at,due_on:r.data.milestone.due_on,closed_at:r.data.milestone.closed_at}:null,labels:r.data.labels&&r.data.labels.length>0?r.data.labels.map(n=>({id:n.id,name:n.name,color:n.color})):null,commits:r.data.commits,additions:r.data.additions,deletions:r.data.deletions,changed_files:r.data.changed_files};r.data=i;}return r}catch(a){throw new Error(`[GitHub] \u66F4\u65B0\u62C9\u53D6\u8BF7\u6C42\u5931\u8D25: ${a.message}`)}}async merge_pull_request(e){if(!(e.owner||e.repo))throw new Error(p);if(!e.pr_number)throw new Error(x);try{this.setRequestConfig({token:this.userToken});let a={};if(e.commit_title&&(a.commit_title=e.commit_title),e.commit_message&&(a.commit_message=e.commit_message),e.sha&&(a.sha=e.sha),e.merge_method){let i=["merge","squash","rebase"];a.merge_method=i.includes(e.merge_method)?e.merge_method:i[0];}let{owner:o,repo:s,pr_number:t}=e,r=await this.put(`/repos/${o}/${s}/pulls/${t}/merge`,a);switch(r.statusCode){case 403:throw new Error(_);case 404:throw new Error(z);case 405:throw new Error(dt);case 409:throw new Error(pt)}if(r.statusCode===200&&r.data){let i={sha:r.data.sha,merged:r.data.merged,message:r.data.message};r.data=i;}return r}catch(a){throw new Error(`[GitHub] \u5408\u5E76\u62C9\u53D6\u8BF7\u6C42\u5931\u8D25: ${a.message}`)}}async get_pull_request_files_list(e){if(!(e.owner||e.repo))throw new Error(p);if(!e.pr_number)throw new Error(x);try{this.setRequestConfig({token:this.userToken});let a={};e.per_page&&(a.per_page=e.per_page),e.page&&(a.page=e.page);let{owner:o,repo:s,pr_number:t}=e,r=await this.get(`/repos/${o}/${s}/pulls/${t}/files`,a);switch(r.statusCode){case 403:throw new Error(_);case 404:throw new Error(z)}if(r.data){let i=r.data.map(n=>({sha:n.sha,filename:n.filename,status:n.status,additions:n.additions,deletions:n.deletions,changes:n.changes,blob_url:n.blob_url,raw_url:n.raw_url,patch:n.patch}));r.data=i;}return r}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u62C9\u53D6\u8BF7\u6C42\u6587\u4EF6\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_pull_request_comment_info(e){if(!(e.owner||e.repo))throw new Error(p);if(!e.comment_id)throw new Error(W);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,comment_id:s}=e,t=await this.get(`/repos/${a}/${o}/pulls/comments/${s}`);switch(t.statusCode){case 403:throw new Error(_);case 404:throw new Error(U)}if(t.data){let r={id:t.data.id,body:t.data.body,user:{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,avatar_url:t.data.user.avatar_url,html_url:t.data.user.html_url},created_at:t.data.created_at,updated_at:t.data.updated_at};t.data=r;}return t}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async get_pull_request_comments_list(e){if(!(e.owner||e.repo))throw new Error(p);if(!e.pr_number)throw new Error(x);try{this.setRequestConfig({token:this.userToken});let a={};e.direction&&(a.direction=e.direction),e.per_page&&(a.per_page=e.per_page),e.page&&(a.page=e.page);let{owner:o,repo:s,pr_number:t}=e,r=await this.get(`/repos/${o}/${s}/pulls/${t}/comments`,a);switch(r.statusCode){case 403:throw new Error(_);case 404:throw new Error(U)}if(r.data){let i=r.data.map(n=>({id:n.id,body:n.body,user:{id:n.user.id,login:n.user.login,name:n.user.name,html_url:n.user.html_url,avatar_url:n.user.avatar_url},created_at:n.created_at,updated_at:n.updated_at}));r.data=i;}return r}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${a.message}`)}}async create_pull_request_comment(e){if(!(e.owner||e.repo))throw new Error(p);if(!e.pr_number)throw new Error(x);if(!e.body)throw new Error(pe);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,pr_number:s,body:t}=e,r=await this.post(`/repos/${a}/${o}/pulls/${s}/comments`,{body:t});switch(r.statusCode){case 403:throw new Error(_);case 404:throw new Error(z)}if(r.data){let i={id:r.data.id,body:r.data.body};r.data=i;}return r}catch(a){throw new Error(`[GitHub] \u521B\u5EFA\u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u5931\u8D25: ${a.message}`)}}async update_pull_request_comment(e){if(!(e.owner||e.repo))throw new Error(p);if(!e.comment_id)throw new Error(W);if(!e.body)throw new Error(pe);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,comment_id:s,body:t}=e,r=await this.patch(`/repos/${a}/${o}/issues/comments/${s}`,null,{body:t});switch(r.statusCode){case 403:throw new Error(_);case 404:throw new Error(U)}let i=!1;return r.statusCode===200&&(i=!0),r.data={success:i},r}catch(a){throw new Error(`[GitHub] \u66F4\u65B0\u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u5931\u8D25: ${a.message}`)}}async edit_pull_request_comment(e){return await this.update_pull_request_comment(e)}async delete_pull_request_comment(e){if(!(e.owner||e.repo))throw new Error(p);if(!e.comment_id)throw new Error(W);try{let a=await this.delete(`/repos/${e.owner}/${e.repo}/pulls/comments/${e.comment_id}`);switch(a.statusCode){case 403:throw new Error(_);case 404:throw new Error(U)}let o=!1;return a.statusCode===204&&(o=!0),a.data={success:o},a}catch(a){throw new Error(`[GitHub] \u5220\u9664\u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u5931\u8D25: ${a.message}`)}}};});var N;exports.GitHubClient=void 0;var E=w(()=>{b();V();Ce();N="github",exports.GitHubClient=class{base_url;api_url;jwtToken;userToken;Private_Key;Client_ID;Client_Secret;WebHook_Secret;format;currentRequestConfig;proxy;constructor(e){this.Private_Key="Private_Key"in e?e.Private_Key:null,this.Client_ID="Client_ID"in e?e.Client_ID:null,this.Client_Secret="Client_Secret"in e?e.Client_Secret:null,this.WebHook_Secret="WebHook_Secret"in e?e.WebHook_Secret:null,this.validateAppClient(),this.jwtToken=this.generate_jwt(),this.base_url=q(N),this.api_url=Te(N),this.userToken="access_token"in e?e.access_token:null,this.currentRequestConfig={url:this.api_url,token:null,tokenType:"Bearer"},this.format=e.format??false;}get type(){return N}get is_app_client(){return !!(this.Client_ID&&this.Client_Secret&&this.Private_Key)}validateAppClient(){if(!this.is_app_client)return;let{Private_Key:e,Client_ID:a,Client_Secret:o}=this,s=e!==null&&e!=="",t=a!==null&&a!=="",r=o!==null&&o!=="",i=[];if(t||i.push("Client_ID"),r||i.push("Client_Secret"),s||i.push("Private_Key"),i.length!==0){if(i.length>0&&i.length<3){let n=i[0];if(n==="Client_ID")throw new Error(Ue);if(n==="Client_Secret")throw new Error(Oe);if(n==="Private_Key")throw new Error(Ne)}if(i.length===3)throw new Error(De)}}async get_app(){let{App:e}=await Promise.resolve().then(()=>(Le(),Dt));return this.app=new e(this),this.app}async get_auth(){let{Auth:e}=await Promise.resolve().then(()=>(Ee(),It));return this.auth=new e(this),this.auth}async get_commit(){let{Commit:e}=await Promise.resolve().then(()=>(ke(),$t));return this.commit=new e(this),this.commit}async get_issue(){let{Issue:e}=await Promise.resolve().then(()=>(ve(),xt));return this.issue=new e(this),this.issue}async get_repo(){let{Repo:e}=await Promise.resolve().then(()=>(Me(),qt));return this.repo=new e(this),this.repo}async get_user(){let{User:e}=await Promise.resolve().then(()=>($e(),At));return this.user=new e(this),this.user}async get_org(){let{Org:e}=await Promise.resolve().then(()=>(xe(),Lt));return this.org=new e(this),this.org}async get_webhook(){let{WebHook:e}=await Promise.resolve().then(()=>(qe(),Ht));return this.webhook=new e(this),this.webhook}async get_pull_request(){let{Pull_Request:e}=await Promise.resolve().then(()=>(Ae(),Gt));return this.pull_request=new e(this),this.pull_request}setProxy(e){if(!e?.address){this.proxy=null;return}try{let a=new url.URL(e.address);switch(a.protocol){case "http:":case "https:":case "socks:":case "socks5:":e.address=`${a.protocol}//${a.host}`;break;default:throw new Error(ne)}switch(e?.type){case "common":case "reverse":this.base_url=q(N,e.address,e.type),this.api_url=Te(N,e.address,e.type);break}this.proxy=e;}catch{throw this.proxy=null,new Error(ne)}}setToken(e){if(!e.startsWith("ghu_")&&!e.startsWith("ghp_"))throw this.userToken=null,new Error(v);return this.userToken=e,this}generate_jwt(e){let a=e??this.Private_Key;if(!this.is_app_client&&!a)throw new Error(f);let o={exp:Math.floor(Date.now()/1e3)+10*60,iat:Math.floor(Date.now()/1e3),iss:this.Client_ID};return na__default.default.sign(o,a,{algorithm:"RS256"})}setRequestConfig(e){e.url&&(this.currentRequestConfig.url=e.url),e.token&&(this.currentRequestConfig.token=e.token),e.tokenType&&(this.currentRequestConfig.tokenType=e.tokenType);}createRequest(){let{url:e,token:a,tokenType:o}=this.currentRequestConfig,s=this.proxy?.type!=="common"?this.proxy:null,t={"X-GitHub-Api-Version":"2022-11-28",Accept:"application/vnd.github+json"};return new K(e??this.api_url,o,a,s,t)}async get(e,a,o){try{if(!e)throw new Error(A);let t=await this.createRequest().get(e,a,o);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(L);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(s){throw new Error(`[GitHub] GET \u8BF7\u6C42${e}\u5931\u8D25: ${s.message}`)}}async post(e,a,o){try{if(!e)throw new Error(A);let t=await this.createRequest().post(e,a,o);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(L);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(s){throw new Error(`[GitHUb] POST \u8BF7\u6C42${e}\u5931\u8D25: ${s.message}`)}}async patch(e,a=null,o,s){try{if(!e)throw new Error(A);let r=await this.createRequest().patch(e,a,o,s);if((r.statusCode===403||r.statusCode===429)&&r.headers["x-ratelimit-remaining"]==="0")throw new Error(L);return {success:r.success,status:r.success?"ok":"error",statusCode:r.statusCode,msg:r.msg,data:r.data}}catch(t){throw new Error(`[GitHub] PATCH \u8BF7\u6C42${e}\u5931\u8D25: ${t.message}`)}}async put(e,a,o){try{if(!e)throw new Error(A);let t=await this.createRequest().put(e,a,o);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(L);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(s){throw new Error(`[GitHUb] PUT \u8BF7\u6C42${e}\u5931\u8D25: ${s.message}`)}}async delete(e,a=null,o,s){try{if(!e)throw new Error(A);let r=await this.createRequest().delete(e,a,o,s);if((r.statusCode===403||r.statusCode===429)&&r.headers["x-ratelimit-remaining"]==="0")throw new Error(L);return {success:r.success,status:r.success?"ok":"error",statusCode:r.statusCode,msg:r.msg,data:r.data}}catch(t){throw new Error(`[GitHub] DELETE \u8BF7\u6C42${e}\u5931\u8D25: ${t.message}`)}}};});var Dt={};k(Dt,{App:()=>se});var se,Le=w(()=>{b();E();se=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.api_url=e.api_url,this.base_url=e.base_url;}async get_app_info(e){if(!this.is_app_client)throw new Error(f);let a=e.access_token??this.userToken;if(!e.app_slug)throw new Error(Fe);if(!a)throw new Error(v);try{this.setRequestConfig({token:a});let o=await this.get(`/apps/${e.app_slug}`);if(o.statusCode===200){let s={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.data=s;}return o}catch(o){throw new Error(`[GitHub] \u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${o.message}`)}}async get_app_info_by_auth(){if(!this.is_app_client)throw new Error(f);try{this.setRequestConfig({url:this.api_url,token:this.jwtToken});let e=await this.get("/app");if(e.statusCode===200){let a={id:e.data.id,name:e.data.name,client_id:e.data.client_id,slug:e.data.slug,owner:{id:e.data.owner.id,login:e.data.owner.login,name:e.data.owner.name,email:e.data.owner.email,html_url:e.data.owner.html_url,avatar_url:e.data.owner.avatar_url,type:lodashEs.capitalize(e.data.owner.type.toLowerCase())},description:e.data.description,external_url:e.data.external_url,html_url:e.data.html_url,permissions:e.data.permissions,events:e.data.events,created_at:e.data.created_at,updated_at:e.data.updated_at};e.data=a;}return e}catch(e){throw new Error(`[GitHub] \u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${e.message}`)}}async get_app_installation_by_repo(e){if(!this.is_app_client)throw new Error(f);if(!e.owner||!e.repo)throw new Error(p);try{this.setRequestConfig({token:this.jwtToken});let{owner:a,repo:o}=e,s=await this.get(`/repos/${a}/${o}/installation`);switch(s.statusCode){case 404:throw new Error(C);case 301:throw new Error(Je)}if(s.data){let t={id:s.data.id,html_url:s.data.html_url,app_id:s.data.app_id,app_slug:s.data.app_slug,target_id:s.data.target_id,target_type:s.data.target_type,account:{id:s.data.account.id,login:s.data.account.login,name:s.data.account.name,email:s.data.account.email,html_url:s.data.account.html_url,avatar_url:s.data.account.avatar_url,type:lodashEs.capitalize(s.data.account.type.toLowerCase())},repository_selection:s.data.repository_selection,access_tokens_url:s.data.access_tokens_url,repositories_url:s.data.repositories_url,permissions:s.data.permissions,events:s.data.events,created_at:this.format?await m(s.data.created_at):s.data.created_at,updated_at:this.format?await m(s.data.updated_at):s.data.updated_at};s.data=t;}return s}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u5B58\u50A8\u5E93\u5B89\u88C5\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async create_install_link(e){try{if(!this.is_app_client)throw new Error(f);let a=new URL(`apps/${await this.get_app_name()}/installations/new`,this.base_url);return a.search=new URLSearchParams({...e&&{state:e}}).toString(),a.toString()}catch(a){throw new Error(`[GitHub] \u751F\u6210\u5E94\u7528\u5B89\u88C5\u94FE\u63A5\u5931\u8D25: ${a.message}`)}}async create_config_install_link(e){try{if(!this.is_app_client)throw new Error(f);let a=new URL(`apps/${await this.get_app_name()}/installations/new`,this.base_url);return a.search=new URLSearchParams({...e&&{state:e}}).toString(),a.toString()}catch(a){throw new Error(`[GitHub] \u751F\u6210\u5E94\u7528\u914D\u7F6E\u94FE\u63A5\u5931\u8D25: ${a.message}`)}}async get_app_name(){return (await this.get_app_info_by_auth()).data.name}async is_app_installed_in_repo(e){return !!await this.get_app_installation_by_repo({owner:e.owner,repo:e.repo})}};});b();Pe();var He={};k(He,{App:()=>se,Auth:()=>J,Commit:()=>X,GitHubClient:()=>exports.GitHubClient,Issue:()=>Q,Org:()=>te,Pull_Request:()=>re,Repo:()=>Z,User:()=>ee,WebHook:()=>ae});Le();Ee();E();ke();ve();xe();Ae();Me();$e();qe();var Ge=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 ns=Ge;
6
+ exports.Client=Ge;exports.create_state_id=ra;exports.default=ns;exports.formatDate=m;exports.get_langage_color=fe;exports.get_local_repo_default_branch=Zt;exports.get_relative_time=Qt;exports.get_remote_repo_default_branch=ye;exports.github=He;