@candriajs/git-neko-kit 0.5.2 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +54 -16
- package/dist/cjs/index.cjs +3 -0
- package/dist/esm/index.mjs +3 -0
- package/dist/esm/root.mjs +1 -0
- package/dist/exports/axios.cjs +1 -0
- package/dist/exports/axios.d.ts +2 -0
- package/dist/exports/axios.mjs +1 -0
- package/dist/index.d.ts +840 -1229
- package/package.json +15 -6
- package/dist/index.cjs +0 -3
- package/dist/index.d.cts +0 -3055
- package/dist/index.js +0 -3
- package/dist/root.d.cts +0 -6
- package/dist/root.js +0 -1
- /package/dist/{root.cjs → cjs/root.cjs} +0 -0
package/README.md
CHANGED
@@ -35,6 +35,16 @@ API 封装进度:
|
|
35
35
|
| 检查用户token状态 | ✅ 已完成 |
|
36
36
|
</details>
|
37
37
|
|
38
|
+
<details>
|
39
|
+
<summary>用户</summary>
|
40
|
+
|
41
|
+
| 功能 | 状态 |
|
42
|
+
|----------------|-----------|
|
43
|
+
| 获取用户信息 | ✅ 已完成 |
|
44
|
+
| 获取用户贡献数据 | ✅ 已完成 |
|
45
|
+
|
46
|
+
</details>
|
47
|
+
|
38
48
|
<details>
|
39
49
|
<summary>仓库</summary>
|
40
50
|
|
@@ -44,28 +54,35 @@ API 封装进度:
|
|
44
54
|
| 获取用户仓库列表 | ✅ 已完成 |
|
45
55
|
| 获取仓库信息 | ✅ 已完成 |
|
46
56
|
| 创建组织仓库 | ✅ 已完成 |
|
47
|
-
| 更新仓库信息 |
|
48
|
-
| 删除仓库 |
|
49
|
-
| 获取仓库语言 |
|
57
|
+
| 更新仓库信息 | ✅ 已完成 |
|
58
|
+
| 删除仓库 | ✅ 已完成 |
|
59
|
+
| 获取仓库语言 | ✅ 已完成 |
|
50
60
|
|
51
61
|
</details>
|
52
62
|
|
53
63
|
<details>
|
54
|
-
<summary
|
64
|
+
<summary>Release</summary>
|
55
65
|
|
56
66
|
| 功能 | 状态 |
|
57
67
|
|----------------|-----------|
|
58
|
-
|
|
59
|
-
|
|
68
|
+
| 获取Release信息 | ✅ 已完成 |
|
69
|
+
| 创建Release | ✅ 已完成 |
|
70
|
+
| 更新Release | ✅ 已完成 |
|
71
|
+
| 删除Release | ✅ 已完成 |
|
60
72
|
|
61
73
|
</details>
|
62
74
|
|
63
75
|
<details>
|
64
|
-
<summary
|
76
|
+
<summary>Issue</summary>
|
65
77
|
|
66
78
|
| 功能 | 状态 |
|
67
79
|
|----------------|-----------|
|
68
|
-
|
|
80
|
+
| 获取Issue信息 | ✅ 已完成 |
|
81
|
+
| 创建Issue | ✅ 已完成 |
|
82
|
+
| 更新Issue | ✅ 已完成 |
|
83
|
+
| 锁定Issue | ✅ 已完成 |
|
84
|
+
| 解锁Issue | ✅ 已完成 |
|
85
|
+
| 更新Issue评论 | ✅ 已完成 |
|
69
86
|
|
70
87
|
</details>
|
71
88
|
|
@@ -87,19 +104,40 @@ API 封装进度:
|
|
87
104
|
|
88
105
|
### 获取实例
|
89
106
|
```ts
|
90
|
-
import
|
91
|
-
const
|
107
|
+
import Client from "@candriajs/git-neko-kit";
|
108
|
+
const options = {
|
109
|
+
github: {
|
110
|
+
Client_ID: '',
|
111
|
+
Client_Secret: '',
|
112
|
+
Private_Key: '',
|
113
|
+
WebHook_Secret: '', // 可选,如果没设置密钥的话,可以不填
|
114
|
+
format: false // 是否开启格式化,默认为false, 开启后对日期,提交信息等格式化拆分
|
115
|
+
}
|
116
|
+
}
|
117
|
+
const git_api = new Client(options)
|
92
118
|
```
|
93
119
|
|
94
|
-
### 获取GitHub
|
120
|
+
### 获取GitHub实例
|
95
121
|
```ts
|
96
|
-
const
|
97
|
-
const info = await repo.get_repo_info() // 获取仓库信息
|
122
|
+
const gh = git_api.github
|
98
123
|
```
|
99
|
-
|
124
|
+
或者
|
100
125
|
```ts
|
101
|
-
|
102
|
-
const
|
126
|
+
import { GitHubClient } "@candriajs/git-neko-kit";
|
127
|
+
const options = {
|
128
|
+
Client_ID: '',
|
129
|
+
Client_Secret: '',
|
130
|
+
Private_Key: '',
|
131
|
+
WebHook_Secret: '', // 可选,如果没设置密钥的话,可以不填
|
132
|
+
format: false // 是否开启格式化,默认为false, 开启后对日期,提交信息等格式化拆分
|
133
|
+
}
|
134
|
+
const gh = new GitHubClient(options)
|
135
|
+
```
|
136
|
+
|
137
|
+
### 获取GitHub仓库信息
|
138
|
+
```ts
|
139
|
+
const repo = await gh.get_repo() // 获取Repo仓库实例
|
140
|
+
const info = await repo.get_repo_info({ owner: 'username', repo: 'repo_name' }) // 获取仓库信息
|
103
141
|
```
|
104
142
|
|
105
143
|
> [!Tip]
|
@@ -0,0 +1,3 @@
|
|
1
|
+
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var je=require('path'),url=require('url'),Ve=require('fs'),ct=require('color-convert'),O=require('dayjs'),gt=require('dayjs/plugin/relativeTime.js'),_t=require('git-url-parse'),ht=require('language-colors'),uuid=require('uuid'),M=require('axios'),httpProxyAgent=require('http-proxy-agent'),httpsProxyAgent=require('https-proxy-agent'),socksProxyAgent=require('socks-proxy-agent'),lodashEs=require('lodash-es'),lt=require('crypto'),Pt=require('jsonwebtoken');var _documentCurrentScript=typeof document!=='undefined'?document.currentScript:null;function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var je__default=/*#__PURE__*/_interopDefault(je);var Ve__default=/*#__PURE__*/_interopDefault(Ve);var ct__default=/*#__PURE__*/_interopDefault(ct);var O__default=/*#__PURE__*/_interopDefault(O);var gt__default=/*#__PURE__*/_interopDefault(gt);var _t__default=/*#__PURE__*/_interopDefault(_t);var ht__default=/*#__PURE__*/_interopDefault(ht);var M__default=/*#__PURE__*/_interopDefault(M);var lt__default=/*#__PURE__*/_interopDefault(lt);var Pt__default=/*#__PURE__*/_interopDefault(Pt);var dt=Object.defineProperty;var h=(u,e)=>()=>(u&&(e=u(u=0)),e);var P=(u,e)=>{for(var s in e)dt(u,s,{get:e[s],enumerable:true});};var V,I,we,U,E,fe,be,Te,y,g,Re,N,Ce,A,x,ke,Pe,Y,Ee,d,Ie,ve,Ae,xe,b,R,$e,Me,Le,Ue,S,q,C,Ne,X,$,Se,Q,v,qe=h(()=>{V="\u55B5\u545C~ \u6388\u6743\u7801\u4E0D\u80FD\u4E3A\u7A7A",I="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u4E0D\u80FD\u4E3A\u7A7A",we="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A\u54E6",U="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",E="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",fe="\u55B5\u545C~ \u8BAE\u9898\u6807\u9898\u4E0D\u80FD\u4E3A\u7A7A",be="\u55B5\u545C~ \u7EC4\u7EC7\u540D\u6216\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A",Te="\u55B5\u545C~ \u7EC4\u7EC7\u540D\u4E0D\u80FD\u4E3A\u7A7A",y="\u55B5\u545C~ \u4ED3\u5E93\u62E5\u6709\u8005\u6216\u4ED3\u5E93\u540D\u4E0D\u80FD\u4E3A\u7A7A",g="\u55B5\u545C~ \u53C2\u6570\u597D\u50CF\u4E0D\u592A\u5BF9\u5462",Re="\u55B5\u545C~ \u4EE3\u7406\u5730\u5740\u683C\u5F0F\u4E0D\u6B63\u786E\u54E6",N="\u55B5\u545C~ \u8FD9\u4E2A\u5B50\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",Ce="\u55B5\u545C~ \u7528\u6237ID\u4E0D\u80FD\u4E3A\u7A7A",A="\u55B5\u545C~ \u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A",x="\u55B5\u545C~ \u8FD9\u4E2A\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",ke="\u55B5\u545C~ \u8FD9\u4E2A\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",Pe="\u55B5\u545C~ \u6743\u9650\u4E0D\u6B63\u786E\uFF0C\u8BF7\u68C0\u67E5\u6743\u9650",Y="\u55B5\u545C~ \u8FD9\u4E2A\u5237\u65B0\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",Ee="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5DF2\u8FC7\u671F",d="\u55B5\u545C~ \u8BBF\u95EE\u88AB\u62D2\u7EDD\u5566\uFF0C\u53EF\u80FD\u662F\u4EE4\u724C\u8FC7\u671F\u4E86\u6216\u6743\u9650\u4E0D\u8DB3",Ie="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u5931\u8D25",ve="\u55B5\u545C~ \u7EC4\u7EC7\u8D26\u53F7\u6682\u4E0D\u652F\u6301",Ae="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u4E0D\u5B58\u5728\u54E6",xe="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",b="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u4E0D\u5B58\u5728\u54E6",R="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u4E0D\u5B58\u5728\u54E6",$e="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u5DF2\u88AB\u79FB\u52A8",Me="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u9501\u5B9A\u5931\u8D25\u54E6",Le="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u521B\u5EFA\u5931\u8D25\u54E6",Ue="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u89E3\u9501\u5931\u8D25\u54E6",S="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u4E0D\u5B58\u5728\u54E6",q="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u6216\u7528\u6237\u4E0D\u5B58\u5728\u54E6",C="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",Ne="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u5DF2\u88AB\u79FB\u52A8",X="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u4E0D\u5B58\u5728\u6216\u8BBF\u95EE\u88AB\u62D2\u7EDD\u5566\uFF0C\u53EF\u80FD\u662F\u4EE4\u724C\u8FC7\u671F\u4E86\u6216\u6743\u9650\u4E0D\u8DB3",$="\u55B5\u545C~ \u8FD9\u4E2A\u7528\u6237\u4E0D\u5B58\u5728\u54E6",Se="\u55B5\u545C~ WebHook \u7B7E\u540D\u683C\u5F0F\u4E0D\u6B63\u786E",Q="\u55B5\u545C~ WebHook \u7B7E\u540D\u9A8C\u8BC1\u5931\u8D25",v="\u55B5\u545C~ \u8BBF\u95EE\u901F\u7387\u53D7\u9650\u5566 \u8BF7\u7B49\u5F851\u5C0F\u65F6\u540E\u518D\u8BD5 \u6216 \u4F7F\u7528\u8BBF\u95EE\u4EE4\u724C\u63D0\u5347\u9650\u989D";});var Oe,Be,He,ze,De,We,Ge=h(()=>{Oe="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u6210\u529F",Be="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u6709\u6548",He="\u55B5\u545C~ WebHook \u7B7E\u540D\u6210\u529F",ze="\u55B5\u545C~ \u8BAE\u9898\u9501\u5B9A\u6210\u529F",De="\u55B5\u545C~ \u8BAE\u9898\u89E3\u9501\u6210\u529F",We="\u55B5\u545C~ \u8BAE\u9898\u8BC4\u8BBA\u521B\u5EFA\u6210\u529F";});var Fe,Je,Ke=h(()=>{Fe=url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index.cjs', document.baseURI).href))).replace(/\\/g,"/").replace(/\/$/,""),Je=je__default.default.resolve(Fe,"../../").replace(/\\/g,"/").replace(/\/$/,""),je__default.default.resolve(Fe,"../").replace(/\\/g,"/").replace(/\/$/,"");});function Ye(u="",e=""){e=e??Je;try{let s=`${e}/${u}`;if(!Ve__default.default.existsSync(s))return console.warn(`\u6587\u4EF6\u4E0D\u5B58\u5728: ${s}`),{};let o=Ve__default.default.readFileSync(s,"utf8");return JSON.parse(o)}catch(s){return console.error(`\u8BFB\u53D6 JSON \u6587\u4EF6\u5931\u8D25: ${u}`,s),{}}}async function Xe(u="zh-cn"){let e=String(u).toLowerCase();await import(`dayjs/locale/${e}.js`),O__default.default.locale(e);}async function w(u,e="zh-cn",s="YYYY-MM-DD HH:mm:ss"){return await Xe(e),O__default.default(u).format(s)}async function yt(u,e="zh-cn"){return await Xe(e),O__default.default.extend(gt__default.default),O__default.default(u).fromNow()}function f(u){let e=/^https?:\/\/[^/]+\/(?:https?:\/\/)?([^/]+\/[^/]+\/[^/]+)/,s=u.match(e);if(s){let r=s[1];u=r.startsWith("https")?r:`https://${r}`;}let o=_t__default.default(u);return {owner:o.owner,repo:o.name}}function wt(u){if(!Array.isArray(u))throw new Error("RGB\u503C\u5FC5\u987B\u662F\u6570\u7EC4\u7C7B\u578B");if(u.length!==3)throw new Error("RGB\u6570\u7EC4\u5FC5\u987B\u5305\u542B\u4E14\u4EC5\u5305\u542B3\u4E2A\u503C");if(!u.every(e=>Number.isInteger(e)&&e>=0&&e<=255))throw new Error("RGB\u503C\u5FC5\u987B\u90FD\u662F0-255\u4E4B\u95F4\u7684\u6574\u6570");return `#${ct__default.default.rgb.hex(u)}`}function Z(u){return u=String(u).toLowerCase(),wt(ht__default.default[u].color)??"#cccccc"}async function ft(u,e){return Promise.resolve(Array.from({length:Math.ceil(u.length/e)},(s,o)=>u.slice(o*e,o*e+e)))}async function Qe(u){let e=/data-date="(.*?)" id="contribution-day-component/g,s=/<tool-tip .*?class="sr-only position-absolute">(.*?) contribution/g,o=Array.from(u.matchAll(e),n=>n[1]),r=Array.from(u.matchAll(s),n=>String(n[1]).toLowerCase()==="no"?0:parseInt(n[1]));if(!o.length||!r.length)return {total:0,contributions:[]};let t=o.map((n,i)=>({date:n,count:r[i]})).sort((n,i)=>n.date.localeCompare(i.date)),a=await ft(t,7);return {total:r.reduce((n,i)=>n+i,0),contributions:a}}var ee=h(()=>{Ke();});var te,Ze=h(()=>{ee();te=Ye("package.json");});var T=h(()=>{qe();Ge();ee();Ze();});function re(u,e){let s={github:"api.github.com",gitee:"gitee.com/api/v5",gitcode:"api.gitcode.com/api/v5"};return `https://${e?.replace(/\/$/,"")??""}/${s[u??"github"]}`.replace(/\/$/,"")}function ae(u,e){let s={github:"github.com",gitee:"gitee.com",gitcode:"gitcode.com"};return `https://${e?.replace(/\/$/,"")??""}/${s[u??"github"]}`.replace(/\/$/,"")}async function Tt(){return Promise.resolve(uuid.v4().replace(/-/g,""))}var se=h(()=>{});var B,oe=h(()=>{T();B=class{baseUrl;tokenType;authorization;proxy;defaultHeaders;constructor(e,s="Bearer",o,r,t){this.baseUrl=e.replace(/\/$/,""),this.authorization=o,this.proxy=r,this.tokenType=s,this.defaultHeaders=t;}async request(e,s,o,r,t){let a=`${this.baseUrl}/${s}`.replace(/\/+/g,"/"),n={headers:this.createHeaders(t),params:o,validateStatus:()=>true};if(this.proxy){let i=this.proxy.type,l=this.proxy.address;switch(i){case "http":n.httpAgent=new httpProxyAgent.HttpProxyAgent(l),n.httpsAgent=new httpsProxyAgent.HttpsProxyAgent(l);break;case "https":n.httpsAgent=new httpsProxyAgent.HttpsProxyAgent(l);break;case "socks":{let _=new socksProxyAgent.SocksProxyAgent(l);n.httpAgent=_,n.httpsAgent=_;break}}}try{let i;switch(e){case "get":i=await M__default.default.get(a,n);break;case "post":i=await M__default.default.post(a,r,n);break;case "patch":i=await M__default.default.patch(a,r,n);break;case "put":i=await M__default.default.put(a,r,n);break;case "delete":i=await M__default.default.delete(a,{...n,data:r});break;default:throw new Error(`\u4E0D\u652F\u6301\u7684\u8BF7\u6C42\u65B9\u6CD5: ${e}`)}let l=Object.fromEntries(Object.entries(i.headers).filter(([_,c])=>c!==void 0).map(([_,c])=>[_.toLowerCase(),c]));return {success:!0,statusCode:i.status,headers:l,data:i.data,msg:i.status>=200&&i.status<500?"\u8BF7\u6C42\u6210\u529F":"\u8BF7\u6C42\u5F02\u5E38"}}catch(i){let l=i,_=l.response?.headers?Object.fromEntries(Object.entries(l.response.headers).filter(([c,L])=>L!==void 0).map(([c,L])=>[c,L])):{};return {success:false,statusCode:l.response?.status??500,headers:_,msg:l.message??"\u7F51\u7EDC\u8FDE\u63A5\u5931\u8D25",data:null}}}async get(e,s,o){return this.request("get",e,s,null,o)}async post(e,s,o,r){return this.request("post",e,s,o,r)}async patch(e,s=null,o,r){return this.request("patch",e,s,o,r)}async put(e,s,o,r){return this.request("put",e,s,o,r)}async delete(e,s=null,o,r){return this.request("delete",e,s,o,r)}createHeaders(e){let s={"Content-Type":"application/json","User-Agent":`${te.name}/v${te.version}`,...this.defaultHeaders??{}};if(this.authorization)if(this.tokenType==="Basic"){let o=Buffer.from(this.authorization).toString("base64");s.Authorization=`Basic ${o}`;}else this.tokenType==="Bearer"?s.Authorization=`Bearer ${this.authorization}`:s.Authorization=`${this.tokenType} ${this.authorization}`;return e&&Object.assign(s,e),s}};});var tt={};P(tt,{Auth:()=>H});var H,ne=h(()=>{T();k();H=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async create_auth_link(e){try{let s=new URL("/login/oauth/authorize",this.BaseUrl);return s.search=new URLSearchParams({client_id:this.Client_ID,...e&&{state:e}}).toString(),Promise.resolve(s.toString())}catch(s){throw new Error(`\u751F\u6210\u6388\u6743\u94FE\u63A5\u5931\u8D25: ${s.message}`)}}async get_token_by_code(e){try{if(!e.code)throw new Error(V);return this.setRequestConfig({url:this.BaseUrl}),await this.post("login/oauth/access_token",{client_id:this.Client_ID,client_secret:this.Client_Secret,code:e.code},{Accept:"application/json"})}catch(s){throw new Error(`\u8BF7\u6C42\u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${s.message}`)}}async check_token_status(e){try{let s=e?.access_token??this.userToken;if(!s)throw new Error(I);if(!s.startsWith("ghu_"))throw new Error(ke);this.setRequestConfig({url:this.ApiUrl,tokenType:"Basic",token:`${this.Client_ID}:${this.Client_Secret}`});let o=await this.post(`/applications/${this.Client_ID}/token`,{access_token:s});if(o.data){let r=!(o.status==="ok"&&(o.statusCode===404||o.statusCode===422));o.data={success:r,info:r?Be:Ee};}return o}catch(s){throw new Error(`\u8BF7\u6C42\u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u72B6\u6001\u5931\u8D25: ${s.message}`)}}async refresh_token(e){try{if(!e.refresh_token)throw new Error(V);if(!e.refresh_token.startsWith("ghr_"))throw new Error(Y);this.setRequestConfig({url:this.BaseUrl});let s=await this.post("login/oauth/access_token",{client_id:this.Client_ID,client_secret:this.Client_Secret,grant_type:"refresh_token",refresh_token:e.refresh_token},{Accept:"application/json"}),o=s.status==="ok"&&s.statusCode===200&&!s.data.error,r=Ie;switch(s.data.error){case "bad_refresh_token":r=Y;break;case "unauthorized":r=d;break}if(s.data){if(!o)throw new Error(r);s.data={success:o,info:Oe,access_token:s.data.access_token,expires_in:s.data.expires_in??null,refresh_token:s.data.refresh_token??null,refresh_token_expires_in:s.data.refresh_token_expires_in??null,scope:s.data.scope,token_type:s.data.token_type};}return s}catch(s){throw new Error(`\u8BF7\u6C42\u5237\u65B0\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${s.message}`)}}};});var at={};P(at,{Commit:()=>z});var z,ie=h(()=>{T();k();z=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_commit_info(e){try{this.setRequestConfig({token:this.userToken});let s,o,r,t;if("url"in e){r=e.url;let i=f(r);s=i?.owner,o=i?.repo;}else if("owner"in e&&"repo"in e)s=e.owner,o=e.repo;else throw new Error(g);e.sha?t=e.sha:t=await(await this.get_repo()).get_repo_default_branch({owner:s,repo:o});let a=await this.get(`/repos/${s}/${o}/commits/${t}`);switch(a.statusCode){case 401:throw new Error(d);case 404:throw new Error(xe);case 422:throw new Error(Ae)}let n=e.format??this.format;if(a.data){let i=a.data?.commit?.message??"",[l,..._]=i.split(`
|
2
|
+
`);a.data={url:a.data.url,sha:a.data.sha,html_url:a.data.html_url,comments_url:a.data.comments_url,commit:{url:a.data.commit.url,author:a.data.commit.author?{id:a.data.commit.author.id,login:a.data.commit.author.login,name:a.data.commit.author.name,avatar_url:a.data.commit.author.avatar_url,email:a.data.commit.author.email,html_url:a.data.commit.author.html_url,type:lodashEs.capitalize(String(a.data.commit.author.type).toLowerCase()),date:n?await w(a.data.commit.author.date):a.data.commit.author.date}:null,committer:a.data.commit.committer?{id:a.data.commit.committer.id,login:a.data.commit.committer.login,name:a.data.commit.committer.name,avatar_url:a.data.commit.committer.avatar_url,email:a.data.commit.committer.email,html_url:a.data.commit.committer.html_url,type:lodashEs.capitalize(String(a.data.commit.committer.type).toLowerCase()),date:n?await w(a.data.commit.committer.date):a.data.commit.committer.date}:null,message:a.data.commit.message,...n&&{title:l,body:_.join(`
|
3
|
+
`)},tree:{url:a.data.commit.tree.url,sha:a.data.commit.tree.sha}},parents:a.data.parents.map(c=>({sha:c.sha,url:c.url})),stats:{additions:a.data.stats.additions,deletions:a.data.stats.deletions,total:a.data.stats.total},files:a.data.files.map(c=>({sha:c.sha,filename:c.filename,status:c.status,additions:c.additions,deletions:c.deletions,changes:c.changes,blob_url:c.blob_url,raw_url:c.raw_url}))};}return a}catch(s){throw new Error(`\u83B7\u53D6\u63D0\u4EA4\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}};});var st={};P(st,{Issue:()=>D});var D,le=h(()=>{T();k();D=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_issue_info(e){let s,o;try{if(this.setRequestConfig({token:this.userToken}),"url"in e){let t=e?.url?.trim(),a=f(t);s=a?.owner,o=a?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);let r=await this.get(`/repos/${s}/${o}/issues/${Number(e.issue_number)}`);switch(r.statusCode){case 404:throw new Error(R);case 301:throw new Error($e)}return r.data&&(r.data={id:r.data.id,html_url:r.data.html_url,number:r.data.number,comments:r.data.comments,state:r.data.state,state_reason:r.data.state_reason,title:r.data.title,body:r.data.body,user:r.data.user?{id:r.data.user.id,login:r.data.user.login,name:r.data.user.name,email:r.data.user.email,html_url:r.data.user.html_url,avatar_url:r.data.user.avatar_url,type:lodashEs.capitalize(r.data.user.type.toLowerCase())}:null,labels:r.data.labels?r.data.labels.map(t=>({id:t.id,name:t.name,color:t.color})):null,assignee:r.data.assignee?{id:r.data.assignee.id,login:r.data.assignee.login,name:r.data.assignee.name,email:r.data.assignee.email,html_url:r.data.assignee.html_url,avatar_url:r.data.assignee.avatar_url,type:lodashEs.capitalize(r.data.assignee.type.toLowerCase())}:null,milestone:r.data.milestone?{id:r.data.milestone.id,url:r.data.milestone.url,number:r.data.milestone.number,state:r.data.milestone.state,title:r.data.milestone.title,description:r.data.milestone.description,open_issues:r.data.milestone.open_issues,closed_issues:r.data.milestone.closed_issues,created_at:r.data.milestone.created_at,updated_at:r.data.milestone.updated_at,closed_at:r.data.milestone.closed_at,due_on:r.data.milestone.due_on}:null,closed_at:r.data.closed_at,created_at:r.data.created_at,updated_at:r.data.updated_at}),r}catch(r){throw new Error(`\u83B7\u53D6Issue\u8BE6\u60C5\u5931\u8D25: ${r.message}`)}}async get_repo_issue_list(e){let s,o;try{if(this.setRequestConfig({token:this.userToken}),"url"in e){let i=e?.url?.trim(),l=f(i);s=l?.owner,o=l?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);let{...r}=e,t={};r.milestone&&(t.milestone=r.milestone.toString()),r.state&&(t.state=r.state),r.assignee&&(t.assignee=r.assignee),r.creator&&(t.creator=r.creator),r.labels&&(t.labels=r.labels),r.sort&&(t.sort=r.sort),r.direction&&(t.direction=r.direction),r.since&&(t.since=r.since),r.per_page&&(t.per_page=r.per_page.toString()),r.page&&(t.page=r.page.toString());let a=`/repos/${s}/${o}/issues`,n=await this.get(a,t);if(n.statusCode===401)throw new Error(d);return n.data&&(n.data=n.data.map(i=>({id:i.id,html_url:i.html_url,number:i.number,comments:i.comments,state:i.state,state_reason:i.state_reason,title:i.title,body:i.body,user:i.user?{id:i.user.id,login:i.user.login,name:i.user.name,email:i.user.email,html_url:i.user.html_url,avatar_url:i.user.avatar_url,type:lodashEs.capitalize(i.user.type.toLowerCase())}:null,labels:i.labels?i.labels.map(l=>({id:l.id,name:l.name,color:l.color})):null,assignee:i.assignee?{id:i.assignee.id,login:i.assignee.login,name:i.assignee.name,email:i.assignee.email,html_url:i.assignee.html_url,avatar_url:i.assignee.avatar_url,type:lodashEs.capitalize(i.assignee.type.toLowerCase())}:null,milestone:i.milestone?{id:i.milestone.id,url:i.milestone.url,number:i.milestone.number,state:i.milestone.state,title:i.milestone.title,description:i.milestone.description,open_issues:i.milestone.open_issues,closed_issues:i.milestone.closed_issues,created_at:i.milestone.created_at,updated_at:i.milestone.updated_at,closed_at:i.milestone.closed_at,due_on:i.milestone.due_on}:null,closed_at:i.closed_at,created_at:i.created_at,updated_at:i.updated_at}))),n}catch(r){throw new Error(`\u83B7\u53D6\u4ED3\u5E93${s}/${o}\u7684Issue\u5217\u8868\u5931\u8D25: ${r.message}`)}}async create_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.title)throw new Error(fe);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,...r}=e,t={...r,...r.labels&&{labels:Array.isArray(r.labels)?r.labels:[r.labels]},...r.assignees&&{assignees:Array.isArray(r.assignees)?r.assignees:[r.assignees]}},a=await this.post(`/repos/${s}/${o}/issues`,t);switch(a.statusCode){case 403:throw new Error(d);case 301:throw new Error(C)}return a.data&&a.data&&(a.data={id:a.data.id,html_url:a.data.html_url,number:a.data.number,comments:a.data.comments,state:a.data.state,state_reason:a.data.state_reason,title:a.data.title,body:a.data.body,user:a.data.user?{id:a.data.user.id,login:a.data.user.login,name:a.data.user.name,email:a.data.user.email,html_url:a.data.user.html_url,avatar_url:a.data.user.avatar_url,type:lodashEs.capitalize(a.data.user.type.toLowerCase())}:null,labels:a.data.labels?a.data.labels.map(n=>({id:n.id,name:n.name,color:n.color})):null,assignee:a.data.assignee?{id:a.data.assignee.id,login:a.data.assignee.login,name:a.data.assignee.name,email:a.data.assignee.email,html_url:a.data.assignee.html_url,avatar_url:a.data.assignee.avatar_url,type:lodashEs.capitalize(a.data.assignee.type.toLowerCase())}:null,milestone:a.data.milestone?{id:a.data.milestone.id,url:a.data.milestone.url,number:a.data.milestone.number,state:a.data.milestone.state,title:a.data.milestone.title,description:a.data.milestone.description,open_issues:a.data.milestone.open_issues,closed_issues:a.data.milestone.closed_issues,created_at:a.data.milestone.created_at,updated_at:a.data.milestone.updated_at,closed_at:a.data.milestone.closed_at,due_on:a.data.milestone.due_on}:null,closed_at:a.data.closed_at,created_at:a.data.created_at,updated_at:a.data.updated_at}),a}catch(s){throw new Error(`\u521B\u5EFAIssue\u5931\u8D25: ${s.message}`)}}async update_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r,...t}=e,a={...t,...t.labels&&{labels:Array.isArray(t.labels)?t.labels:[t.labels]},...t.assignees&&{assignees:Array.isArray(t.assignees)?t.assignees:[t.assignees]}},n=await this.patch(`/repos/${s}/${o}/issues/${Number(r)}`,null,a);switch(n.statusCode){case 404:throw new Error(R);case 403:throw new Error(d);case 301:throw new Error(C)}return n.data&&n.data&&(n.data={id:n.data.id,html_url:n.data.html_url,number:n.data.number,comments:n.data.comments,state:n.data.state,state_reason:n.data.state_reason,title:n.data.title,body:n.data.body,user:n.data.user?{id:n.data.user.id,login:n.data.user.login,name:n.data.user.name,email:n.data.user.email,html_url:n.data.user.html_url,avatar_url:n.data.user.avatar_url,type:lodashEs.capitalize(n.data.user.type.toLowerCase())}:null,labels:n.data.labels?n.data.labels.map(i=>({id:i.id,name:i.name,color:i.color})):null,assignee:n.data.assignee?{id:n.data.assignee.id,login:n.data.assignee.login,name:n.data.assignee.name,email:n.data.assignee.email,html_url:n.data.assignee.html_url,avatar_url:n.data.assignee.avatar_url,type:lodashEs.capitalize(n.data.assignee.type.toLowerCase())}:null,milestone:n.data.milestone?{id:n.data.milestone.id,url:n.data.milestone.url,number:n.data.milestone.number,state:n.data.milestone.state,title:n.data.milestone.title,description:n.data.milestone.description,open_issues:n.data.milestone.open_issues,closed_issues:n.data.milestone.closed_issues,created_at:n.data.milestone.created_at,updated_at:n.data.milestone.updated_at,closed_at:n.data.milestone.closed_at,due_on:n.data.milestone.due_on}:null,closed_at:n.data.closed_at,created_at:n.data.created_at,updated_at:n.data.updated_at}),n}catch(s){throw new Error(`\u66F4\u65B0Issue\u5931\u8D25: ${s.message}`)}}async open_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r}=e,t=await this.patch(`/repos/${s}/${o}/issues/${r}`,null,{state:"open"});switch(t.statusCode){case 404:throw new Error(R);case 403:throw new Error(d);case 301:throw new Error(C)}return t.data&&t.data&&(t.data={id:t.data.id,html_url:t.data.html_url,number:t.data.number,comments:t.data.comments,state:t.data.state,state_reason:t.data.state_reason,title:t.data.title,body:t.data.body,user:t.data.user?{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url,type:lodashEs.capitalize(t.data.user.type.toLowerCase())}:null,labels:t.data.labels?t.data.labels.map(a=>({id:a.id,name:a.name,color:a.color})):null,assignee:t.data.assignee?{id:t.data.assignee.id,login:t.data.assignee.login,name:t.data.assignee.name,email:t.data.assignee.email,html_url:t.data.assignee.html_url,avatar_url:t.data.assignee.avatar_url,type:lodashEs.capitalize(t.data.assignee.type.toLowerCase())}:null,milestone:t.data.milestone?{id:t.data.milestone.id,url:t.data.milestone.url,number:t.data.milestone.number,state:t.data.milestone.state,title:t.data.milestone.title,description:t.data.milestone.description,open_issues:t.data.milestone.open_issues,closed_issues:t.data.milestone.closed_issues,created_at:t.data.milestone.created_at,updated_at:t.data.milestone.updated_at,closed_at:t.data.milestone.closed_at,due_on:t.data.milestone.due_on}:null,closed_at:t.data.closed_at,created_at:t.data.created_at,updated_at:t.data.updated_at}),t}catch(s){throw new Error(`\u6253\u5F00Issue\u5931\u8D25: ${s.message}`)}}async reopen_issue(e){return this.open_issue(e)}async close_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r}=e,t=await this.patch(`/repos/${s}/${o}/issues/${r}`,null,{state:"closed"});switch(t.statusCode){case 404:throw new Error(R);case 403:throw new Error(d);case 301:throw new Error(C)}return t.data&&t.data&&(t.data={id:t.data.id,html_url:t.data.html_url,number:t.data.number,comments:t.data.comments,state:t.data.state,state_reason:t.data.state_reason,title:t.data.title,body:t.data.body,user:t.data.user?{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url,type:lodashEs.capitalize(t.data.user.type.toLowerCase())}:null,labels:t.data.labels?t.data.labels.map(a=>({id:a.id,name:a.name,color:a.color})):null,assignee:t.data.assignee?{id:t.data.assignee.id,login:t.data.assignee.login,name:t.data.assignee.name,email:t.data.assignee.email,html_url:t.data.assignee.html_url,avatar_url:t.data.assignee.avatar_url,type:lodashEs.capitalize(t.data.assignee.type.toLowerCase())}:null,milestone:t.data.milestone?{id:t.data.milestone.id,url:t.data.milestone.url,number:t.data.milestone.number,state:t.data.milestone.state,title:t.data.milestone.title,description:t.data.milestone.description,open_issues:t.data.milestone.open_issues,closed_issues:t.data.milestone.closed_issues,created_at:t.data.milestone.created_at,updated_at:t.data.milestone.updated_at,closed_at:t.data.milestone.closed_at,due_on:t.data.milestone.due_on}:null,closed_at:t.data.closed_at,created_at:t.data.created_at,updated_at:t.data.updated_at}),t}catch(s){throw new Error(`\u5173\u95EDIssue\u5931\u8D25: ${s.message}`)}}async lock_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r,lock_reason:t}=e,a=await this.put(`/repos/${s}/${o}/issues/${Number(r)}`,{locked:!0,lock_reason:t});switch(a.statusCode){case 404:throw new Error(R);case 403:throw new Error(d);case 301:throw new Error(C)}let n;return a.statusCode===204?n=ze:n=Me,a.data={info:n},a}catch(s){throw new Error(`\u9501\u5B9AIssue${e.issue_number}\u5931\u8D25: ${s.message}`)}}async unlock_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r}=e,t=await this.delete(`/repos/${s}/${o}/issues/${r}/lock`);switch(t.statusCode){case 404:throw new Error(R);case 403:throw new Error(d);case 301:throw new Error(C)}let a;return t.statusCode===204?a=De:a=Ue,t.data={info:a},t}catch(s){throw new Error(`\u89E3\u9501Issue\u5931\u8D25: ${s.message}`)}}async get_repo_comments_list(e){if(!e.owner||!e.repo)throw new Error(y);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,...r}=e,t={};r.sort&&(t.sort=r.sort),r.sort&&r.direction&&(t.direction=r.direction),r.since&&(t.since=r.since),r.per_page&&(t.per_page=r.per_page.toString()),r.page&&(t.page=r.page.toString());let a=`/repos/${s}/${o}/issues/comments/`,n=await this.get(a,t);if(n.statusCode===404)throw new Error(b);return n.data&&(n.data=n.data.map(i=>({id:i.id,html_url:i.html_url,body:i.body,user:i.user?{id:i.user.id,login:i.user.login,name:i.user.name,email:i.user.email,html_url:i.user.html_url,avatar_url:i.user.avatar_url,type:lodashEs.capitalize(i.user.type.toLowerCase())}:null,created_at:i.created_at,updated_at:i.updated_at}))),n}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${s.message}`)}}async get_issue_comments_list(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r,...t}=e,a={};t.since&&(a.since=t.since),t.per_page&&(a.per_page=t.per_page.toString()),t.page&&(a.page=t.page.toString());let n=`/repos/${s}/${o}/issues/${Number(r)}/comments`,i=await this.get(n,a);if(i.statusCode===404)throw new Error(b);return i.data&&(i.data=i.data.map(l=>({id:l.id,html_url:l.html_url,body:l.body,user:l.user?{id:l.user.id,login:l.user.login,name:l.user.name,email:l.user.email,html_url:l.user.html_url,avatar_url:l.user.avatar_url,type:lodashEs.capitalize(l.user.type.toLowerCase())}:null,created_at:l.created_at,updated_at:l.updated_at}))),i}catch(s){throw new Error(`\u83B7\u53D6\u8BAE\u9898\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${s.message}`)}}async get_issue_comment_info(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.comment_id)throw new Error(U);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,comment_id:r}=e,t=await this.get(`/repos/${s}/${o}/issues/comments/${Number(r)}`);if(t.statusCode===404)throw new Error(b);return t.data&&(t.data={id:t.data.id,html_url:t.data.html_url,body:t.data.body,user:t.data.user?{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url,type:lodashEs.capitalize(t.data.user.type.toLowerCase())}:null,created_at:t.data.created_at,updated_at:t.data.updated_at}),t}catch(s){throw new Error(`\u83B7\u53D6\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}async create_issue_comment(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(b);if(!e.body)throw new Error(we);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r,body:t}=e,a=await this.post(`/repos/${s}/${o}/issues/${Number(r)}/comments`,{body:t});if(a.statusCode===404)throw new Error(b);return a.data&&(a.data={id:a.data.id,html_url:a.data.html_url,body:a.data.body,user:a.data.user?{id:a.data.user.id,login:a.data.user.login,name:a.data.user.name,email:a.data.user.email,html_url:a.data.user.html_url,avatar_url:a.data.user.avatar_url,type:lodashEs.capitalize(a.data.user.type.toLowerCase())}:null,created_at:a.data.created_at,updated_at:a.data.updated_at}),a}catch(s){throw new Error(`\u521B\u5EFA\u8BAE\u9898\u8BC4\u8BBA\u5931\u8D25: ${s.message}`)}}async update_issue_comment(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.comment_id)throw new Error(U);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,comment_id:r,...t}=e,a=await this.patch(`/repos/${s}/${o}/issues/comments/${Number(r)}`,null,t);if(a.statusCode===404)throw new Error(b);return a.data&&(a.data={id:a.data.id,html_url:a.data.html_url,body:a.data.body,user:a.data.user?{id:a.data.user.id,login:a.data.user.login,name:a.data.user.name,email:a.data.user.email,html_url:a.data.user.html_url,avatar_url:a.data.user.avatar_url,type:lodashEs.capitalize(a.data.user.type.toLowerCase())}:null,created_at:a.data.created_at,updated_at:a.data.updated_at}),a}catch(s){throw new Error(`\u66F4\u65B0\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}async remove_issue_comment(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.comment_id)throw new Error(U);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,comment_id:r}=e,t=await this.delete(`/repos/${s}/${o}/issues/comments/${Number(r)}`);if(t.statusCode===404)throw new Error(b);let a;return t.statusCode===204?a=We:a=Le,t.data={info:a},t}catch(s){throw new Error(`\u5220\u9664\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}async delete_issue_comment(e){return this.remove_issue_comment(e)}async get_sub_issue_list(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(b);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r,...t}=e,a={};t.per_page&&(a.per_page=t.per_page.toString()),t.page&&(a.page=t.page.toString());let n=`/repos/${s}/${o}/issues/${Number(r)}/sub_issues`,i=await this.get(n,a);if(i.statusCode===404)throw new Error(R);return i.data&&(i.data=i.data.map(l=>({id:l.id,html_url:l.html_url,number:l.number,comments:l.comments,state:l.state,state_reason:l.state_reason,title:l.title,body:l.body,user:l.user?{id:l.user.id,login:l.user.login,name:l.user.name,email:l.user.email,html_url:l.user.html_url,avatar_url:l.user.avatar_url,type:lodashEs.capitalize(l.user.type.toLowerCase())}:null,labels:l.labels?l.labels.map(_=>({id:_.id,name:_.name,color:_.color})):null,assignee:l.assignee?{id:l.assignee.id,login:l.assignee.login,name:l.assignee.name,email:l.assignee.email,html_url:l.assignee.html_url,avatar_url:l.assignee.avatar_url,type:lodashEs.capitalize(l.assignee.type.toLowerCase())}:null,milestone:l.milestone?{id:l.milestone.id,url:l.milestone.url,number:l.milestone.number,state:l.milestone.state,title:l.milestone.title,description:l.milestone.description,open_issues:l.milestone.open_issues,closed_issues:l.milestone.closed_issues,created_at:l.milestone.created_at,updated_at:l.milestone.updated_at,closed_at:l.milestone.closed_at,due_on:l.milestone.due_on}:null,closed_at:l.closed_at,created_at:l.created_at,updated_at:l.updated_at}))),i}catch(s){throw new Error(`\u83B7\u53D6\u5B50\u8BAE\u9898\u5217\u8868\u5931\u8D25: ${s.message}`)}}async add_sub_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(b);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r,sub_issue_id:t,replace_parent:a}=e,n=await this.post(`/repos/${s}/${o}/issues/${r}/sub_issues`,{sub_issue_id:t,replace_parent:a});if(n.statusCode===404)throw new Error(R);return n.data&&(n.data={id:n.data.id,html_url:n.data.html_url,number:n.data.number,comments:n.data.comments,state:n.data.state,state_reason:n.data.state_reason,title:n.data.title,body:n.data.body,user:n.data.user?{id:n.data.user.id,login:n.data.user.login,name:n.data.user.name,email:n.data.user.email,html_url:n.data.user.html_url,avatar_url:n.data.user.avatar_url,type:lodashEs.capitalize(n.data.user.type.toLowerCase())}:null,labels:n.data.labels?n.data.labels.map(i=>({id:i.id,name:i.name,color:i.color})):null,assignee:n.data.assignee?{id:n.data.assignee.id,login:n.data.assignee.login,name:n.data.assignee.name,email:n.data.assignee.email,html_url:n.data.assignee.html_url,avatar_url:n.data.assignee.avatar_url,type:lodashEs.capitalize(n.data.assignee.type.toLowerCase())}:null,milestone:n.data.milestone?{id:n.data.milestone.id,url:n.data.milestone.url,number:n.data.milestone.number,state:n.data.milestone.state,title:n.data.milestone.title,description:n.data.milestone.description,open_issues:n.data.milestone.open_issues,closed_issues:n.data.milestone.closed_issues,created_at:n.data.milestone.created_at,updated_at:n.data.milestone.updated_at,closed_at:n.data.milestone.closed_at,due_on:n.data.milestone.due_on}:null,closed_at:n.data.closed_at,created_at:n.data.created_at,updated_at:n.data.updated_at}),n}catch(s){throw new Error(`\u6DFB\u52A0\u5B50\u8BAE\u9898\u5931\u8D25: ${s.message}`)}}async remove_sub_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(b);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r,sub_issue_id:t}=e,a=await this.delete(`/repos/${s}/${o}/issues/${r}/sub_issue`,null,{sub_issue_id:t});if(a.statusCode===404)throw new Error(R);return a.data&&(a.data={id:a.data.id,html_url:a.data.html_url,number:a.data.number,comments:a.data.comments,state:a.data.state,state_reason:a.data.state_reason,title:a.data.title,body:a.data.body,user:a.data.user?{id:a.data.user.id,login:a.data.user.login,name:a.data.user.name,email:a.data.user.email,html_url:a.data.user.html_url,avatar_url:a.data.user.avatar_url,type:lodashEs.capitalize(a.data.user.type.toLowerCase())}:null,labels:a.data.labels?a.data.labels.map(n=>({id:n.id,name:n.name,color:n.color})):null,assignee:a.data.assignee?{id:a.data.assignee.id,login:a.data.assignee.login,name:a.data.assignee.name,email:a.data.assignee.email,html_url:a.data.assignee.html_url,avatar_url:a.data.assignee.avatar_url,type:lodashEs.capitalize(a.data.assignee.type.toLowerCase())}:null,milestone:a.data.milestone?{id:a.data.milestone.id,url:a.data.milestone.url,number:a.data.milestone.number,state:a.data.milestone.state,title:a.data.milestone.title,description:a.data.milestone.description,open_issues:a.data.milestone.open_issues,closed_issues:a.data.milestone.closed_issues,created_at:a.data.milestone.created_at,updated_at:a.data.milestone.updated_at,closed_at:a.data.milestone.closed_at,due_on:a.data.milestone.due_on}:null,closed_at:a.data.closed_at,created_at:a.data.created_at,updated_at:a.data.updated_at}),a}catch(s){throw new Error(`\u5220\u9664\u5B50\u8BAE\u9898\u5931\u8D25: ${s.message}`)}}async delete_sub_issue(e){return this.remove_sub_issue(e)}async reprioritize_sub_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(b);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r,sub_issue_id:t,...a}=e,n={};a.before_id&&!a.after_id&&(n.before_id=a.before_id.toString()),a.after_id&&!a.before_id&&(n.after_id=a.after_id.toString());let i=`/repos/${s}/${o}/issues/${r}/sub_issues/priority`,l=await this.patch(i,n,{sub_issue_id:String(t)});if(l.statusCode===404)throw new Error(R);return l.data&&(l.data={id:l.data.id,html_url:l.data.html_url,number:l.data.number,comments:l.data.comments,state:l.data.state,state_reason:l.data.state_reason,title:l.data.title,body:l.data.body,user:l.data.user?{id:l.data.user.id,login:l.data.user.login,name:l.data.user.name,email:l.data.user.email,html_url:l.data.user.html_url,avatar_url:l.data.user.avatar_url,type:lodashEs.capitalize(l.data.user.type.toLowerCase())}:null,labels:l.data.labels?l.data.labels.map(_=>({id:_.id,name:_.name,color:_.color})):null,assignee:l.data.assignee?{id:l.data.assignee.id,login:l.data.assignee.login,name:l.data.assignee.name,email:l.data.assignee.email,html_url:l.data.assignee.html_url,avatar_url:l.data.assignee.avatar_url,type:lodashEs.capitalize(l.data.assignee.type.toLowerCase())}:null,milestone:l.data.milestone?{id:l.data.milestone.id,url:l.data.milestone.url,number:l.data.milestone.number,state:l.data.milestone.state,title:l.data.milestone.title,description:l.data.milestone.description,open_issues:l.data.milestone.open_issues,closed_issues:l.data.milestone.closed_issues,created_at:l.data.milestone.created_at,updated_at:l.data.milestone.updated_at,closed_at:l.data.milestone.closed_at,due_on:l.data.milestone.due_on}:null,closed_at:l.data.closed_at,created_at:l.data.created_at,updated_at:l.data.updated_at}),l}catch(s){throw new Error(`\u91CD\u65B0\u6392\u5E8F\u5B50\u8BAE\u9898\u5931\u8D25: ${s.message}`)}}};});var ot={};P(ot,{Repo:()=>W});var W,ue=h(()=>{T();k();W=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_org_repos_list(e){if(!e.org)throw new Error(g);try{this.setRequestConfig({token:this.userToken});let{org:s,...o}=e,r={};o?.type&&(r.type=o.type),o?.sort&&(r.sort=o.sort),o?.direction&&(r.direction=o.direction),o?.per_page&&(r.per_page=o.per_page.toString()),o?.page&&(r.page=o.page.toString());let t=`/orgs/${s}/repos`,a=await this.get(t,r);switch(a.statusCode){case 404:throw new Error(S);case 401:throw new Error(d)}let n=e.format??this.format;return a.data&&(a.data=await Promise.all(a.data.map(async i=>({id:i.id,name:i.name,full_name:i.full_name,owner:{id:i.owner.id,login:i.owner.login,name:i.owner.name,avatar_url:i.owner.avatar_url,type:i.owner.type,html_url:i.owner.html_url,company:i.owner.company,email:i.owner.email,bio:i.owner.bio,blog:i.owner.blog,followers:i.owner.followers,following:i.owner.following},public:!i.private,private:i.private,visibility:i.private?"private":"public",fork:i.fork,archived:i.archived,disabled:i.disabled,html_url:i.html_url,description:i.description,created_at:n?await w(i.created_at):i.created_at,updated_at:n?await w(i.updated_at):i.updated_at,stargazers_count:i.stargazers_count,watchers_count:i.watchers_count,language:i.language,forks_count:i.forks_count,open_issues_count:i.open_issues_count,default_branch:i.default_branch})))),a}catch(s){throw new Error(`\u83B7\u53D6\u7EC4\u7EC7\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${s.message}`)}}async get_user_repos_list_by_token(e){try{this.setRequestConfig({token:this.userToken});let{...s}=e,o={};!e?.visibility&&!e?.affiliation&&s?.type&&(o.type=s.type),s?.visibility&&(o.visibility=s.visibility),s?.affiliation&&(o.affiliation=s.affiliation),s?.sort&&(o.sort=s.sort),s?.direction&&(o.direction=s.direction),s?.per_page&&(o.per_page=s.per_page.toString()),s?.page&&(o.page=s.page.toString());let t=await this.get("/uses/repos",o);if(t.statusCode===401)throw new Error(d);let a=e?.format??this.format;return t.data&&(t.data=await Promise.all(t.data.map(async n=>({id:n.id,name:n.name,full_name:n.full_name,owner:{id:n.owner.id,login:n.owner.login,name:n.owner.name,avatar_url:n.owner.avatar_url,type:n.owner.type,html_url:n.owner.html_url,company:n.owner.company,email:n.owner.email,bio:n.owner.bio,blog:n.owner.blog,followers:n.owner.followers,following:n.owner.following},public:!n.private,private:n.private,visibility:n.private?"private":"public",fork:n.fork,archived:n.archived,disabled:n.disabled,html_url:n.html_url,description:n.description,created_at:a?await w(n.created_at):n.created_at,updated_at:a?await w(n.updated_at):n.updated_at,stargazers_count:n.stargazers_count,watchers_count:n.watchers_count,language:n.language,forks_count:n.forks_count,open_issues_count:n.open_issues_count,default_branch:n.default_branch})))),t}catch(s){throw new Error(`\u83B7\u53D6\u6388\u6743\u7528\u6237\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${s.message}`)}}async get_user_repos_list(e){try{if(!e.username)throw new Error(A);this.setRequestConfig({token:this.userToken});let{username:s,...o}=e,r={};o?.type&&(r.type=o.type),o?.sort&&(r.sort=o.sort),o?.direction&&(r.direction=o.direction),o?.per_page&&(r.per_page=o.per_page.toString()),o?.page&&(r.page=o.page.toString());let t=e?.format??this.format,a=`/users/${s}/repos`,n=await this.get(a,r);switch(n.statusCode){case 404:throw new Error($);case 401:throw new Error(d)}return n.data&&(n.data=await Promise.all(n.data.map(async i=>({id:i.id,name:i.name,full_name:i.full_name,owner:{id:i.owner.id,login:i.owner.login,name:i.owner.name,avatar_url:i.owner.avatar_url,type:i.owner.type,html_url:i.owner.html_url,company:i.owner.company,email:i.owner.email,bio:i.owner.bio,blog:i.owner.blog,followers:i.owner.followers,following:i.owner.following},public:!i.private,private:i.private,visibility:i.private?"private":"public",fork:i.fork,archived:i.archived,disabled:i.disabled,html_url:i.html_url,description:i.description,created_at:t?await w(i.created_at):i.created_at,updated_at:t?await w(i.updated_at):i.updated_at,stargazers_count:i.stargazers_count,watchers_count:i.watchers_count,language:i.language,forks_count:i.forks_count,open_issues_count:i.open_issues_count,default_branch:i.default_branch})))),n}catch(s){throw new Error(`\u83B7\u53D6\u7528\u6237\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${s.message}`)}}async get_repo_info(e){try{this.setRequestConfig({token:this.userToken});let s,o;if("url"in e){let a=e.url.trim(),n=f(a);s=n?.owner,o=n?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);let r=await this.get(`/repos/${s}/${o}`);switch(r.statusCode){case 401:throw new Error(d);case 404:throw new Error(q)}let t=e?.format??this.format;return r.data&&(r.data={id:r.data.id,name:r.data.name,full_name:r.data.full_name,owner:{id:r.data.owner.id,login:r.data.owner.login,name:r.data.owner.name,avatar_url:r.data.owner.avatar_url,type:r.data.owner.type,html_url:r.data.owner.html_url,company:r.data.owner.company,email:r.data.owner.email,bio:r.data.owner.bio,blog:r.data.owner.blog,followers:r.data.owner.followers,following:r.data.owner.following},public:!r.data.private,private:r.data.private,visibility:r.data.private?"private":"public",fork:r.data.fork,archived:r.data.archived,disabled:r.data.disabled,html_url:r.data.html_url,description:r.data.description,created_at:t?await w(r.data.created_at):r.data.created_at,updated_at:t?await w(r.data.updated_at):r.data.updated_at,stargazers_count:r.data.stargazers_count,watchers_count:r.data.watchers_count,language:r.data.language,forks_count:r.data.forks_count,open_issues_count:r.data.open_issues_count,default_branch:r.data.default_branch}),r}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}async get_repo_languages_list(e){try{this.setRequestConfig({token:this.userToken});let s,o;if("url"in e){let t=e.url.trim(),a=f(t);s=a?.owner,o=a?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);let r=await this.get(`/repos/${s}/${o}/languages`);switch(r.statusCode){case 401:throw new Error(d);case 404:throw new Error(C)}if(r.data){let t=Object.values(r.data).reduce((a,n)=>a+n,0);r.data={languages:await Promise.all(Object.entries(r.data).map(([a,n])=>{let i=String(a).toLowerCase();return {language:a,color:Z(i),percent:Number((n/t*100).toFixed(2)),bytes:n}}))};}return r}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5217\u8868\u5931\u8D25: ${s.message}`)}}async create_org_repo(e){try{let{owner:s,...o}=e,r={...o},t=await this.post(`/orgs/${s}/repos`,r);if(t.statusCode===401)throw new Error(d);let a=e?.format??this.format;return t.data&&(t.data={id:t.data.id,name:t.data.name,full_name:t.data.full_name,owner:{id:t.data.owner.id,login:t.data.owner.login,name:t.data.owner.name,avatar_url:t.data.owner.avatar_url,type:t.data.owner.type,html_url:t.data.owner.html_url,company:t.data.owner.company,email:t.data.owner.email,bio:t.data.owner.bio,blog:t.data.owner.blog,followers:t.data.owner.followers,following:t.data.owner.following},public:!t.data.private,private:t.data.private,visibility:t.data.private?"private":"public",fork:t.data.fork,archived:t.data.archived,disabled:t.data.disabled,html_url:t.data.html_url,description:t.data.description,created_at:a?await w(t.data.created_at):t.data.created_at,updated_at:a?await w(t.data.updated_at):t.data.updated_at,stargazers_count:t.data.stargazers_count,watchers_count:t.data.watchers_count,language:t.data.language,forks_count:t.data.forks_count,open_issues_count:t.data.open_issues_count,default_branch:t.data.default_branch}),t}catch(s){throw new Error(`\u521B\u5EFA\u7EC4\u7EC7\u4ED3\u5E93\u5931\u8D25: ${s.message}`)}}async get_collaborators_list(e){try{this.setRequestConfig({token:this.userToken});let s,o;if("url"in e){let n=e.url.trim(),i=f(n);s=i?.owner,o=i?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);let{...r}=e,t={};r.affiliation&&(t.milestone=r.affiliation.toString()),r.permission&&(t.permission=r.permission.toString()),r.per_page&&(t.per_page=r.per_page.toString()),r.page&&(t.page=r.page.toString());let a=await this.get(`/repos/${s}/${o}/collaborators`,t);return a.data&&(a.data=await Promise.all(a.data.map(n=>({id:n.id,login:n.login,avatar_url:n.avatar_url,email:n.email,name:n.name,permissions:n.permissions,role_name:n.role_name})))),a}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u534F\u4F5C\u8005\u5217\u8868\u5931\u8D25: ${s.message}`)}}async add_collaborator(e){let s,o,r;try{if(this.setRequestConfig({token:this.userToken}),"url"in e){let n=e.url.trim(),i=f(n);s=i?.owner,o=i?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);r=e?.username;let t=await this.put(`/repos/${s}/${o}/collaborators/${r}`,{permission:e.permission??"pull"});if(t.statusCode===404)throw new Error(X);if(t.statusCode===422){let n=t.data.message;if(n&&n.includes("is not a valid permission"))throw new Error(Pe)}let a=e?.format??this.format;return t.data&&(t.data={id:t.data.id,repository:{id:t.data.repository.id,name:t.data.repository.name,full_name:t.data.repository.full_name,owner:{id:t.data.repository.owner.id,login:t.data.repository.owner.login,name:t.data.repository.owner.name,avatar_url:t.data.repository.owner.avatar_url,type:t.data.repository.owner.type,html_url:t.data.repository.owner.html_url,company:t.data.repository.owner.company,email:t.data.repository.owner.email,bio:t.data.repository.owner.bio,blog:t.data.repository.owner.blog,followers:t.data.repository.owner.followers,following:t.data.repository.owner.following},public:!t.data.repository.private,private:t.data.repository.private,visibility:t.data.repository.private?"private":"public",fork:t.data.repository.fork,archived:t.data.repository.archived,disabled:t.data.repository.disabled,html_url:t.data.repository.html_url,description:t.data.repository.description,created_at:a?await w(t.data.repository.created_at):t.data.repository.created_at,updated_at:a?await w(t.data.repository.updated_at):t.data.repository.updated_at,stargazers_count:t.data.repository.stargazers_count,watchers_count:t.data.repository.watchers_count,language:t.data.repository.language,forks_count:t.data.repository.forks_count,open_issues_count:t.data.repository.open_issues_count,default_branch:t.data.repository.default_branch}}),t}catch(t){throw new Error(`\u6DFB\u52A0\u534F\u4F5C\u8005${r}\u5931\u8D25: ${t.message}`)}}async remove_collaborator(e){let s,o,r;try{if(this.setRequestConfig({token:this.userToken}),"url"in e){let a=e.url.trim(),n=f(a);s=n?.owner,o=n?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);r=e?.username;let t=await this.delete(`/repos/${s}/${o}/collaborators/${r}`);if(t.statusCode===404)throw new Error(X);return t.status&&t.statusCode===204?t.data={info:`\u79FB\u9664\u534F\u4F5C\u8005${r}\u6210\u529F`}:t.data={info:`\u79FB\u9664\u534F\u4F5C\u8005${r}\u5931\u8D25`},t}catch(t){throw new Error(`\u79FB\u9664\u534F\u4F5C\u8005${r}\u5931\u8D25: ${t.message}`)}}async delete_collaborator(e){return this.remove_collaborator(e)}async get_repo_visibility(e){try{let s,o;if("url"in e){let r=e.url.trim(),t=f(r);s=t?.owner,o=t?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);return (await this.get_repo_info({owner:s,repo:o})).data.visibility}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u53EF\u89C1\u6027\u5931\u8D25: ${s.message}`)}}async get_repo_default_branch(e){try{let s,o;if("url"in e){let r=e.url.trim(),t=f(r);s=t?.owner,o=t?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);return (await this.get_repo_info({owner:s,repo:o})).data.default_branch}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u9ED8\u8BA4\u5206\u652F\u5931\u8D25: ${s.message}`)}}async get_repo_main_language(e){try{let s,o;if("url"in e){let r=e.url.trim(),t=f(r);s=t?.owner,o=t?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);return (await this.get_repo_info({owner:s,repo:o})).data.language}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5931\u8D25: ${s.message}`)}}};});var nt={};P(nt,{User:()=>G});var G,de=h(()=>{T();k();G=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_user_info(e){let s=e.access_token??this.userToken;if(!e.username)throw new Error(be);if(!s?.startsWith("ghu_"))throw new Error(x);try{this.setRequestConfig({token:s});let o=await this.get(`/users/${e.username}`);if(o.statusCode===401)throw new Error(d);if(o.statusCode===404)throw new Error(q);return o.data&&(o.data={id:o.data.id,login:o.data.login,name:o.data.name||null,type:lodashEs.capitalize(o.data.type.toLowerCase()),html_url:o.data.html_url,avatar_url:o.data.avatar_url,company:o.data.company||null,email:o.data.email||null,bio:o.data.bio||null,blog:o.data.blog||null,followers:o.data.followers,following:o.data.following}),o}catch(o){throw new Error(`\u83B7\u53D6\u7528\u6237\u6216\u7EC4\u7EC7\u4FE1\u606F\u5931\u8D25: ${o.message}`)}}async get_user_info_by_user_id(e){let s=e.access_token??this.userToken;if(!e.user_id)throw new Error(Ce);if(!s?.startsWith("ghu_"))throw new Error(x);try{this.setRequestConfig({token:this.userToken});let o=await this.get(`/user/${e.user_id}`);if(o.statusCode===401)throw new Error(d);if(o.statusCode===404)throw new Error($);return o.data&&(o.data={id:o.data.id,login:o.data.login,name:o.data.name||null,type:lodashEs.capitalize(o.data.type.toLowerCase()),html_url:o.data.html_url,avatar_url:o.data.avatar_url,company:o.data.company||null,email:o.data.email||null,bio:o.data.bio||null,blog:o.data.blog||null,followers:o.data.followers,following:o.data.following}),o}catch(o){throw new Error(`\u901A\u8FC7\u7528\u6237id\u83B7\u53D6\u7528\u6237${e.user_id}\u4FE1\u606F\u5931\u8D25: ${o.message}`)}}async get_user_info_by_auth(e){let s=e?.access_token??this.userToken;if(!e||!s)throw new Error(I);try{this.setRequestConfig({token:s});let o=await this.get("/user");switch(o.statusCode){case 401:throw new Error(d);case 404:throw new Error($)}return o.data&&(o.data={id:o.data.id,login:o.data.login,name:o.data.name||null,type:lodashEs.capitalize(o.data.type.toLowerCase()),html_url:o.data.html_url,avatar_url:o.data.avatar_url,company:o.data.company||null,email:o.data.email||null,bio:o.data.bio||null,blog:o.data.blog||null,followers:o.data.followers,following:o.data.following}),o}catch(o){throw new Error(`\u83B7\u53D6\u6388\u6743\u7528\u6237\u4FE1\u606F\u5931\u8D25: ${o.message}`)}}async get_user_info_by_token(e){return this.get_user_info_by_auth(e)}async get_user_contribution(e){try{if(!e.username)throw new Error(A);if((await this.get_user_info({username:e.username})).data.type==="Organization")throw new Error(`${ve}\u83B7\u53D6\u8D21\u732E\u65E5\u5386`);this.setRequestConfig({url:this.BaseUrl});let o=await this.get(`/${e.username}`,{action:"show",controller:"profiles",tab:"contributions",user_id:e.username},{"X-Requested-With":"XMLHttpRequest"});if(o.statusCode===404)throw new Error(A);let r=await Qe(o.data);return {...o,data:r}}catch(s){throw new Error(`\u83B7\u53D6\u7528\u6237${e.username}\u8D21\u732E\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}async get_user_id(){return (await this.get_user_info_by_auth({})).data.id}async get_username(){return (await this.get_user_info_by_auth()).data.login}async get_nickname(){return (await this.get_user_info_by_auth()).data.name}async get_user_email(){return (await this.get_user_info_by_auth()).data.email}async get_avatar_url(){return (await this.get_user_info_by_auth()).data.avatar_url}};});var it={};P(it,{Org:()=>j});var j,me=h(()=>{T();k();j=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_org_info(e){if(!e.org)throw new Error(Te);try{this.setRequestConfig({token:this.userToken});let s=await this.get(`/orgs/${e.org}`);if(s.statusCode===404)throw new Error(S);return s.data&&(s.data={id:s.data.id,login:s.data.login,name:s.data.name,avatar_url:s.data.avatar_url,description:s.data.description,html_url:s.data.html_url}),s}catch(s){throw new Error(`\u83B7\u53D6\u7EC4\u7EC7${e.org}\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}};});var ut={};P(ut,{WebHook:()=>F});var F,ce=h(()=>{T();k();F=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async check_webhook_signature(e){let s=e.secret??this.WebHook_Secret;if(!s||!e.payload||!e.signature)throw new Error(g);if(!e.signature.startsWith("sha256="))throw new Error(Se);let o=false,r="error",t=400,a=Q,n;try{let i=lt__default.default.createHmac("sha256",s),l=typeof e.payload=="string"?e.payload:JSON.stringify(e.payload);i.update(l,"utf8");let _=i.digest("hex"),c=e.signature.replace("sha256=","");lt__default.default.timingSafeEqual(Buffer.from(_),Buffer.from(c))?(o=!0,r="ok",t=200,a="\u8BF7\u6C42\u6210\u529F",n={info:He}):(o=!1,r="error",t=403,a="\u8BF7\u6C42\u5931\u8D25",n={info:Q});}catch(i){throw new Error(`\u8BF7\u6C42\u9A8C\u8BC1WebHook\u7B7E\u540D\u5931\u8D25: ${i.message}`)}return Promise.resolve({success:o,status:r,statusCode:t,msg:a,data:n})}};});var J;exports.GitHubClient=void 0;var k=h(()=>{T();se();oe();J="github",exports.GitHubClient=class{BaseUrl;ApiUrl;jwtToken;userToken;format;Private_Key;Client_ID;Client_Secret;WebHook_Secret;currentRequestConfig;proxy;constructor(e){this.Private_Key=e.Private_Key,this.Client_ID=e.Client_ID,this.Client_Secret=e.Client_Secret,this.WebHook_Secret=e.WebHook_Secret,this.jwtToken=this.generate_jwt(),this.BaseUrl=ae(J),this.ApiUrl=re(J),this.userToken=null,this.currentRequestConfig={url:this.ApiUrl,token:null,tokenType:"Bearer"},this.format=e.format??false;}async get_app(){let{App:e}=await Promise.resolve().then(()=>(ge(),pt));return this.app=new e(this),this.app}async get_auth(){let{Auth:e}=await Promise.resolve().then(()=>(ne(),tt));return this.auth=new e(this),this.auth}async get_commit(){let{Commit:e}=await Promise.resolve().then(()=>(ie(),at));return this.commit=new e(this),this.commit}async get_issue(){let{Issue:e}=await Promise.resolve().then(()=>(le(),st));return this.issue=new e(this),this.issue}async get_repo(){let{Repo:e}=await Promise.resolve().then(()=>(ue(),ot));return this.repo=new e(this),this.repo}async get_user(){let{User:e}=await Promise.resolve().then(()=>(de(),nt));return this.user=new e(this),this.user}async get_org(){let{Org:e}=await Promise.resolve().then(()=>(me(),it));return this.org=new e(this),this.org}async get_webhook(){let{WebHook:e}=await Promise.resolve().then(()=>(ce(),ut));return this.webhook=new e(this),this.webhook}setProxy(e){if(e?.address){let s=new url.URL(e.address);if(!["http:","https:","socks:"].includes(s.protocol))throw new Error(Re);e.address=e.address.replace(/\/$/,"");}e?.type==="common"&&(this.BaseUrl=ae(J,e.address),this.ApiUrl=re(J,e.address)),this.proxy=e;}setToken(e){if(!e.startsWith("ghu_"))throw console.log("token \u5FC5\u987B\u4EE5 ghu_ \u5F00\u5934"),this.userToken=null,new Error(x);return this.userToken=e,this}generate_jwt(){let e=this.Private_Key,s={exp:Math.floor(Date.now()/1e3)+10*60,iat:Math.floor(Date.now()/1e3),iss:this.Client_ID};return Pt__default.default.sign(s,e,{algorithm:"RS256"})}setRequestConfig(e){e.url&&(this.currentRequestConfig.url=e.url),e.token&&(this.currentRequestConfig.token=e.token),e.tokenType&&(this.currentRequestConfig.tokenType=e.tokenType);}createRequest(){let{url:e,token:s,tokenType:o}=this.currentRequestConfig,r=this.proxy?.type!=="common"?this.proxy:null,t={"X-GitHub-Api-Version":"2022-11-28",Accept:"application/vnd.github+json"};return new B(e,o,s??null,r,t)}async get(e,s,o){try{let t=await this.createRequest().get(e,s,o);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(r){throw new Error(`GET \u8BF7\u6C42${e}\u5931\u8D25: ${r.message}`)}}async post(e,s,o){try{let t=await this.createRequest().post(e,s,o);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(r){throw new Error(`POST \u8BF7\u6C42${e}\u5931\u8D25: ${r.message}`)}}async patch(e,s=null,o,r){try{let a=await this.createRequest().patch(e,s,o,r);if((a.statusCode===403||a.statusCode===429)&&a.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:a.success,status:a.success?"ok":"error",statusCode:a.statusCode,msg:a.msg,data:a.data}}catch(t){throw new Error(`PATCH \u8BF7\u6C42${e}\u5931\u8D25: ${t.message}`)}}async put(e,s,o){try{let t=await this.createRequest().put(e,s,o);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(r){throw new Error(`PUT \u8BF7\u6C42${e}\u5931\u8D25: ${r.message}`)}}async delete(e,s=null,o,r){try{let a=await this.createRequest().delete(e,s,o,r);if((a.statusCode===403||a.statusCode===429)&&a.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:a.success,status:a.success?"ok":"error",statusCode:a.statusCode,msg:a.msg,data:a.data}}catch(t){throw new Error(`DELETE \u8BF7\u6C42${e}\u5931\u8D25: ${t.message}`)}}};});var pt={};P(pt,{App:()=>K});var K,ge=h(()=>{T();k();K=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_app_info(e){let s=e.access_token??this.userToken;if(!e.app_slug)throw new Error(g);if(!s)throw new Error(I);try{this.setRequestConfig({token:s});let o=await this.get(`/apps/${e.app_slug}`);return o.statusCode===200&&(o.data={id:o.data.id,name:o.data.name,client_id:o.data.client_id,slug:o.data.slug,owner:{id:o.data.owner.id,login:o.data.owner.login,name:o.data.owner.name,email:o.data.owner.email,html_url:o.data.owner.html_url,avatar_url:o.data.owner.avatar_url,type:lodashEs.capitalize(o.data.owner.type.toLowerCase())},description:o.data.description,external_url:o.data.external_url,html_url:o.data.html_url,permissions:o.data.permissions,events:o.data.events,created_at:o.data.created_at,updated_at:o.data.updated_at}),o}catch(o){throw new Error(`\u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${o.message}`)}}async get_app_info_by_auth(){try{this.setRequestConfig({url:this.ApiUrl,token:this.jwtToken});let e=await this.get("/app");return e.statusCode===200&&(e.data={id:e.data.id,name:e.data.name,client_id:e.data.client_id,slug:e.data.slug,owner:{id:e.data.owner.id,login:e.data.owner.login,name:e.data.owner.name,email:e.data.owner.email,html_url:e.data.owner.html_url,avatar_url:e.data.owner.avatar_url,type:lodashEs.capitalize(e.data.owner.type.toLowerCase())},description:e.data.description,external_url:e.data.external_url,html_url:e.data.html_url,permissions:e.data.permissions,events:e.data.events,created_at:e.data.created_at,updated_at:e.data.updated_at}),e}catch(e){throw new Error(`\u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${e.message}`)}}async get_app_installation_by_repo(e){let s,o;try{if(this.setRequestConfig({token:this.jwtToken}),"url"in e){let t=e.url.trim(),a=f(t);s=a?.owner,o=a?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);let r=await this.get(`/repos/${s}/${o}/installation`);switch(r.statusCode){case 404:throw new Error(C);case 301:throw new Error(Ne)}return r.data&&(r.data={id:r.data.id,html_url:r.data.html_url,app_id:r.data.app_id,app_slug:r.data.app_slug,target_id:r.data.target_id,target_type:r.data.target_type,account:r.data.account?{id:r.data.account.id,login:r.data.account.login,name:r.data.account.name,email:r.data.account.email,html_url:r.data.account.html_url,avatar_url:r.data.account.avatar_url,type:lodashEs.capitalize(r.data.account.type.toLowerCase())}:null,repository_selection:r.data.repository_selection,access_tokens_url:r.data.access_tokens_url,repositories_url:r.data.repositories_url,permissions:r.data.permissions,events:r.data.events,created_at:r.data.created_at,updated_at:r.data.updated_at}),r}catch(r){throw new Error(`\u83B7\u53D6\u5B58\u50A8\u5E93\u5B89\u88C5\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async create_install_link(e){try{let s=new URL(`apps/${await this.get_app_name()}/installations/new`,this.BaseUrl);return s.search=new URLSearchParams({...e&&{state:e}}).toString(),s.toString()}catch(s){throw new Error(`\u751F\u6210\u5E94\u7528\u5B89\u88C5\u94FE\u63A5\u5931\u8D25: ${s.message}`)}}async create_config_install_link(e){try{let s=new URL(`apps/${await this.get_app_name()}/installations/new`,this.BaseUrl);return s.search=new URLSearchParams({...e&&{state:e}}).toString(),s.toString()}catch(s){throw new Error(`\u751F\u6210\u5E94\u7528\u914D\u7F6E\u94FE\u63A5\u5931\u8D25: ${s.message}`)}}async get_app_name(){return (await this.get_app_info_by_auth()).data.name}};});T();se();oe();var he={};P(he,{App:()=>K,Auth:()=>H,Commit:()=>z,GitHubClient:()=>exports.GitHubClient,Issue:()=>D,Org:()=>j,Repo:()=>W,User:()=>G,WebHook:()=>F});ge();ne();k();ie();le();me();ue();de();ce();var ye=class{github;constructor(e){if(!e.github)throw new Error("GitHub \u5BA2\u6237\u7AEF\u672A\u914D\u7F6E");this.github=new exports.GitHubClient(e.github);}};var _a=ye;exports.Client=ye;exports.create_state_id=Tt;exports.default=_a;exports.formatDate=w;exports.get_langage_color=Z;exports.get_relative_time=yt;exports.github=he;
|
@@ -0,0 +1,3 @@
|
|
1
|
+
import je from'path';import {URL as URL$1,fileURLToPath}from'url';import Ve from'fs';import ct from'color-convert';import O from'dayjs';import gt from'dayjs/plugin/relativeTime.js';import _t from'git-url-parse';import ht from'language-colors';import {v4}from'uuid';import M from'axios';import {HttpProxyAgent}from'http-proxy-agent';import {HttpsProxyAgent}from'https-proxy-agent';import {SocksProxyAgent}from'socks-proxy-agent';import {capitalize}from'lodash-es';import lt from'crypto';import Pt from'jsonwebtoken';var dt=Object.defineProperty;var h=(u,e)=>()=>(u&&(e=u(u=0)),e);var P=(u,e)=>{for(var s in e)dt(u,s,{get:e[s],enumerable:true});};var V,I,we,U,E,fe,be,Te,y,g,Re,N,Ce,A,x,ke,Pe,Y,Ee,d,Ie,ve,Ae,xe,b,R,$e,Me,Le,Ue,S,q,C,Ne,X,$,Se,Q,v,qe=h(()=>{V="\u55B5\u545C~ \u6388\u6743\u7801\u4E0D\u80FD\u4E3A\u7A7A",I="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u4E0D\u80FD\u4E3A\u7A7A",we="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A\u54E6",U="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",E="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",fe="\u55B5\u545C~ \u8BAE\u9898\u6807\u9898\u4E0D\u80FD\u4E3A\u7A7A",be="\u55B5\u545C~ \u7EC4\u7EC7\u540D\u6216\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A",Te="\u55B5\u545C~ \u7EC4\u7EC7\u540D\u4E0D\u80FD\u4E3A\u7A7A",y="\u55B5\u545C~ \u4ED3\u5E93\u62E5\u6709\u8005\u6216\u4ED3\u5E93\u540D\u4E0D\u80FD\u4E3A\u7A7A",g="\u55B5\u545C~ \u53C2\u6570\u597D\u50CF\u4E0D\u592A\u5BF9\u5462",Re="\u55B5\u545C~ \u4EE3\u7406\u5730\u5740\u683C\u5F0F\u4E0D\u6B63\u786E\u54E6",N="\u55B5\u545C~ \u8FD9\u4E2A\u5B50\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",Ce="\u55B5\u545C~ \u7528\u6237ID\u4E0D\u80FD\u4E3A\u7A7A",A="\u55B5\u545C~ \u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A",x="\u55B5\u545C~ \u8FD9\u4E2A\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",ke="\u55B5\u545C~ \u8FD9\u4E2A\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",Pe="\u55B5\u545C~ \u6743\u9650\u4E0D\u6B63\u786E\uFF0C\u8BF7\u68C0\u67E5\u6743\u9650",Y="\u55B5\u545C~ \u8FD9\u4E2A\u5237\u65B0\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",Ee="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5DF2\u8FC7\u671F",d="\u55B5\u545C~ \u8BBF\u95EE\u88AB\u62D2\u7EDD\u5566\uFF0C\u53EF\u80FD\u662F\u4EE4\u724C\u8FC7\u671F\u4E86\u6216\u6743\u9650\u4E0D\u8DB3",Ie="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u5931\u8D25",ve="\u55B5\u545C~ \u7EC4\u7EC7\u8D26\u53F7\u6682\u4E0D\u652F\u6301",Ae="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u4E0D\u5B58\u5728\u54E6",xe="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",b="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u4E0D\u5B58\u5728\u54E6",R="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u4E0D\u5B58\u5728\u54E6",$e="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u5DF2\u88AB\u79FB\u52A8",Me="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u9501\u5B9A\u5931\u8D25\u54E6",Le="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u521B\u5EFA\u5931\u8D25\u54E6",Ue="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u89E3\u9501\u5931\u8D25\u54E6",S="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u4E0D\u5B58\u5728\u54E6",q="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u6216\u7528\u6237\u4E0D\u5B58\u5728\u54E6",C="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",Ne="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u5DF2\u88AB\u79FB\u52A8",X="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u4E0D\u5B58\u5728\u6216\u8BBF\u95EE\u88AB\u62D2\u7EDD\u5566\uFF0C\u53EF\u80FD\u662F\u4EE4\u724C\u8FC7\u671F\u4E86\u6216\u6743\u9650\u4E0D\u8DB3",$="\u55B5\u545C~ \u8FD9\u4E2A\u7528\u6237\u4E0D\u5B58\u5728\u54E6",Se="\u55B5\u545C~ WebHook \u7B7E\u540D\u683C\u5F0F\u4E0D\u6B63\u786E",Q="\u55B5\u545C~ WebHook \u7B7E\u540D\u9A8C\u8BC1\u5931\u8D25",v="\u55B5\u545C~ \u8BBF\u95EE\u901F\u7387\u53D7\u9650\u5566 \u8BF7\u7B49\u5F851\u5C0F\u65F6\u540E\u518D\u8BD5 \u6216 \u4F7F\u7528\u8BBF\u95EE\u4EE4\u724C\u63D0\u5347\u9650\u989D";});var Oe,Be,He,ze,De,We,Ge=h(()=>{Oe="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u6210\u529F",Be="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u6709\u6548",He="\u55B5\u545C~ WebHook \u7B7E\u540D\u6210\u529F",ze="\u55B5\u545C~ \u8BAE\u9898\u9501\u5B9A\u6210\u529F",De="\u55B5\u545C~ \u8BAE\u9898\u89E3\u9501\u6210\u529F",We="\u55B5\u545C~ \u8BAE\u9898\u8BC4\u8BBA\u521B\u5EFA\u6210\u529F";});var Fe,Je,Ke=h(()=>{Fe=fileURLToPath(import.meta.url).replace(/\\/g,"/").replace(/\/$/,""),Je=je.resolve(Fe,"../../").replace(/\\/g,"/").replace(/\/$/,""),je.resolve(Fe,"../").replace(/\\/g,"/").replace(/\/$/,"");});function Ye(u="",e=""){e=e??Je;try{let s=`${e}/${u}`;if(!Ve.existsSync(s))return console.warn(`\u6587\u4EF6\u4E0D\u5B58\u5728: ${s}`),{};let o=Ve.readFileSync(s,"utf8");return JSON.parse(o)}catch(s){return console.error(`\u8BFB\u53D6 JSON \u6587\u4EF6\u5931\u8D25: ${u}`,s),{}}}async function Xe(u="zh-cn"){let e=String(u).toLowerCase();await import(`dayjs/locale/${e}.js`),O.locale(e);}async function w(u,e="zh-cn",s="YYYY-MM-DD HH:mm:ss"){return await Xe(e),O(u).format(s)}async function yt(u,e="zh-cn"){return await Xe(e),O.extend(gt),O(u).fromNow()}function f(u){let e=/^https?:\/\/[^/]+\/(?:https?:\/\/)?([^/]+\/[^/]+\/[^/]+)/,s=u.match(e);if(s){let r=s[1];u=r.startsWith("https")?r:`https://${r}`;}let o=_t(u);return {owner:o.owner,repo:o.name}}function wt(u){if(!Array.isArray(u))throw new Error("RGB\u503C\u5FC5\u987B\u662F\u6570\u7EC4\u7C7B\u578B");if(u.length!==3)throw new Error("RGB\u6570\u7EC4\u5FC5\u987B\u5305\u542B\u4E14\u4EC5\u5305\u542B3\u4E2A\u503C");if(!u.every(e=>Number.isInteger(e)&&e>=0&&e<=255))throw new Error("RGB\u503C\u5FC5\u987B\u90FD\u662F0-255\u4E4B\u95F4\u7684\u6574\u6570");return `#${ct.rgb.hex(u)}`}function Z(u){return u=String(u).toLowerCase(),wt(ht[u].color)??"#cccccc"}async function ft(u,e){return Promise.resolve(Array.from({length:Math.ceil(u.length/e)},(s,o)=>u.slice(o*e,o*e+e)))}async function Qe(u){let e=/data-date="(.*?)" id="contribution-day-component/g,s=/<tool-tip .*?class="sr-only position-absolute">(.*?) contribution/g,o=Array.from(u.matchAll(e),n=>n[1]),r=Array.from(u.matchAll(s),n=>String(n[1]).toLowerCase()==="no"?0:parseInt(n[1]));if(!o.length||!r.length)return {total:0,contributions:[]};let t=o.map((n,i)=>({date:n,count:r[i]})).sort((n,i)=>n.date.localeCompare(i.date)),a=await ft(t,7);return {total:r.reduce((n,i)=>n+i,0),contributions:a}}var ee=h(()=>{Ke();});var te,Ze=h(()=>{ee();te=Ye("package.json");});var T=h(()=>{qe();Ge();ee();Ze();});function re(u,e){let s={github:"api.github.com",gitee:"gitee.com/api/v5",gitcode:"api.gitcode.com/api/v5"};return `https://${e?.replace(/\/$/,"")??""}/${s[u??"github"]}`.replace(/\/$/,"")}function ae(u,e){let s={github:"github.com",gitee:"gitee.com",gitcode:"gitcode.com"};return `https://${e?.replace(/\/$/,"")??""}/${s[u??"github"]}`.replace(/\/$/,"")}async function Tt(){return Promise.resolve(v4().replace(/-/g,""))}var se=h(()=>{});var B,oe=h(()=>{T();B=class{baseUrl;tokenType;authorization;proxy;defaultHeaders;constructor(e,s="Bearer",o,r,t){this.baseUrl=e.replace(/\/$/,""),this.authorization=o,this.proxy=r,this.tokenType=s,this.defaultHeaders=t;}async request(e,s,o,r,t){let a=`${this.baseUrl}/${s}`.replace(/\/+/g,"/"),n={headers:this.createHeaders(t),params:o,validateStatus:()=>true};if(this.proxy){let i=this.proxy.type,l=this.proxy.address;switch(i){case "http":n.httpAgent=new HttpProxyAgent(l),n.httpsAgent=new HttpsProxyAgent(l);break;case "https":n.httpsAgent=new HttpsProxyAgent(l);break;case "socks":{let _=new SocksProxyAgent(l);n.httpAgent=_,n.httpsAgent=_;break}}}try{let i;switch(e){case "get":i=await M.get(a,n);break;case "post":i=await M.post(a,r,n);break;case "patch":i=await M.patch(a,r,n);break;case "put":i=await M.put(a,r,n);break;case "delete":i=await M.delete(a,{...n,data:r});break;default:throw new Error(`\u4E0D\u652F\u6301\u7684\u8BF7\u6C42\u65B9\u6CD5: ${e}`)}let l=Object.fromEntries(Object.entries(i.headers).filter(([_,c])=>c!==void 0).map(([_,c])=>[_.toLowerCase(),c]));return {success:!0,statusCode:i.status,headers:l,data:i.data,msg:i.status>=200&&i.status<500?"\u8BF7\u6C42\u6210\u529F":"\u8BF7\u6C42\u5F02\u5E38"}}catch(i){let l=i,_=l.response?.headers?Object.fromEntries(Object.entries(l.response.headers).filter(([c,L])=>L!==void 0).map(([c,L])=>[c,L])):{};return {success:false,statusCode:l.response?.status??500,headers:_,msg:l.message??"\u7F51\u7EDC\u8FDE\u63A5\u5931\u8D25",data:null}}}async get(e,s,o){return this.request("get",e,s,null,o)}async post(e,s,o,r){return this.request("post",e,s,o,r)}async patch(e,s=null,o,r){return this.request("patch",e,s,o,r)}async put(e,s,o,r){return this.request("put",e,s,o,r)}async delete(e,s=null,o,r){return this.request("delete",e,s,o,r)}createHeaders(e){let s={"Content-Type":"application/json","User-Agent":`${te.name}/v${te.version}`,...this.defaultHeaders??{}};if(this.authorization)if(this.tokenType==="Basic"){let o=Buffer.from(this.authorization).toString("base64");s.Authorization=`Basic ${o}`;}else this.tokenType==="Bearer"?s.Authorization=`Bearer ${this.authorization}`:s.Authorization=`${this.tokenType} ${this.authorization}`;return e&&Object.assign(s,e),s}};});var tt={};P(tt,{Auth:()=>H});var H,ne=h(()=>{T();k();H=class extends m{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async create_auth_link(e){try{let s=new URL("/login/oauth/authorize",this.BaseUrl);return s.search=new URLSearchParams({client_id:this.Client_ID,...e&&{state:e}}).toString(),Promise.resolve(s.toString())}catch(s){throw new Error(`\u751F\u6210\u6388\u6743\u94FE\u63A5\u5931\u8D25: ${s.message}`)}}async get_token_by_code(e){try{if(!e.code)throw new Error(V);return this.setRequestConfig({url:this.BaseUrl}),await this.post("login/oauth/access_token",{client_id:this.Client_ID,client_secret:this.Client_Secret,code:e.code},{Accept:"application/json"})}catch(s){throw new Error(`\u8BF7\u6C42\u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${s.message}`)}}async check_token_status(e){try{let s=e?.access_token??this.userToken;if(!s)throw new Error(I);if(!s.startsWith("ghu_"))throw new Error(ke);this.setRequestConfig({url:this.ApiUrl,tokenType:"Basic",token:`${this.Client_ID}:${this.Client_Secret}`});let o=await this.post(`/applications/${this.Client_ID}/token`,{access_token:s});if(o.data){let r=!(o.status==="ok"&&(o.statusCode===404||o.statusCode===422));o.data={success:r,info:r?Be:Ee};}return o}catch(s){throw new Error(`\u8BF7\u6C42\u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u72B6\u6001\u5931\u8D25: ${s.message}`)}}async refresh_token(e){try{if(!e.refresh_token)throw new Error(V);if(!e.refresh_token.startsWith("ghr_"))throw new Error(Y);this.setRequestConfig({url:this.BaseUrl});let s=await this.post("login/oauth/access_token",{client_id:this.Client_ID,client_secret:this.Client_Secret,grant_type:"refresh_token",refresh_token:e.refresh_token},{Accept:"application/json"}),o=s.status==="ok"&&s.statusCode===200&&!s.data.error,r=Ie;switch(s.data.error){case "bad_refresh_token":r=Y;break;case "unauthorized":r=d;break}if(s.data){if(!o)throw new Error(r);s.data={success:o,info:Oe,access_token:s.data.access_token,expires_in:s.data.expires_in??null,refresh_token:s.data.refresh_token??null,refresh_token_expires_in:s.data.refresh_token_expires_in??null,scope:s.data.scope,token_type:s.data.token_type};}return s}catch(s){throw new Error(`\u8BF7\u6C42\u5237\u65B0\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${s.message}`)}}};});var at={};P(at,{Commit:()=>z});var z,ie=h(()=>{T();k();z=class extends m{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_commit_info(e){try{this.setRequestConfig({token:this.userToken});let s,o,r,t;if("url"in e){r=e.url;let i=f(r);s=i?.owner,o=i?.repo;}else if("owner"in e&&"repo"in e)s=e.owner,o=e.repo;else throw new Error(g);e.sha?t=e.sha:t=await(await this.get_repo()).get_repo_default_branch({owner:s,repo:o});let a=await this.get(`/repos/${s}/${o}/commits/${t}`);switch(a.statusCode){case 401:throw new Error(d);case 404:throw new Error(xe);case 422:throw new Error(Ae)}let n=e.format??this.format;if(a.data){let i=a.data?.commit?.message??"",[l,..._]=i.split(`
|
2
|
+
`);a.data={url:a.data.url,sha:a.data.sha,html_url:a.data.html_url,comments_url:a.data.comments_url,commit:{url:a.data.commit.url,author:a.data.commit.author?{id:a.data.commit.author.id,login:a.data.commit.author.login,name:a.data.commit.author.name,avatar_url:a.data.commit.author.avatar_url,email:a.data.commit.author.email,html_url:a.data.commit.author.html_url,type:capitalize(String(a.data.commit.author.type).toLowerCase()),date:n?await w(a.data.commit.author.date):a.data.commit.author.date}:null,committer:a.data.commit.committer?{id:a.data.commit.committer.id,login:a.data.commit.committer.login,name:a.data.commit.committer.name,avatar_url:a.data.commit.committer.avatar_url,email:a.data.commit.committer.email,html_url:a.data.commit.committer.html_url,type:capitalize(String(a.data.commit.committer.type).toLowerCase()),date:n?await w(a.data.commit.committer.date):a.data.commit.committer.date}:null,message:a.data.commit.message,...n&&{title:l,body:_.join(`
|
3
|
+
`)},tree:{url:a.data.commit.tree.url,sha:a.data.commit.tree.sha}},parents:a.data.parents.map(c=>({sha:c.sha,url:c.url})),stats:{additions:a.data.stats.additions,deletions:a.data.stats.deletions,total:a.data.stats.total},files:a.data.files.map(c=>({sha:c.sha,filename:c.filename,status:c.status,additions:c.additions,deletions:c.deletions,changes:c.changes,blob_url:c.blob_url,raw_url:c.raw_url}))};}return a}catch(s){throw new Error(`\u83B7\u53D6\u63D0\u4EA4\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}};});var st={};P(st,{Issue:()=>D});var D,le=h(()=>{T();k();D=class extends m{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_issue_info(e){let s,o;try{if(this.setRequestConfig({token:this.userToken}),"url"in e){let t=e?.url?.trim(),a=f(t);s=a?.owner,o=a?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);let r=await this.get(`/repos/${s}/${o}/issues/${Number(e.issue_number)}`);switch(r.statusCode){case 404:throw new Error(R);case 301:throw new Error($e)}return r.data&&(r.data={id:r.data.id,html_url:r.data.html_url,number:r.data.number,comments:r.data.comments,state:r.data.state,state_reason:r.data.state_reason,title:r.data.title,body:r.data.body,user:r.data.user?{id:r.data.user.id,login:r.data.user.login,name:r.data.user.name,email:r.data.user.email,html_url:r.data.user.html_url,avatar_url:r.data.user.avatar_url,type:capitalize(r.data.user.type.toLowerCase())}:null,labels:r.data.labels?r.data.labels.map(t=>({id:t.id,name:t.name,color:t.color})):null,assignee:r.data.assignee?{id:r.data.assignee.id,login:r.data.assignee.login,name:r.data.assignee.name,email:r.data.assignee.email,html_url:r.data.assignee.html_url,avatar_url:r.data.assignee.avatar_url,type:capitalize(r.data.assignee.type.toLowerCase())}:null,milestone:r.data.milestone?{id:r.data.milestone.id,url:r.data.milestone.url,number:r.data.milestone.number,state:r.data.milestone.state,title:r.data.milestone.title,description:r.data.milestone.description,open_issues:r.data.milestone.open_issues,closed_issues:r.data.milestone.closed_issues,created_at:r.data.milestone.created_at,updated_at:r.data.milestone.updated_at,closed_at:r.data.milestone.closed_at,due_on:r.data.milestone.due_on}:null,closed_at:r.data.closed_at,created_at:r.data.created_at,updated_at:r.data.updated_at}),r}catch(r){throw new Error(`\u83B7\u53D6Issue\u8BE6\u60C5\u5931\u8D25: ${r.message}`)}}async get_repo_issue_list(e){let s,o;try{if(this.setRequestConfig({token:this.userToken}),"url"in e){let i=e?.url?.trim(),l=f(i);s=l?.owner,o=l?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);let{...r}=e,t={};r.milestone&&(t.milestone=r.milestone.toString()),r.state&&(t.state=r.state),r.assignee&&(t.assignee=r.assignee),r.creator&&(t.creator=r.creator),r.labels&&(t.labels=r.labels),r.sort&&(t.sort=r.sort),r.direction&&(t.direction=r.direction),r.since&&(t.since=r.since),r.per_page&&(t.per_page=r.per_page.toString()),r.page&&(t.page=r.page.toString());let a=`/repos/${s}/${o}/issues`,n=await this.get(a,t);if(n.statusCode===401)throw new Error(d);return n.data&&(n.data=n.data.map(i=>({id:i.id,html_url:i.html_url,number:i.number,comments:i.comments,state:i.state,state_reason:i.state_reason,title:i.title,body:i.body,user:i.user?{id:i.user.id,login:i.user.login,name:i.user.name,email:i.user.email,html_url:i.user.html_url,avatar_url:i.user.avatar_url,type:capitalize(i.user.type.toLowerCase())}:null,labels:i.labels?i.labels.map(l=>({id:l.id,name:l.name,color:l.color})):null,assignee:i.assignee?{id:i.assignee.id,login:i.assignee.login,name:i.assignee.name,email:i.assignee.email,html_url:i.assignee.html_url,avatar_url:i.assignee.avatar_url,type:capitalize(i.assignee.type.toLowerCase())}:null,milestone:i.milestone?{id:i.milestone.id,url:i.milestone.url,number:i.milestone.number,state:i.milestone.state,title:i.milestone.title,description:i.milestone.description,open_issues:i.milestone.open_issues,closed_issues:i.milestone.closed_issues,created_at:i.milestone.created_at,updated_at:i.milestone.updated_at,closed_at:i.milestone.closed_at,due_on:i.milestone.due_on}:null,closed_at:i.closed_at,created_at:i.created_at,updated_at:i.updated_at}))),n}catch(r){throw new Error(`\u83B7\u53D6\u4ED3\u5E93${s}/${o}\u7684Issue\u5217\u8868\u5931\u8D25: ${r.message}`)}}async create_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.title)throw new Error(fe);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,...r}=e,t={...r,...r.labels&&{labels:Array.isArray(r.labels)?r.labels:[r.labels]},...r.assignees&&{assignees:Array.isArray(r.assignees)?r.assignees:[r.assignees]}},a=await this.post(`/repos/${s}/${o}/issues`,t);switch(a.statusCode){case 403:throw new Error(d);case 301:throw new Error(C)}return a.data&&a.data&&(a.data={id:a.data.id,html_url:a.data.html_url,number:a.data.number,comments:a.data.comments,state:a.data.state,state_reason:a.data.state_reason,title:a.data.title,body:a.data.body,user:a.data.user?{id:a.data.user.id,login:a.data.user.login,name:a.data.user.name,email:a.data.user.email,html_url:a.data.user.html_url,avatar_url:a.data.user.avatar_url,type:capitalize(a.data.user.type.toLowerCase())}:null,labels:a.data.labels?a.data.labels.map(n=>({id:n.id,name:n.name,color:n.color})):null,assignee:a.data.assignee?{id:a.data.assignee.id,login:a.data.assignee.login,name:a.data.assignee.name,email:a.data.assignee.email,html_url:a.data.assignee.html_url,avatar_url:a.data.assignee.avatar_url,type:capitalize(a.data.assignee.type.toLowerCase())}:null,milestone:a.data.milestone?{id:a.data.milestone.id,url:a.data.milestone.url,number:a.data.milestone.number,state:a.data.milestone.state,title:a.data.milestone.title,description:a.data.milestone.description,open_issues:a.data.milestone.open_issues,closed_issues:a.data.milestone.closed_issues,created_at:a.data.milestone.created_at,updated_at:a.data.milestone.updated_at,closed_at:a.data.milestone.closed_at,due_on:a.data.milestone.due_on}:null,closed_at:a.data.closed_at,created_at:a.data.created_at,updated_at:a.data.updated_at}),a}catch(s){throw new Error(`\u521B\u5EFAIssue\u5931\u8D25: ${s.message}`)}}async update_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r,...t}=e,a={...t,...t.labels&&{labels:Array.isArray(t.labels)?t.labels:[t.labels]},...t.assignees&&{assignees:Array.isArray(t.assignees)?t.assignees:[t.assignees]}},n=await this.patch(`/repos/${s}/${o}/issues/${Number(r)}`,null,a);switch(n.statusCode){case 404:throw new Error(R);case 403:throw new Error(d);case 301:throw new Error(C)}return n.data&&n.data&&(n.data={id:n.data.id,html_url:n.data.html_url,number:n.data.number,comments:n.data.comments,state:n.data.state,state_reason:n.data.state_reason,title:n.data.title,body:n.data.body,user:n.data.user?{id:n.data.user.id,login:n.data.user.login,name:n.data.user.name,email:n.data.user.email,html_url:n.data.user.html_url,avatar_url:n.data.user.avatar_url,type:capitalize(n.data.user.type.toLowerCase())}:null,labels:n.data.labels?n.data.labels.map(i=>({id:i.id,name:i.name,color:i.color})):null,assignee:n.data.assignee?{id:n.data.assignee.id,login:n.data.assignee.login,name:n.data.assignee.name,email:n.data.assignee.email,html_url:n.data.assignee.html_url,avatar_url:n.data.assignee.avatar_url,type:capitalize(n.data.assignee.type.toLowerCase())}:null,milestone:n.data.milestone?{id:n.data.milestone.id,url:n.data.milestone.url,number:n.data.milestone.number,state:n.data.milestone.state,title:n.data.milestone.title,description:n.data.milestone.description,open_issues:n.data.milestone.open_issues,closed_issues:n.data.milestone.closed_issues,created_at:n.data.milestone.created_at,updated_at:n.data.milestone.updated_at,closed_at:n.data.milestone.closed_at,due_on:n.data.milestone.due_on}:null,closed_at:n.data.closed_at,created_at:n.data.created_at,updated_at:n.data.updated_at}),n}catch(s){throw new Error(`\u66F4\u65B0Issue\u5931\u8D25: ${s.message}`)}}async open_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r}=e,t=await this.patch(`/repos/${s}/${o}/issues/${r}`,null,{state:"open"});switch(t.statusCode){case 404:throw new Error(R);case 403:throw new Error(d);case 301:throw new Error(C)}return t.data&&t.data&&(t.data={id:t.data.id,html_url:t.data.html_url,number:t.data.number,comments:t.data.comments,state:t.data.state,state_reason:t.data.state_reason,title:t.data.title,body:t.data.body,user:t.data.user?{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url,type:capitalize(t.data.user.type.toLowerCase())}:null,labels:t.data.labels?t.data.labels.map(a=>({id:a.id,name:a.name,color:a.color})):null,assignee:t.data.assignee?{id:t.data.assignee.id,login:t.data.assignee.login,name:t.data.assignee.name,email:t.data.assignee.email,html_url:t.data.assignee.html_url,avatar_url:t.data.assignee.avatar_url,type:capitalize(t.data.assignee.type.toLowerCase())}:null,milestone:t.data.milestone?{id:t.data.milestone.id,url:t.data.milestone.url,number:t.data.milestone.number,state:t.data.milestone.state,title:t.data.milestone.title,description:t.data.milestone.description,open_issues:t.data.milestone.open_issues,closed_issues:t.data.milestone.closed_issues,created_at:t.data.milestone.created_at,updated_at:t.data.milestone.updated_at,closed_at:t.data.milestone.closed_at,due_on:t.data.milestone.due_on}:null,closed_at:t.data.closed_at,created_at:t.data.created_at,updated_at:t.data.updated_at}),t}catch(s){throw new Error(`\u6253\u5F00Issue\u5931\u8D25: ${s.message}`)}}async reopen_issue(e){return this.open_issue(e)}async close_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r}=e,t=await this.patch(`/repos/${s}/${o}/issues/${r}`,null,{state:"closed"});switch(t.statusCode){case 404:throw new Error(R);case 403:throw new Error(d);case 301:throw new Error(C)}return t.data&&t.data&&(t.data={id:t.data.id,html_url:t.data.html_url,number:t.data.number,comments:t.data.comments,state:t.data.state,state_reason:t.data.state_reason,title:t.data.title,body:t.data.body,user:t.data.user?{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url,type:capitalize(t.data.user.type.toLowerCase())}:null,labels:t.data.labels?t.data.labels.map(a=>({id:a.id,name:a.name,color:a.color})):null,assignee:t.data.assignee?{id:t.data.assignee.id,login:t.data.assignee.login,name:t.data.assignee.name,email:t.data.assignee.email,html_url:t.data.assignee.html_url,avatar_url:t.data.assignee.avatar_url,type:capitalize(t.data.assignee.type.toLowerCase())}:null,milestone:t.data.milestone?{id:t.data.milestone.id,url:t.data.milestone.url,number:t.data.milestone.number,state:t.data.milestone.state,title:t.data.milestone.title,description:t.data.milestone.description,open_issues:t.data.milestone.open_issues,closed_issues:t.data.milestone.closed_issues,created_at:t.data.milestone.created_at,updated_at:t.data.milestone.updated_at,closed_at:t.data.milestone.closed_at,due_on:t.data.milestone.due_on}:null,closed_at:t.data.closed_at,created_at:t.data.created_at,updated_at:t.data.updated_at}),t}catch(s){throw new Error(`\u5173\u95EDIssue\u5931\u8D25: ${s.message}`)}}async lock_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r,lock_reason:t}=e,a=await this.put(`/repos/${s}/${o}/issues/${Number(r)}`,{locked:!0,lock_reason:t});switch(a.statusCode){case 404:throw new Error(R);case 403:throw new Error(d);case 301:throw new Error(C)}let n;return a.statusCode===204?n=ze:n=Me,a.data={info:n},a}catch(s){throw new Error(`\u9501\u5B9AIssue${e.issue_number}\u5931\u8D25: ${s.message}`)}}async unlock_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r}=e,t=await this.delete(`/repos/${s}/${o}/issues/${r}/lock`);switch(t.statusCode){case 404:throw new Error(R);case 403:throw new Error(d);case 301:throw new Error(C)}let a;return t.statusCode===204?a=De:a=Ue,t.data={info:a},t}catch(s){throw new Error(`\u89E3\u9501Issue\u5931\u8D25: ${s.message}`)}}async get_repo_comments_list(e){if(!e.owner||!e.repo)throw new Error(y);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,...r}=e,t={};r.sort&&(t.sort=r.sort),r.sort&&r.direction&&(t.direction=r.direction),r.since&&(t.since=r.since),r.per_page&&(t.per_page=r.per_page.toString()),r.page&&(t.page=r.page.toString());let a=`/repos/${s}/${o}/issues/comments/`,n=await this.get(a,t);if(n.statusCode===404)throw new Error(b);return n.data&&(n.data=n.data.map(i=>({id:i.id,html_url:i.html_url,body:i.body,user:i.user?{id:i.user.id,login:i.user.login,name:i.user.name,email:i.user.email,html_url:i.user.html_url,avatar_url:i.user.avatar_url,type:capitalize(i.user.type.toLowerCase())}:null,created_at:i.created_at,updated_at:i.updated_at}))),n}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${s.message}`)}}async get_issue_comments_list(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(E);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r,...t}=e,a={};t.since&&(a.since=t.since),t.per_page&&(a.per_page=t.per_page.toString()),t.page&&(a.page=t.page.toString());let n=`/repos/${s}/${o}/issues/${Number(r)}/comments`,i=await this.get(n,a);if(i.statusCode===404)throw new Error(b);return i.data&&(i.data=i.data.map(l=>({id:l.id,html_url:l.html_url,body:l.body,user:l.user?{id:l.user.id,login:l.user.login,name:l.user.name,email:l.user.email,html_url:l.user.html_url,avatar_url:l.user.avatar_url,type:capitalize(l.user.type.toLowerCase())}:null,created_at:l.created_at,updated_at:l.updated_at}))),i}catch(s){throw new Error(`\u83B7\u53D6\u8BAE\u9898\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${s.message}`)}}async get_issue_comment_info(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.comment_id)throw new Error(U);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,comment_id:r}=e,t=await this.get(`/repos/${s}/${o}/issues/comments/${Number(r)}`);if(t.statusCode===404)throw new Error(b);return t.data&&(t.data={id:t.data.id,html_url:t.data.html_url,body:t.data.body,user:t.data.user?{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url,type:capitalize(t.data.user.type.toLowerCase())}:null,created_at:t.data.created_at,updated_at:t.data.updated_at}),t}catch(s){throw new Error(`\u83B7\u53D6\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}async create_issue_comment(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(b);if(!e.body)throw new Error(we);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r,body:t}=e,a=await this.post(`/repos/${s}/${o}/issues/${Number(r)}/comments`,{body:t});if(a.statusCode===404)throw new Error(b);return a.data&&(a.data={id:a.data.id,html_url:a.data.html_url,body:a.data.body,user:a.data.user?{id:a.data.user.id,login:a.data.user.login,name:a.data.user.name,email:a.data.user.email,html_url:a.data.user.html_url,avatar_url:a.data.user.avatar_url,type:capitalize(a.data.user.type.toLowerCase())}:null,created_at:a.data.created_at,updated_at:a.data.updated_at}),a}catch(s){throw new Error(`\u521B\u5EFA\u8BAE\u9898\u8BC4\u8BBA\u5931\u8D25: ${s.message}`)}}async update_issue_comment(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.comment_id)throw new Error(U);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,comment_id:r,...t}=e,a=await this.patch(`/repos/${s}/${o}/issues/comments/${Number(r)}`,null,t);if(a.statusCode===404)throw new Error(b);return a.data&&(a.data={id:a.data.id,html_url:a.data.html_url,body:a.data.body,user:a.data.user?{id:a.data.user.id,login:a.data.user.login,name:a.data.user.name,email:a.data.user.email,html_url:a.data.user.html_url,avatar_url:a.data.user.avatar_url,type:capitalize(a.data.user.type.toLowerCase())}:null,created_at:a.data.created_at,updated_at:a.data.updated_at}),a}catch(s){throw new Error(`\u66F4\u65B0\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}async remove_issue_comment(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.comment_id)throw new Error(U);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,comment_id:r}=e,t=await this.delete(`/repos/${s}/${o}/issues/comments/${Number(r)}`);if(t.statusCode===404)throw new Error(b);let a;return t.statusCode===204?a=We:a=Le,t.data={info:a},t}catch(s){throw new Error(`\u5220\u9664\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}async delete_issue_comment(e){return this.remove_issue_comment(e)}async get_sub_issue_list(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(b);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r,...t}=e,a={};t.per_page&&(a.per_page=t.per_page.toString()),t.page&&(a.page=t.page.toString());let n=`/repos/${s}/${o}/issues/${Number(r)}/sub_issues`,i=await this.get(n,a);if(i.statusCode===404)throw new Error(R);return i.data&&(i.data=i.data.map(l=>({id:l.id,html_url:l.html_url,number:l.number,comments:l.comments,state:l.state,state_reason:l.state_reason,title:l.title,body:l.body,user:l.user?{id:l.user.id,login:l.user.login,name:l.user.name,email:l.user.email,html_url:l.user.html_url,avatar_url:l.user.avatar_url,type:capitalize(l.user.type.toLowerCase())}:null,labels:l.labels?l.labels.map(_=>({id:_.id,name:_.name,color:_.color})):null,assignee:l.assignee?{id:l.assignee.id,login:l.assignee.login,name:l.assignee.name,email:l.assignee.email,html_url:l.assignee.html_url,avatar_url:l.assignee.avatar_url,type:capitalize(l.assignee.type.toLowerCase())}:null,milestone:l.milestone?{id:l.milestone.id,url:l.milestone.url,number:l.milestone.number,state:l.milestone.state,title:l.milestone.title,description:l.milestone.description,open_issues:l.milestone.open_issues,closed_issues:l.milestone.closed_issues,created_at:l.milestone.created_at,updated_at:l.milestone.updated_at,closed_at:l.milestone.closed_at,due_on:l.milestone.due_on}:null,closed_at:l.closed_at,created_at:l.created_at,updated_at:l.updated_at}))),i}catch(s){throw new Error(`\u83B7\u53D6\u5B50\u8BAE\u9898\u5217\u8868\u5931\u8D25: ${s.message}`)}}async add_sub_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(b);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r,sub_issue_id:t,replace_parent:a}=e,n=await this.post(`/repos/${s}/${o}/issues/${r}/sub_issues`,{sub_issue_id:t,replace_parent:a});if(n.statusCode===404)throw new Error(R);return n.data&&(n.data={id:n.data.id,html_url:n.data.html_url,number:n.data.number,comments:n.data.comments,state:n.data.state,state_reason:n.data.state_reason,title:n.data.title,body:n.data.body,user:n.data.user?{id:n.data.user.id,login:n.data.user.login,name:n.data.user.name,email:n.data.user.email,html_url:n.data.user.html_url,avatar_url:n.data.user.avatar_url,type:capitalize(n.data.user.type.toLowerCase())}:null,labels:n.data.labels?n.data.labels.map(i=>({id:i.id,name:i.name,color:i.color})):null,assignee:n.data.assignee?{id:n.data.assignee.id,login:n.data.assignee.login,name:n.data.assignee.name,email:n.data.assignee.email,html_url:n.data.assignee.html_url,avatar_url:n.data.assignee.avatar_url,type:capitalize(n.data.assignee.type.toLowerCase())}:null,milestone:n.data.milestone?{id:n.data.milestone.id,url:n.data.milestone.url,number:n.data.milestone.number,state:n.data.milestone.state,title:n.data.milestone.title,description:n.data.milestone.description,open_issues:n.data.milestone.open_issues,closed_issues:n.data.milestone.closed_issues,created_at:n.data.milestone.created_at,updated_at:n.data.milestone.updated_at,closed_at:n.data.milestone.closed_at,due_on:n.data.milestone.due_on}:null,closed_at:n.data.closed_at,created_at:n.data.created_at,updated_at:n.data.updated_at}),n}catch(s){throw new Error(`\u6DFB\u52A0\u5B50\u8BAE\u9898\u5931\u8D25: ${s.message}`)}}async remove_sub_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(b);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r,sub_issue_id:t}=e,a=await this.delete(`/repos/${s}/${o}/issues/${r}/sub_issue`,null,{sub_issue_id:t});if(a.statusCode===404)throw new Error(R);return a.data&&(a.data={id:a.data.id,html_url:a.data.html_url,number:a.data.number,comments:a.data.comments,state:a.data.state,state_reason:a.data.state_reason,title:a.data.title,body:a.data.body,user:a.data.user?{id:a.data.user.id,login:a.data.user.login,name:a.data.user.name,email:a.data.user.email,html_url:a.data.user.html_url,avatar_url:a.data.user.avatar_url,type:capitalize(a.data.user.type.toLowerCase())}:null,labels:a.data.labels?a.data.labels.map(n=>({id:n.id,name:n.name,color:n.color})):null,assignee:a.data.assignee?{id:a.data.assignee.id,login:a.data.assignee.login,name:a.data.assignee.name,email:a.data.assignee.email,html_url:a.data.assignee.html_url,avatar_url:a.data.assignee.avatar_url,type:capitalize(a.data.assignee.type.toLowerCase())}:null,milestone:a.data.milestone?{id:a.data.milestone.id,url:a.data.milestone.url,number:a.data.milestone.number,state:a.data.milestone.state,title:a.data.milestone.title,description:a.data.milestone.description,open_issues:a.data.milestone.open_issues,closed_issues:a.data.milestone.closed_issues,created_at:a.data.milestone.created_at,updated_at:a.data.milestone.updated_at,closed_at:a.data.milestone.closed_at,due_on:a.data.milestone.due_on}:null,closed_at:a.data.closed_at,created_at:a.data.created_at,updated_at:a.data.updated_at}),a}catch(s){throw new Error(`\u5220\u9664\u5B50\u8BAE\u9898\u5931\u8D25: ${s.message}`)}}async delete_sub_issue(e){return this.remove_sub_issue(e)}async reprioritize_sub_issue(e){if(!e.owner||!e.repo)throw new Error(y);if(!e.issue_number)throw new Error(b);if(!e.sub_issue_id)throw new Error(N);try{this.setRequestConfig({token:this.userToken});let{owner:s,repo:o,issue_number:r,sub_issue_id:t,...a}=e,n={};a.before_id&&!a.after_id&&(n.before_id=a.before_id.toString()),a.after_id&&!a.before_id&&(n.after_id=a.after_id.toString());let i=`/repos/${s}/${o}/issues/${r}/sub_issues/priority`,l=await this.patch(i,n,{sub_issue_id:String(t)});if(l.statusCode===404)throw new Error(R);return l.data&&(l.data={id:l.data.id,html_url:l.data.html_url,number:l.data.number,comments:l.data.comments,state:l.data.state,state_reason:l.data.state_reason,title:l.data.title,body:l.data.body,user:l.data.user?{id:l.data.user.id,login:l.data.user.login,name:l.data.user.name,email:l.data.user.email,html_url:l.data.user.html_url,avatar_url:l.data.user.avatar_url,type:capitalize(l.data.user.type.toLowerCase())}:null,labels:l.data.labels?l.data.labels.map(_=>({id:_.id,name:_.name,color:_.color})):null,assignee:l.data.assignee?{id:l.data.assignee.id,login:l.data.assignee.login,name:l.data.assignee.name,email:l.data.assignee.email,html_url:l.data.assignee.html_url,avatar_url:l.data.assignee.avatar_url,type:capitalize(l.data.assignee.type.toLowerCase())}:null,milestone:l.data.milestone?{id:l.data.milestone.id,url:l.data.milestone.url,number:l.data.milestone.number,state:l.data.milestone.state,title:l.data.milestone.title,description:l.data.milestone.description,open_issues:l.data.milestone.open_issues,closed_issues:l.data.milestone.closed_issues,created_at:l.data.milestone.created_at,updated_at:l.data.milestone.updated_at,closed_at:l.data.milestone.closed_at,due_on:l.data.milestone.due_on}:null,closed_at:l.data.closed_at,created_at:l.data.created_at,updated_at:l.data.updated_at}),l}catch(s){throw new Error(`\u91CD\u65B0\u6392\u5E8F\u5B50\u8BAE\u9898\u5931\u8D25: ${s.message}`)}}};});var ot={};P(ot,{Repo:()=>W});var W,ue=h(()=>{T();k();W=class extends m{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_org_repos_list(e){if(!e.org)throw new Error(g);try{this.setRequestConfig({token:this.userToken});let{org:s,...o}=e,r={};o?.type&&(r.type=o.type),o?.sort&&(r.sort=o.sort),o?.direction&&(r.direction=o.direction),o?.per_page&&(r.per_page=o.per_page.toString()),o?.page&&(r.page=o.page.toString());let t=`/orgs/${s}/repos`,a=await this.get(t,r);switch(a.statusCode){case 404:throw new Error(S);case 401:throw new Error(d)}let n=e.format??this.format;return a.data&&(a.data=await Promise.all(a.data.map(async i=>({id:i.id,name:i.name,full_name:i.full_name,owner:{id:i.owner.id,login:i.owner.login,name:i.owner.name,avatar_url:i.owner.avatar_url,type:i.owner.type,html_url:i.owner.html_url,company:i.owner.company,email:i.owner.email,bio:i.owner.bio,blog:i.owner.blog,followers:i.owner.followers,following:i.owner.following},public:!i.private,private:i.private,visibility:i.private?"private":"public",fork:i.fork,archived:i.archived,disabled:i.disabled,html_url:i.html_url,description:i.description,created_at:n?await w(i.created_at):i.created_at,updated_at:n?await w(i.updated_at):i.updated_at,stargazers_count:i.stargazers_count,watchers_count:i.watchers_count,language:i.language,forks_count:i.forks_count,open_issues_count:i.open_issues_count,default_branch:i.default_branch})))),a}catch(s){throw new Error(`\u83B7\u53D6\u7EC4\u7EC7\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${s.message}`)}}async get_user_repos_list_by_token(e){try{this.setRequestConfig({token:this.userToken});let{...s}=e,o={};!e?.visibility&&!e?.affiliation&&s?.type&&(o.type=s.type),s?.visibility&&(o.visibility=s.visibility),s?.affiliation&&(o.affiliation=s.affiliation),s?.sort&&(o.sort=s.sort),s?.direction&&(o.direction=s.direction),s?.per_page&&(o.per_page=s.per_page.toString()),s?.page&&(o.page=s.page.toString());let t=await this.get("/uses/repos",o);if(t.statusCode===401)throw new Error(d);let a=e?.format??this.format;return t.data&&(t.data=await Promise.all(t.data.map(async n=>({id:n.id,name:n.name,full_name:n.full_name,owner:{id:n.owner.id,login:n.owner.login,name:n.owner.name,avatar_url:n.owner.avatar_url,type:n.owner.type,html_url:n.owner.html_url,company:n.owner.company,email:n.owner.email,bio:n.owner.bio,blog:n.owner.blog,followers:n.owner.followers,following:n.owner.following},public:!n.private,private:n.private,visibility:n.private?"private":"public",fork:n.fork,archived:n.archived,disabled:n.disabled,html_url:n.html_url,description:n.description,created_at:a?await w(n.created_at):n.created_at,updated_at:a?await w(n.updated_at):n.updated_at,stargazers_count:n.stargazers_count,watchers_count:n.watchers_count,language:n.language,forks_count:n.forks_count,open_issues_count:n.open_issues_count,default_branch:n.default_branch})))),t}catch(s){throw new Error(`\u83B7\u53D6\u6388\u6743\u7528\u6237\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${s.message}`)}}async get_user_repos_list(e){try{if(!e.username)throw new Error(A);this.setRequestConfig({token:this.userToken});let{username:s,...o}=e,r={};o?.type&&(r.type=o.type),o?.sort&&(r.sort=o.sort),o?.direction&&(r.direction=o.direction),o?.per_page&&(r.per_page=o.per_page.toString()),o?.page&&(r.page=o.page.toString());let t=e?.format??this.format,a=`/users/${s}/repos`,n=await this.get(a,r);switch(n.statusCode){case 404:throw new Error($);case 401:throw new Error(d)}return n.data&&(n.data=await Promise.all(n.data.map(async i=>({id:i.id,name:i.name,full_name:i.full_name,owner:{id:i.owner.id,login:i.owner.login,name:i.owner.name,avatar_url:i.owner.avatar_url,type:i.owner.type,html_url:i.owner.html_url,company:i.owner.company,email:i.owner.email,bio:i.owner.bio,blog:i.owner.blog,followers:i.owner.followers,following:i.owner.following},public:!i.private,private:i.private,visibility:i.private?"private":"public",fork:i.fork,archived:i.archived,disabled:i.disabled,html_url:i.html_url,description:i.description,created_at:t?await w(i.created_at):i.created_at,updated_at:t?await w(i.updated_at):i.updated_at,stargazers_count:i.stargazers_count,watchers_count:i.watchers_count,language:i.language,forks_count:i.forks_count,open_issues_count:i.open_issues_count,default_branch:i.default_branch})))),n}catch(s){throw new Error(`\u83B7\u53D6\u7528\u6237\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${s.message}`)}}async get_repo_info(e){try{this.setRequestConfig({token:this.userToken});let s,o;if("url"in e){let a=e.url.trim(),n=f(a);s=n?.owner,o=n?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);let r=await this.get(`/repos/${s}/${o}`);switch(r.statusCode){case 401:throw new Error(d);case 404:throw new Error(q)}let t=e?.format??this.format;return r.data&&(r.data={id:r.data.id,name:r.data.name,full_name:r.data.full_name,owner:{id:r.data.owner.id,login:r.data.owner.login,name:r.data.owner.name,avatar_url:r.data.owner.avatar_url,type:r.data.owner.type,html_url:r.data.owner.html_url,company:r.data.owner.company,email:r.data.owner.email,bio:r.data.owner.bio,blog:r.data.owner.blog,followers:r.data.owner.followers,following:r.data.owner.following},public:!r.data.private,private:r.data.private,visibility:r.data.private?"private":"public",fork:r.data.fork,archived:r.data.archived,disabled:r.data.disabled,html_url:r.data.html_url,description:r.data.description,created_at:t?await w(r.data.created_at):r.data.created_at,updated_at:t?await w(r.data.updated_at):r.data.updated_at,stargazers_count:r.data.stargazers_count,watchers_count:r.data.watchers_count,language:r.data.language,forks_count:r.data.forks_count,open_issues_count:r.data.open_issues_count,default_branch:r.data.default_branch}),r}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}async get_repo_languages_list(e){try{this.setRequestConfig({token:this.userToken});let s,o;if("url"in e){let t=e.url.trim(),a=f(t);s=a?.owner,o=a?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);let r=await this.get(`/repos/${s}/${o}/languages`);switch(r.statusCode){case 401:throw new Error(d);case 404:throw new Error(C)}if(r.data){let t=Object.values(r.data).reduce((a,n)=>a+n,0);r.data={languages:await Promise.all(Object.entries(r.data).map(([a,n])=>{let i=String(a).toLowerCase();return {language:a,color:Z(i),percent:Number((n/t*100).toFixed(2)),bytes:n}}))};}return r}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5217\u8868\u5931\u8D25: ${s.message}`)}}async create_org_repo(e){try{let{owner:s,...o}=e,r={...o},t=await this.post(`/orgs/${s}/repos`,r);if(t.statusCode===401)throw new Error(d);let a=e?.format??this.format;return t.data&&(t.data={id:t.data.id,name:t.data.name,full_name:t.data.full_name,owner:{id:t.data.owner.id,login:t.data.owner.login,name:t.data.owner.name,avatar_url:t.data.owner.avatar_url,type:t.data.owner.type,html_url:t.data.owner.html_url,company:t.data.owner.company,email:t.data.owner.email,bio:t.data.owner.bio,blog:t.data.owner.blog,followers:t.data.owner.followers,following:t.data.owner.following},public:!t.data.private,private:t.data.private,visibility:t.data.private?"private":"public",fork:t.data.fork,archived:t.data.archived,disabled:t.data.disabled,html_url:t.data.html_url,description:t.data.description,created_at:a?await w(t.data.created_at):t.data.created_at,updated_at:a?await w(t.data.updated_at):t.data.updated_at,stargazers_count:t.data.stargazers_count,watchers_count:t.data.watchers_count,language:t.data.language,forks_count:t.data.forks_count,open_issues_count:t.data.open_issues_count,default_branch:t.data.default_branch}),t}catch(s){throw new Error(`\u521B\u5EFA\u7EC4\u7EC7\u4ED3\u5E93\u5931\u8D25: ${s.message}`)}}async get_collaborators_list(e){try{this.setRequestConfig({token:this.userToken});let s,o;if("url"in e){let n=e.url.trim(),i=f(n);s=i?.owner,o=i?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);let{...r}=e,t={};r.affiliation&&(t.milestone=r.affiliation.toString()),r.permission&&(t.permission=r.permission.toString()),r.per_page&&(t.per_page=r.per_page.toString()),r.page&&(t.page=r.page.toString());let a=await this.get(`/repos/${s}/${o}/collaborators`,t);return a.data&&(a.data=await Promise.all(a.data.map(n=>({id:n.id,login:n.login,avatar_url:n.avatar_url,email:n.email,name:n.name,permissions:n.permissions,role_name:n.role_name})))),a}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u534F\u4F5C\u8005\u5217\u8868\u5931\u8D25: ${s.message}`)}}async add_collaborator(e){let s,o,r;try{if(this.setRequestConfig({token:this.userToken}),"url"in e){let n=e.url.trim(),i=f(n);s=i?.owner,o=i?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);r=e?.username;let t=await this.put(`/repos/${s}/${o}/collaborators/${r}`,{permission:e.permission??"pull"});if(t.statusCode===404)throw new Error(X);if(t.statusCode===422){let n=t.data.message;if(n&&n.includes("is not a valid permission"))throw new Error(Pe)}let a=e?.format??this.format;return t.data&&(t.data={id:t.data.id,repository:{id:t.data.repository.id,name:t.data.repository.name,full_name:t.data.repository.full_name,owner:{id:t.data.repository.owner.id,login:t.data.repository.owner.login,name:t.data.repository.owner.name,avatar_url:t.data.repository.owner.avatar_url,type:t.data.repository.owner.type,html_url:t.data.repository.owner.html_url,company:t.data.repository.owner.company,email:t.data.repository.owner.email,bio:t.data.repository.owner.bio,blog:t.data.repository.owner.blog,followers:t.data.repository.owner.followers,following:t.data.repository.owner.following},public:!t.data.repository.private,private:t.data.repository.private,visibility:t.data.repository.private?"private":"public",fork:t.data.repository.fork,archived:t.data.repository.archived,disabled:t.data.repository.disabled,html_url:t.data.repository.html_url,description:t.data.repository.description,created_at:a?await w(t.data.repository.created_at):t.data.repository.created_at,updated_at:a?await w(t.data.repository.updated_at):t.data.repository.updated_at,stargazers_count:t.data.repository.stargazers_count,watchers_count:t.data.repository.watchers_count,language:t.data.repository.language,forks_count:t.data.repository.forks_count,open_issues_count:t.data.repository.open_issues_count,default_branch:t.data.repository.default_branch}}),t}catch(t){throw new Error(`\u6DFB\u52A0\u534F\u4F5C\u8005${r}\u5931\u8D25: ${t.message}`)}}async remove_collaborator(e){let s,o,r;try{if(this.setRequestConfig({token:this.userToken}),"url"in e){let a=e.url.trim(),n=f(a);s=n?.owner,o=n?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);r=e?.username;let t=await this.delete(`/repos/${s}/${o}/collaborators/${r}`);if(t.statusCode===404)throw new Error(X);return t.status&&t.statusCode===204?t.data={info:`\u79FB\u9664\u534F\u4F5C\u8005${r}\u6210\u529F`}:t.data={info:`\u79FB\u9664\u534F\u4F5C\u8005${r}\u5931\u8D25`},t}catch(t){throw new Error(`\u79FB\u9664\u534F\u4F5C\u8005${r}\u5931\u8D25: ${t.message}`)}}async delete_collaborator(e){return this.remove_collaborator(e)}async get_repo_visibility(e){try{let s,o;if("url"in e){let r=e.url.trim(),t=f(r);s=t?.owner,o=t?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);return (await this.get_repo_info({owner:s,repo:o})).data.visibility}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u53EF\u89C1\u6027\u5931\u8D25: ${s.message}`)}}async get_repo_default_branch(e){try{let s,o;if("url"in e){let r=e.url.trim(),t=f(r);s=t?.owner,o=t?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);return (await this.get_repo_info({owner:s,repo:o})).data.default_branch}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u9ED8\u8BA4\u5206\u652F\u5931\u8D25: ${s.message}`)}}async get_repo_main_language(e){try{let s,o;if("url"in e){let r=e.url.trim(),t=f(r);s=t?.owner,o=t?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);return (await this.get_repo_info({owner:s,repo:o})).data.language}catch(s){throw new Error(`\u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5931\u8D25: ${s.message}`)}}};});var nt={};P(nt,{User:()=>G});var G,de=h(()=>{T();k();G=class extends m{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_user_info(e){let s=e.access_token??this.userToken;if(!e.username)throw new Error(be);if(!s?.startsWith("ghu_"))throw new Error(x);try{this.setRequestConfig({token:s});let o=await this.get(`/users/${e.username}`);if(o.statusCode===401)throw new Error(d);if(o.statusCode===404)throw new Error(q);return o.data&&(o.data={id:o.data.id,login:o.data.login,name:o.data.name||null,type:capitalize(o.data.type.toLowerCase()),html_url:o.data.html_url,avatar_url:o.data.avatar_url,company:o.data.company||null,email:o.data.email||null,bio:o.data.bio||null,blog:o.data.blog||null,followers:o.data.followers,following:o.data.following}),o}catch(o){throw new Error(`\u83B7\u53D6\u7528\u6237\u6216\u7EC4\u7EC7\u4FE1\u606F\u5931\u8D25: ${o.message}`)}}async get_user_info_by_user_id(e){let s=e.access_token??this.userToken;if(!e.user_id)throw new Error(Ce);if(!s?.startsWith("ghu_"))throw new Error(x);try{this.setRequestConfig({token:this.userToken});let o=await this.get(`/user/${e.user_id}`);if(o.statusCode===401)throw new Error(d);if(o.statusCode===404)throw new Error($);return o.data&&(o.data={id:o.data.id,login:o.data.login,name:o.data.name||null,type:capitalize(o.data.type.toLowerCase()),html_url:o.data.html_url,avatar_url:o.data.avatar_url,company:o.data.company||null,email:o.data.email||null,bio:o.data.bio||null,blog:o.data.blog||null,followers:o.data.followers,following:o.data.following}),o}catch(o){throw new Error(`\u901A\u8FC7\u7528\u6237id\u83B7\u53D6\u7528\u6237${e.user_id}\u4FE1\u606F\u5931\u8D25: ${o.message}`)}}async get_user_info_by_auth(e){let s=e?.access_token??this.userToken;if(!e||!s)throw new Error(I);try{this.setRequestConfig({token:s});let o=await this.get("/user");switch(o.statusCode){case 401:throw new Error(d);case 404:throw new Error($)}return o.data&&(o.data={id:o.data.id,login:o.data.login,name:o.data.name||null,type:capitalize(o.data.type.toLowerCase()),html_url:o.data.html_url,avatar_url:o.data.avatar_url,company:o.data.company||null,email:o.data.email||null,bio:o.data.bio||null,blog:o.data.blog||null,followers:o.data.followers,following:o.data.following}),o}catch(o){throw new Error(`\u83B7\u53D6\u6388\u6743\u7528\u6237\u4FE1\u606F\u5931\u8D25: ${o.message}`)}}async get_user_info_by_token(e){return this.get_user_info_by_auth(e)}async get_user_contribution(e){try{if(!e.username)throw new Error(A);if((await this.get_user_info({username:e.username})).data.type==="Organization")throw new Error(`${ve}\u83B7\u53D6\u8D21\u732E\u65E5\u5386`);this.setRequestConfig({url:this.BaseUrl});let o=await this.get(`/${e.username}`,{action:"show",controller:"profiles",tab:"contributions",user_id:e.username},{"X-Requested-With":"XMLHttpRequest"});if(o.statusCode===404)throw new Error(A);let r=await Qe(o.data);return {...o,data:r}}catch(s){throw new Error(`\u83B7\u53D6\u7528\u6237${e.username}\u8D21\u732E\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}async get_user_id(){return (await this.get_user_info_by_auth({})).data.id}async get_username(){return (await this.get_user_info_by_auth()).data.login}async get_nickname(){return (await this.get_user_info_by_auth()).data.name}async get_user_email(){return (await this.get_user_info_by_auth()).data.email}async get_avatar_url(){return (await this.get_user_info_by_auth()).data.avatar_url}};});var it={};P(it,{Org:()=>j});var j,me=h(()=>{T();k();j=class extends m{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_org_info(e){if(!e.org)throw new Error(Te);try{this.setRequestConfig({token:this.userToken});let s=await this.get(`/orgs/${e.org}`);if(s.statusCode===404)throw new Error(S);return s.data&&(s.data={id:s.data.id,login:s.data.login,name:s.data.name,avatar_url:s.data.avatar_url,description:s.data.description,html_url:s.data.html_url}),s}catch(s){throw new Error(`\u83B7\u53D6\u7EC4\u7EC7${e.org}\u4FE1\u606F\u5931\u8D25: ${s.message}`)}}};});var ut={};P(ut,{WebHook:()=>F});var F,ce=h(()=>{T();k();F=class extends m{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async check_webhook_signature(e){let s=e.secret??this.WebHook_Secret;if(!s||!e.payload||!e.signature)throw new Error(g);if(!e.signature.startsWith("sha256="))throw new Error(Se);let o=false,r="error",t=400,a=Q,n;try{let i=lt.createHmac("sha256",s),l=typeof e.payload=="string"?e.payload:JSON.stringify(e.payload);i.update(l,"utf8");let _=i.digest("hex"),c=e.signature.replace("sha256=","");lt.timingSafeEqual(Buffer.from(_),Buffer.from(c))?(o=!0,r="ok",t=200,a="\u8BF7\u6C42\u6210\u529F",n={info:He}):(o=!1,r="error",t=403,a="\u8BF7\u6C42\u5931\u8D25",n={info:Q});}catch(i){throw new Error(`\u8BF7\u6C42\u9A8C\u8BC1WebHook\u7B7E\u540D\u5931\u8D25: ${i.message}`)}return Promise.resolve({success:o,status:r,statusCode:t,msg:a,data:n})}};});var J,m,k=h(()=>{T();se();oe();J="github",m=class{BaseUrl;ApiUrl;jwtToken;userToken;format;Private_Key;Client_ID;Client_Secret;WebHook_Secret;currentRequestConfig;proxy;constructor(e){this.Private_Key=e.Private_Key,this.Client_ID=e.Client_ID,this.Client_Secret=e.Client_Secret,this.WebHook_Secret=e.WebHook_Secret,this.jwtToken=this.generate_jwt(),this.BaseUrl=ae(J),this.ApiUrl=re(J),this.userToken=null,this.currentRequestConfig={url:this.ApiUrl,token:null,tokenType:"Bearer"},this.format=e.format??false;}async get_app(){let{App:e}=await Promise.resolve().then(()=>(ge(),pt));return this.app=new e(this),this.app}async get_auth(){let{Auth:e}=await Promise.resolve().then(()=>(ne(),tt));return this.auth=new e(this),this.auth}async get_commit(){let{Commit:e}=await Promise.resolve().then(()=>(ie(),at));return this.commit=new e(this),this.commit}async get_issue(){let{Issue:e}=await Promise.resolve().then(()=>(le(),st));return this.issue=new e(this),this.issue}async get_repo(){let{Repo:e}=await Promise.resolve().then(()=>(ue(),ot));return this.repo=new e(this),this.repo}async get_user(){let{User:e}=await Promise.resolve().then(()=>(de(),nt));return this.user=new e(this),this.user}async get_org(){let{Org:e}=await Promise.resolve().then(()=>(me(),it));return this.org=new e(this),this.org}async get_webhook(){let{WebHook:e}=await Promise.resolve().then(()=>(ce(),ut));return this.webhook=new e(this),this.webhook}setProxy(e){if(e?.address){let s=new URL$1(e.address);if(!["http:","https:","socks:"].includes(s.protocol))throw new Error(Re);e.address=e.address.replace(/\/$/,"");}e?.type==="common"&&(this.BaseUrl=ae(J,e.address),this.ApiUrl=re(J,e.address)),this.proxy=e;}setToken(e){if(!e.startsWith("ghu_"))throw console.log("token \u5FC5\u987B\u4EE5 ghu_ \u5F00\u5934"),this.userToken=null,new Error(x);return this.userToken=e,this}generate_jwt(){let e=this.Private_Key,s={exp:Math.floor(Date.now()/1e3)+10*60,iat:Math.floor(Date.now()/1e3),iss:this.Client_ID};return Pt.sign(s,e,{algorithm:"RS256"})}setRequestConfig(e){e.url&&(this.currentRequestConfig.url=e.url),e.token&&(this.currentRequestConfig.token=e.token),e.tokenType&&(this.currentRequestConfig.tokenType=e.tokenType);}createRequest(){let{url:e,token:s,tokenType:o}=this.currentRequestConfig,r=this.proxy?.type!=="common"?this.proxy:null,t={"X-GitHub-Api-Version":"2022-11-28",Accept:"application/vnd.github+json"};return new B(e,o,s??null,r,t)}async get(e,s,o){try{let t=await this.createRequest().get(e,s,o);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(r){throw new Error(`GET \u8BF7\u6C42${e}\u5931\u8D25: ${r.message}`)}}async post(e,s,o){try{let t=await this.createRequest().post(e,s,o);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(r){throw new Error(`POST \u8BF7\u6C42${e}\u5931\u8D25: ${r.message}`)}}async patch(e,s=null,o,r){try{let a=await this.createRequest().patch(e,s,o,r);if((a.statusCode===403||a.statusCode===429)&&a.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:a.success,status:a.success?"ok":"error",statusCode:a.statusCode,msg:a.msg,data:a.data}}catch(t){throw new Error(`PATCH \u8BF7\u6C42${e}\u5931\u8D25: ${t.message}`)}}async put(e,s,o){try{let t=await this.createRequest().put(e,s,o);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(r){throw new Error(`PUT \u8BF7\u6C42${e}\u5931\u8D25: ${r.message}`)}}async delete(e,s=null,o,r){try{let a=await this.createRequest().delete(e,s,o,r);if((a.statusCode===403||a.statusCode===429)&&a.headers["x-ratelimit-remaining"]==="0")throw new Error(v);return {success:a.success,status:a.success?"ok":"error",statusCode:a.statusCode,msg:a.msg,data:a.data}}catch(t){throw new Error(`DELETE \u8BF7\u6C42${e}\u5931\u8D25: ${t.message}`)}}};});var pt={};P(pt,{App:()=>K});var K,ge=h(()=>{T();k();K=class extends m{constructor(e){super(e),this.userToken=e.userToken,this.ApiUrl=e.ApiUrl,this.BaseUrl=e.BaseUrl;}async get_app_info(e){let s=e.access_token??this.userToken;if(!e.app_slug)throw new Error(g);if(!s)throw new Error(I);try{this.setRequestConfig({token:s});let o=await this.get(`/apps/${e.app_slug}`);return o.statusCode===200&&(o.data={id:o.data.id,name:o.data.name,client_id:o.data.client_id,slug:o.data.slug,owner:{id:o.data.owner.id,login:o.data.owner.login,name:o.data.owner.name,email:o.data.owner.email,html_url:o.data.owner.html_url,avatar_url:o.data.owner.avatar_url,type:capitalize(o.data.owner.type.toLowerCase())},description:o.data.description,external_url:o.data.external_url,html_url:o.data.html_url,permissions:o.data.permissions,events:o.data.events,created_at:o.data.created_at,updated_at:o.data.updated_at}),o}catch(o){throw new Error(`\u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${o.message}`)}}async get_app_info_by_auth(){try{this.setRequestConfig({url:this.ApiUrl,token:this.jwtToken});let e=await this.get("/app");return e.statusCode===200&&(e.data={id:e.data.id,name:e.data.name,client_id:e.data.client_id,slug:e.data.slug,owner:{id:e.data.owner.id,login:e.data.owner.login,name:e.data.owner.name,email:e.data.owner.email,html_url:e.data.owner.html_url,avatar_url:e.data.owner.avatar_url,type:capitalize(e.data.owner.type.toLowerCase())},description:e.data.description,external_url:e.data.external_url,html_url:e.data.html_url,permissions:e.data.permissions,events:e.data.events,created_at:e.data.created_at,updated_at:e.data.updated_at}),e}catch(e){throw new Error(`\u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${e.message}`)}}async get_app_installation_by_repo(e){let s,o;try{if(this.setRequestConfig({token:this.jwtToken}),"url"in e){let t=e.url.trim(),a=f(t);s=a?.owner,o=a?.repo;}else if("owner"in e&&"repo"in e)s=e?.owner,o=e?.repo;else throw new Error(g);let r=await this.get(`/repos/${s}/${o}/installation`);switch(r.statusCode){case 404:throw new Error(C);case 301:throw new Error(Ne)}return r.data&&(r.data={id:r.data.id,html_url:r.data.html_url,app_id:r.data.app_id,app_slug:r.data.app_slug,target_id:r.data.target_id,target_type:r.data.target_type,account:r.data.account?{id:r.data.account.id,login:r.data.account.login,name:r.data.account.name,email:r.data.account.email,html_url:r.data.account.html_url,avatar_url:r.data.account.avatar_url,type:capitalize(r.data.account.type.toLowerCase())}:null,repository_selection:r.data.repository_selection,access_tokens_url:r.data.access_tokens_url,repositories_url:r.data.repositories_url,permissions:r.data.permissions,events:r.data.events,created_at:r.data.created_at,updated_at:r.data.updated_at}),r}catch(r){throw new Error(`\u83B7\u53D6\u5B58\u50A8\u5E93\u5B89\u88C5\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${r.message}`)}}async create_install_link(e){try{let s=new URL(`apps/${await this.get_app_name()}/installations/new`,this.BaseUrl);return s.search=new URLSearchParams({...e&&{state:e}}).toString(),s.toString()}catch(s){throw new Error(`\u751F\u6210\u5E94\u7528\u5B89\u88C5\u94FE\u63A5\u5931\u8D25: ${s.message}`)}}async create_config_install_link(e){try{let s=new URL(`apps/${await this.get_app_name()}/installations/new`,this.BaseUrl);return s.search=new URLSearchParams({...e&&{state:e}}).toString(),s.toString()}catch(s){throw new Error(`\u751F\u6210\u5E94\u7528\u914D\u7F6E\u94FE\u63A5\u5931\u8D25: ${s.message}`)}}async get_app_name(){return (await this.get_app_info_by_auth()).data.name}};});T();se();oe();var he={};P(he,{App:()=>K,Auth:()=>H,Commit:()=>z,GitHubClient:()=>m,Issue:()=>D,Org:()=>j,Repo:()=>W,User:()=>G,WebHook:()=>F});ge();ne();k();ie();le();me();ue();de();ce();var ye=class{github;constructor(e){if(!e.github)throw new Error("GitHub \u5BA2\u6237\u7AEF\u672A\u914D\u7F6E");this.github=new m(e.github);}};var _a=ye;export{ye as Client,m as GitHubClient,Tt as create_state_id,_a as default,w as formatDate,Z as get_langage_color,yt as get_relative_time,he as github};
|
@@ -0,0 +1 @@
|
|
1
|
+
import e from'path';import {fileURLToPath}from'url';var r=fileURLToPath(import.meta.url).replace(/\\/g,"/").replace(/\/$/,""),p=e.resolve(r,"../../").replace(/\\/g,"/").replace(/\/$/,""),l=e.resolve(r,"../").replace(/\\/g,"/").replace(/\/$/,"");export{p as basePath,l as dirPath};
|
@@ -0,0 +1 @@
|
|
1
|
+
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var axios=require('axios');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var axios__default=/*#__PURE__*/_interopDefault(axios);Object.defineProperty(exports,"default",{enumerable:true,get:function(){return axios__default.default}});Object.keys(axios).forEach(function(k){if(k!=='default'&&!Object.prototype.hasOwnProperty.call(exports,k))Object.defineProperty(exports,k,{enumerable:true,get:function(){return axios[k]}})});
|
@@ -0,0 +1 @@
|
|
1
|
+
export*from'axios';export{default}from'axios';
|