@zhin.js/adapter-github 3.0.1 → 3.0.2
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 +23 -12
- package/{skills/github/SKILL.md → agent/skills/github.md} +22 -5
- package/agent/tools/bind.ts +12 -0
- package/agent/tools/create_pr.ts +19 -0
- package/agent/tools/install.ts +12 -0
- package/agent/tools/patch_file.ts +18 -0
- package/agent/tools/prepare_workspace.ts +14 -0
- package/agent/tools/push_branch.ts +17 -0
- package/agent/tools/star.ts +15 -0
- package/agent/tools/subscribe.ts +16 -0
- package/agent/tools/subscriptions.ts +13 -0
- package/agent/tools/unbind.ts +12 -0
- package/agent/tools/unsubscribe.ts +15 -0
- package/agent/tools/whoami.ts +12 -0
- package/lib/agent/tools/bind.js +12 -0
- package/lib/agent/tools/bind.js.map +1 -0
- package/lib/agent/tools/create_pr.js +19 -0
- package/lib/agent/tools/create_pr.js.map +1 -0
- package/lib/agent/tools/install.js +12 -0
- package/lib/agent/tools/install.js.map +1 -0
- package/lib/agent/tools/patch_file.js +18 -0
- package/lib/agent/tools/patch_file.js.map +1 -0
- package/lib/agent/tools/prepare_workspace.js +14 -0
- package/lib/agent/tools/prepare_workspace.js.map +1 -0
- package/lib/agent/tools/push_branch.js +17 -0
- package/lib/agent/tools/push_branch.js.map +1 -0
- package/lib/agent/tools/star.js +15 -0
- package/lib/agent/tools/star.js.map +1 -0
- package/lib/agent/tools/subscribe.js +16 -0
- package/lib/agent/tools/subscribe.js.map +1 -0
- package/lib/agent/tools/subscriptions.js +13 -0
- package/lib/agent/tools/subscriptions.js.map +1 -0
- package/lib/agent/tools/unbind.js +12 -0
- package/lib/agent/tools/unbind.js.map +1 -0
- package/lib/agent/tools/unsubscribe.js +15 -0
- package/lib/agent/tools/unsubscribe.js.map +1 -0
- package/lib/agent/tools/whoami.js +12 -0
- package/lib/agent/tools/whoami.js.map +1 -0
- package/lib/{adapter.js → src/adapter.js} +11 -6
- package/lib/src/adapter.js.map +1 -0
- package/lib/{agent-prompt.js → src/agent-prompt.js} +10 -8
- package/lib/src/agent-prompt.js.map +1 -0
- package/lib/{endpoint.js → src/endpoint.js} +27 -3
- package/lib/src/endpoint.js.map +1 -0
- package/lib/{gh-client.js → src/gh-client.js} +99 -0
- package/lib/src/gh-client.js.map +1 -0
- package/lib/src/github-agent-deps.js +13 -0
- package/lib/src/github-agent-deps.js.map +1 -0
- package/lib/src/github-bot-handlers.js +78 -0
- package/lib/src/github-bot-handlers.js.map +1 -0
- package/lib/src/github-channel-context.js +32 -0
- package/lib/src/github-channel-context.js.map +1 -0
- package/lib/src/github-tool-handlers.js +215 -0
- package/lib/src/github-tool-handlers.js.map +1 -0
- package/lib/src/index.js +104 -0
- package/lib/src/index.js.map +1 -0
- package/lib/{register-github-mcp.js → src/register-github-mcp.js} +5 -0
- package/lib/src/register-github-mcp.js.map +1 -0
- package/lib/src/segment-mapper.js.map +1 -0
- package/lib/src/types.js.map +1 -0
- package/lib/src/workspace-manager.js +109 -0
- package/lib/src/workspace-manager.js.map +1 -0
- package/package.json +16 -6
- package/src/adapter.ts +12 -8
- package/src/agent-prompt.ts +11 -10
- package/src/endpoint.ts +38 -10
- package/src/gh-client.ts +131 -0
- package/src/github-agent-deps.ts +27 -0
- package/src/github-bot-handlers.ts +109 -0
- package/src/github-channel-context.ts +46 -0
- package/src/github-tool-handlers.ts +244 -0
- package/src/index.ts +32 -326
- package/src/register-github-mcp.ts +5 -0
- package/src/types.ts +6 -0
- package/src/workspace-manager.ts +114 -0
- package/lib/adapter.d.ts +0 -66
- package/lib/adapter.d.ts.map +0 -1
- package/lib/adapter.js.map +0 -1
- package/lib/agent-prompt.d.ts +0 -3
- package/lib/agent-prompt.d.ts.map +0 -1
- package/lib/agent-prompt.js.map +0 -1
- package/lib/endpoint.d.ts +0 -26
- package/lib/endpoint.d.ts.map +0 -1
- package/lib/endpoint.js.map +0 -1
- package/lib/gh-client.d.ts +0 -228
- package/lib/gh-client.d.ts.map +0 -1
- package/lib/gh-client.js.map +0 -1
- package/lib/index.d.ts +0 -34
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js +0 -388
- package/lib/index.js.map +0 -1
- package/lib/register-github-mcp.d.ts +0 -7
- package/lib/register-github-mcp.d.ts.map +0 -1
- package/lib/register-github-mcp.js.map +0 -1
- package/lib/segment-mapper.d.ts +0 -2
- package/lib/segment-mapper.d.ts.map +0 -1
- package/lib/segment-mapper.js.map +0 -1
- package/lib/types.d.ts +0 -144
- package/lib/types.d.ts.map +0 -1
- package/lib/types.js.map +0 -1
- /package/lib/{segment-mapper.js → src/segment-mapper.js} +0 -0
- /package/lib/{types.js → src/types.js} +0 -0
package/lib/index.js
DELETED
|
@@ -1,388 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* GitHub 适配器入口:类型扩展、模型、导出、注册
|
|
3
|
-
*/
|
|
4
|
-
import { formatCompact, usePlugin } from 'zhin.js';
|
|
5
|
-
import { registerAgentPromptContributor, unregisterAgentPromptContributor } from 'zhin.js/agent';
|
|
6
|
-
import { createGithubAgentPromptContributor } from './agent-prompt.js';
|
|
7
|
-
import { GitHubAdapter } from './adapter.js';
|
|
8
|
-
import { GhClient } from './gh-client.js';
|
|
9
|
-
import { registerGithubMcp } from './register-github-mcp.js';
|
|
10
|
-
export * from './types.js';
|
|
11
|
-
export { GitHubEndpoint, parseMarkdown, toMarkdown } from './endpoint.js';
|
|
12
|
-
export { GitHubAdapter } from './adapter.js';
|
|
13
|
-
export { GhClient } from './gh-client.js';
|
|
14
|
-
const plugin = usePlugin();
|
|
15
|
-
const { provide, defineModel, useContext, logger } = plugin;
|
|
16
|
-
registerGithubMcp(plugin);
|
|
17
|
-
defineModel('github_subscriptions', {
|
|
18
|
-
id: { type: 'integer', primary: true },
|
|
19
|
-
repo: { type: 'text', nullable: false },
|
|
20
|
-
events: { type: 'json', default: [] },
|
|
21
|
-
target_id: { type: 'text', nullable: false },
|
|
22
|
-
target_type: { type: 'text', nullable: false },
|
|
23
|
-
adapter: { type: 'text', nullable: false },
|
|
24
|
-
endpoint: { type: 'text', nullable: false },
|
|
25
|
-
});
|
|
26
|
-
defineModel('github_events', {
|
|
27
|
-
id: { type: 'integer', primary: true },
|
|
28
|
-
repo: { type: 'text', nullable: false },
|
|
29
|
-
event_type: { type: 'text', nullable: false },
|
|
30
|
-
payload: { type: 'json', default: {} },
|
|
31
|
-
});
|
|
32
|
-
defineModel('github_oauth_users', {
|
|
33
|
-
id: { type: 'integer', primary: true },
|
|
34
|
-
platform: { type: 'text', nullable: false },
|
|
35
|
-
platform_uid: { type: 'text', nullable: false },
|
|
36
|
-
github_login: { type: 'text', nullable: false },
|
|
37
|
-
access_token: { type: 'text', nullable: false },
|
|
38
|
-
created_at: { type: 'integer', default: 0 },
|
|
39
|
-
});
|
|
40
|
-
provide({
|
|
41
|
-
name: 'github',
|
|
42
|
-
description: 'GitHub Adapter — Issues/PRs as chat channels, full repo management via gh CLI',
|
|
43
|
-
mounted: async (p) => {
|
|
44
|
-
registerAgentPromptContributor(createGithubAgentPromptContributor());
|
|
45
|
-
const adapter = new GitHubAdapter(p);
|
|
46
|
-
await adapter.start();
|
|
47
|
-
return adapter;
|
|
48
|
-
},
|
|
49
|
-
dispose: async (adapter) => {
|
|
50
|
-
unregisterAgentPromptContributor('github');
|
|
51
|
-
await adapter.stop();
|
|
52
|
-
},
|
|
53
|
-
});
|
|
54
|
-
// 混合模式:有 router + webhook_secret → Webhook 实时;否则 → 轮询降级
|
|
55
|
-
useContext('github', (adapter) => {
|
|
56
|
-
if (adapter.hasWebhookConfig) {
|
|
57
|
-
// 尝试注册 Webhook(需要 router Context)
|
|
58
|
-
const router = plugin.inject('router');
|
|
59
|
-
if (router) {
|
|
60
|
-
adapter.setupWebhook(router);
|
|
61
|
-
logger.debug(formatCompact({ op: 'events', source: 'webhook' }));
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
// router 还没就绪,等它挂载后再注册
|
|
65
|
-
plugin.useContext('router', (r) => {
|
|
66
|
-
adapter.setupWebhook(r);
|
|
67
|
-
logger.debug(formatCompact({ op: 'events', source: 'webhook', deferred: true }));
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
// Webhook 未配置或未激活时,总是启动轮询作为兜底
|
|
72
|
-
if (!adapter.webhookActive) {
|
|
73
|
-
adapter.startPolling();
|
|
74
|
-
logger.debug(formatCompact({ op: 'events', source: 'poll' }));
|
|
75
|
-
}
|
|
76
|
-
return () => adapter.stopPolling();
|
|
77
|
-
});
|
|
78
|
-
// ── Tool 工具注册 ─────────────────────────────────────────────────────────
|
|
79
|
-
useContext('tool', 'github', (toolService, adapter) => {
|
|
80
|
-
const tools = [
|
|
81
|
-
// --- Star ---
|
|
82
|
-
{
|
|
83
|
-
name: 'github_star',
|
|
84
|
-
description: 'Star 或取消 Star 一个 GitHub 仓库(使用你绑定的 GitHub 账号,未绑定则用 Endpoint 默认账号)',
|
|
85
|
-
parameters: {
|
|
86
|
-
type: 'object',
|
|
87
|
-
properties: {
|
|
88
|
-
action: { type: 'string', description: 'star|unstar|check', enum: ['star', 'unstar', 'check'] },
|
|
89
|
-
repo: { type: 'string', description: 'owner/repo (必填)' },
|
|
90
|
-
},
|
|
91
|
-
required: ['action', 'repo'],
|
|
92
|
-
},
|
|
93
|
-
tags: ['github'],
|
|
94
|
-
execute: async (args, commMessage) => {
|
|
95
|
-
const gh = await adapter.getUserOrDefaultAPI(commMessage?.$adapter, commMessage?.$sender.id);
|
|
96
|
-
if (!gh)
|
|
97
|
-
return '❌ 没有可用的 GitHub bot';
|
|
98
|
-
const { action, repo } = args;
|
|
99
|
-
switch (action) {
|
|
100
|
-
case 'star': {
|
|
101
|
-
const r = await gh.starRepo(repo);
|
|
102
|
-
return r.ok ? `⭐ 已 Star ${repo}` : `❌ ${r.data?.message || JSON.stringify(r.data)}`;
|
|
103
|
-
}
|
|
104
|
-
case 'unstar': {
|
|
105
|
-
const r = await gh.unstarRepo(repo);
|
|
106
|
-
return r.ok ? `💔 已取消 Star ${repo}` : `❌ ${r.data?.message || JSON.stringify(r.data)}`;
|
|
107
|
-
}
|
|
108
|
-
case 'check': {
|
|
109
|
-
const starred = await gh.isStarred(repo);
|
|
110
|
-
return starred ? `⭐ 已 Star ${repo}` : `☆ 尚未 Star ${repo}`;
|
|
111
|
-
}
|
|
112
|
-
default: return `❌ 未知操作: ${action}`;
|
|
113
|
-
}
|
|
114
|
-
},
|
|
115
|
-
},
|
|
116
|
-
// --- Bind (Device Flow) ---
|
|
117
|
-
{
|
|
118
|
-
name: 'github_bind',
|
|
119
|
-
description: '绑定你的 GitHub 账号 — 使用 Device Flow 授权,无需输入密码',
|
|
120
|
-
parameters: {
|
|
121
|
-
type: 'object',
|
|
122
|
-
properties: {},
|
|
123
|
-
},
|
|
124
|
-
tags: ['github'],
|
|
125
|
-
execute: async (_args, commMessage) => {
|
|
126
|
-
if (!commMessage?.$adapter || !commMessage?.$sender?.id) {
|
|
127
|
-
return '❌ 无法获取当前用户信息';
|
|
128
|
-
}
|
|
129
|
-
const clientId = adapter.getClientId();
|
|
130
|
-
if (!clientId)
|
|
131
|
-
return '❌ Endpoint 未配置 GitHub App 或 App 无 client_id,无法进行账号绑定';
|
|
132
|
-
const db = plugin.root?.inject('database');
|
|
133
|
-
const model = db?.models?.get('github_oauth_users');
|
|
134
|
-
if (!model)
|
|
135
|
-
return '❌ 数据库未就绪';
|
|
136
|
-
// 检查是否已绑定
|
|
137
|
-
const [existing] = await model.select().where({ platform: commMessage.$adapter, platform_uid: commMessage.$sender.id });
|
|
138
|
-
if (existing) {
|
|
139
|
-
return `⚠️ 你已绑定 GitHub 账号: ${existing.github_login}\n如需重新绑定,请先执行 github_unbind`;
|
|
140
|
-
}
|
|
141
|
-
try {
|
|
142
|
-
const host = adapter.getHost();
|
|
143
|
-
const codeResp = await GhClient.deviceFlowRequestCode(clientId, host);
|
|
144
|
-
// 异步轮询 token(最多等 codeResp.expires_in 秒)
|
|
145
|
-
const tokenPromise = GhClient.deviceFlowPollToken(clientId, codeResp.device_code, codeResp.interval, codeResp.expires_in, host);
|
|
146
|
-
// 先回复用户授权链接
|
|
147
|
-
const replyMsg = [
|
|
148
|
-
`🔗 请在浏览器中打开以下链接进行授权:`,
|
|
149
|
-
` ${codeResp.verification_uri}`,
|
|
150
|
-
``,
|
|
151
|
-
`📋 输入验证码: **${codeResp.user_code}**`,
|
|
152
|
-
``,
|
|
153
|
-
`⏳ 等待授权中…(${Math.floor(codeResp.expires_in / 60)} 分钟内有效)`,
|
|
154
|
-
].join('\n');
|
|
155
|
-
// 在后台等待用户授权完成
|
|
156
|
-
tokenPromise.then(async (tokenData) => {
|
|
157
|
-
if (!tokenData) {
|
|
158
|
-
// 授权超时或被拒绝 — 由于 execute 已经返回了,这里只能通过日志记录
|
|
159
|
-
logger.warn(formatCompact({ op: 'device_flow', ok: false, platform: commMessage.$adapter, sender: commMessage.$sender.id }));
|
|
160
|
-
return;
|
|
161
|
-
}
|
|
162
|
-
// 使用 token 获取 GitHub 用户名
|
|
163
|
-
const userGh = new GhClient({ host, token: tokenData.access_token });
|
|
164
|
-
const authResult = await userGh.verifyAuth();
|
|
165
|
-
const login = authResult.ok ? authResult.user : 'unknown';
|
|
166
|
-
await model.insert({
|
|
167
|
-
id: Date.now(),
|
|
168
|
-
platform: commMessage.$adapter,
|
|
169
|
-
platform_uid: commMessage.$sender.id,
|
|
170
|
-
github_login: login,
|
|
171
|
-
access_token: tokenData.access_token,
|
|
172
|
-
created_at: Date.now(),
|
|
173
|
-
});
|
|
174
|
-
logger.info(formatCompact({ op: 'bind', platform: commMessage.$adapter, sender: commMessage.$sender.id, login }));
|
|
175
|
-
// 尝试回复绑定成功消息
|
|
176
|
-
if (commMessage?.$reply) {
|
|
177
|
-
await commMessage.$reply(`✅ GitHub 账号绑定成功!\n👤 ${login}`);
|
|
178
|
-
}
|
|
179
|
-
}).catch(err => {
|
|
180
|
-
logger.error('GitHub Device Flow 错误:', err);
|
|
181
|
-
});
|
|
182
|
-
return replyMsg;
|
|
183
|
-
}
|
|
184
|
-
catch (e) {
|
|
185
|
-
return `❌ Device Flow 启动失败: ${e instanceof Error ? e.message : String(e)}`;
|
|
186
|
-
}
|
|
187
|
-
},
|
|
188
|
-
},
|
|
189
|
-
// --- Unbind ---
|
|
190
|
-
{
|
|
191
|
-
name: 'github_unbind',
|
|
192
|
-
description: '解除你绑定的 GitHub 账号',
|
|
193
|
-
parameters: {
|
|
194
|
-
type: 'object',
|
|
195
|
-
properties: {},
|
|
196
|
-
},
|
|
197
|
-
tags: ['github'],
|
|
198
|
-
execute: async (_args, commMessage) => {
|
|
199
|
-
if (!commMessage?.$adapter || !commMessage?.$sender?.id) {
|
|
200
|
-
return '❌ 无法获取当前用户信息';
|
|
201
|
-
}
|
|
202
|
-
const db = plugin.root?.inject('database');
|
|
203
|
-
const model = db?.models?.get('github_oauth_users');
|
|
204
|
-
if (!model)
|
|
205
|
-
return '❌ 数据库未就绪';
|
|
206
|
-
const [existing] = await model.select().where({ platform: commMessage.$adapter, platform_uid: commMessage.$sender.id });
|
|
207
|
-
if (!existing)
|
|
208
|
-
return '📭 你尚未绑定 GitHub 账号';
|
|
209
|
-
await model.delete().where({ id: existing.id });
|
|
210
|
-
return `✅ 已解除 GitHub 账号绑定: ${existing.github_login}`;
|
|
211
|
-
},
|
|
212
|
-
},
|
|
213
|
-
// --- Whoami ---
|
|
214
|
-
{
|
|
215
|
-
name: 'github_whoami',
|
|
216
|
-
description: '查看你绑定的 GitHub 账号信息',
|
|
217
|
-
parameters: {
|
|
218
|
-
type: 'object',
|
|
219
|
-
properties: {},
|
|
220
|
-
},
|
|
221
|
-
tags: ['github'],
|
|
222
|
-
execute: async (_args, commMessage) => {
|
|
223
|
-
if (!commMessage?.$adapter || !commMessage?.$sender?.id) {
|
|
224
|
-
return '❌ 无法获取当前用户信息';
|
|
225
|
-
}
|
|
226
|
-
const db = plugin.root?.inject('database');
|
|
227
|
-
const model = db?.models?.get('github_oauth_users');
|
|
228
|
-
if (!model)
|
|
229
|
-
return '❌ 数据库未就绪';
|
|
230
|
-
const [existing] = await model.select().where({ platform: commMessage.$adapter, platform_uid: commMessage.$sender.id });
|
|
231
|
-
if (!existing)
|
|
232
|
-
return '📭 你尚未绑定 GitHub 账号\n🔗 使用 github_bind 绑定你的账号';
|
|
233
|
-
// 验证 token 是否仍然有效
|
|
234
|
-
const userGh = new GhClient({ host: adapter.getHost(), token: existing.access_token });
|
|
235
|
-
const auth = await userGh.verifyAuth();
|
|
236
|
-
if (auth.ok) {
|
|
237
|
-
return `👤 已绑定 GitHub 账号: ${auth.user}\n📅 绑定时间: ${new Date(existing.created_at).toLocaleString('zh-CN')}`;
|
|
238
|
-
}
|
|
239
|
-
return `⚠️ 已绑定账号 ${existing.github_login},但 Token 已失效\n🔗 请执行 github_unbind 后重新 github_bind`;
|
|
240
|
-
},
|
|
241
|
-
},
|
|
242
|
-
// --- Install App ---
|
|
243
|
-
{
|
|
244
|
-
name: 'github_install',
|
|
245
|
-
description: '获取安装 GitHub App 的链接 — 安装后 Endpoint 可以访问你的仓库,你也可以使用更多功能',
|
|
246
|
-
parameters: {
|
|
247
|
-
type: 'object',
|
|
248
|
-
properties: {},
|
|
249
|
-
},
|
|
250
|
-
tags: ['github'],
|
|
251
|
-
execute: async () => {
|
|
252
|
-
const slug = adapter.getAppSlug();
|
|
253
|
-
if (!slug)
|
|
254
|
-
return '❌ Endpoint 未配置 GitHub App';
|
|
255
|
-
const host = adapter.getHost() || 'github.com';
|
|
256
|
-
const installations = adapter.getInstallations();
|
|
257
|
-
let msg = `🔗 请点击以下链接安装 GitHub App 到你的仓库:\n https://${host}/apps/${slug}/installations/new`;
|
|
258
|
-
if (installations.length) {
|
|
259
|
-
msg += `\n\n📋 当前已安装 (${installations.length}):`;
|
|
260
|
-
for (const inst of installations) {
|
|
261
|
-
msg += `\n • ${inst.account.login} (${inst.account.type})`;
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
return msg;
|
|
265
|
-
},
|
|
266
|
-
},
|
|
267
|
-
// --- Subscribe ---
|
|
268
|
-
{
|
|
269
|
-
name: 'github_subscribe',
|
|
270
|
-
description: '订阅 GitHub 仓库的 Webhook 事件,事件将推送到当前聊天通道',
|
|
271
|
-
parameters: {
|
|
272
|
-
type: 'object',
|
|
273
|
-
properties: {
|
|
274
|
-
repo: { type: 'string', description: 'owner/repo (必填)' },
|
|
275
|
-
events: { type: 'string', description: '要订阅的事件类型,逗号分隔 (push/issue/star/fork/unstar/pull_request),默认全部' },
|
|
276
|
-
},
|
|
277
|
-
required: ['repo'],
|
|
278
|
-
},
|
|
279
|
-
platforms: ['github'],
|
|
280
|
-
tags: ['github'],
|
|
281
|
-
execute: async (args, commMessage) => {
|
|
282
|
-
if (!commMessage?.$adapter || !commMessage?.$sender.id || !commMessage?.$channel?.id || !commMessage?.$endpoint) {
|
|
283
|
-
return '❌ 无法获取当前聊天通道信息';
|
|
284
|
-
}
|
|
285
|
-
const db = plugin.root?.inject('database');
|
|
286
|
-
const model = db?.models?.get('github_subscriptions');
|
|
287
|
-
if (!model)
|
|
288
|
-
return '❌ 数据库未就绪';
|
|
289
|
-
const validEvents = ['push', 'issue', 'star', 'fork', 'unstar', 'pull_request'];
|
|
290
|
-
const events = args.events
|
|
291
|
-
? args.events.split(',').map((s) => s.trim()).filter((e) => validEvents.includes(e))
|
|
292
|
-
: validEvents;
|
|
293
|
-
if (!events.length)
|
|
294
|
-
return `❌ 无效的事件类型,可选: ${validEvents.join(', ')}`;
|
|
295
|
-
const [existing] = await model.select().where({
|
|
296
|
-
repo: args.repo,
|
|
297
|
-
target_id: commMessage.$channel?.id,
|
|
298
|
-
adapter: commMessage.$adapter,
|
|
299
|
-
endpoint: commMessage.$endpoint,
|
|
300
|
-
});
|
|
301
|
-
if (existing) {
|
|
302
|
-
await model.update({ events, target_type: commMessage.$channel?.type || 'private' }).where({ id: existing.id });
|
|
303
|
-
return `✅ 已更新订阅 ${args.repo}\n📡 事件: ${events.join(', ')}`;
|
|
304
|
-
}
|
|
305
|
-
await model.insert({
|
|
306
|
-
id: Date.now(),
|
|
307
|
-
repo: args.repo,
|
|
308
|
-
events,
|
|
309
|
-
target_id: commMessage.$channel?.id,
|
|
310
|
-
target_type: commMessage.$channel?.type || 'private',
|
|
311
|
-
adapter: commMessage.$adapter,
|
|
312
|
-
endpoint: commMessage.$endpoint,
|
|
313
|
-
});
|
|
314
|
-
return `✅ 已订阅 ${args.repo}\n📡 事件: ${events.join(', ')}\n📌 通知将推送到当前通道`;
|
|
315
|
-
},
|
|
316
|
-
},
|
|
317
|
-
// --- Unsubscribe ---
|
|
318
|
-
{
|
|
319
|
-
name: 'github_unsubscribe',
|
|
320
|
-
description: '取消订阅 GitHub 仓库的 Webhook 事件',
|
|
321
|
-
parameters: {
|
|
322
|
-
type: 'object',
|
|
323
|
-
properties: {
|
|
324
|
-
repo: { type: 'string', description: 'owner/repo (必填)' },
|
|
325
|
-
},
|
|
326
|
-
required: ['repo'],
|
|
327
|
-
},
|
|
328
|
-
platforms: ['github'],
|
|
329
|
-
tags: ['github'],
|
|
330
|
-
execute: async (args, commMessage) => {
|
|
331
|
-
if (!commMessage?.$adapter || !commMessage?.$channel?.id || !commMessage?.$endpoint) {
|
|
332
|
-
return '❌ 无法获取当前聊天通道信息';
|
|
333
|
-
}
|
|
334
|
-
const db = plugin.root?.inject('database');
|
|
335
|
-
const model = db?.models?.get('github_subscriptions');
|
|
336
|
-
if (!model)
|
|
337
|
-
return '❌ 数据库未就绪';
|
|
338
|
-
const [existing] = await model.select().where({
|
|
339
|
-
repo: args.repo,
|
|
340
|
-
target_id: commMessage.$channel?.id,
|
|
341
|
-
adapter: commMessage.$adapter,
|
|
342
|
-
endpoint: commMessage.$endpoint,
|
|
343
|
-
});
|
|
344
|
-
if (!existing)
|
|
345
|
-
return `📭 当前通道未订阅 ${args.repo}`;
|
|
346
|
-
await model.delete().where({ id: existing.id });
|
|
347
|
-
return `✅ 已取消订阅 ${args.repo}`;
|
|
348
|
-
},
|
|
349
|
-
},
|
|
350
|
-
// --- Subscriptions ---
|
|
351
|
-
{
|
|
352
|
-
name: 'github_subscriptions',
|
|
353
|
-
description: '查看当前聊天通道的 GitHub 仓库订阅列表',
|
|
354
|
-
parameters: {
|
|
355
|
-
type: 'object',
|
|
356
|
-
properties: {},
|
|
357
|
-
},
|
|
358
|
-
platforms: ['github'],
|
|
359
|
-
tags: ['github'],
|
|
360
|
-
execute: async (_args, commMessage) => {
|
|
361
|
-
if (!commMessage?.$adapter || !commMessage?.$channel?.id || !commMessage?.$endpoint) {
|
|
362
|
-
return '❌ 无法获取当前聊天通道信息';
|
|
363
|
-
}
|
|
364
|
-
const db = plugin.root?.inject('database');
|
|
365
|
-
const model = db?.models?.get('github_subscriptions');
|
|
366
|
-
if (!model)
|
|
367
|
-
return '❌ 数据库未就绪';
|
|
368
|
-
const subs = await model.select().where({
|
|
369
|
-
target_id: commMessage.$channel?.id,
|
|
370
|
-
adapter: commMessage.$adapter,
|
|
371
|
-
endpoint: commMessage.$endpoint,
|
|
372
|
-
});
|
|
373
|
-
if (!subs?.length)
|
|
374
|
-
return '📭 当前通道没有任何 GitHub 订阅';
|
|
375
|
-
return `📋 当前通道订阅 (${subs.length}):\n\n` +
|
|
376
|
-
subs.map((s) => {
|
|
377
|
-
const events = Array.isArray(s.events) ? s.events : [];
|
|
378
|
-
return ` 📦 ${s.repo}\n 📡 ${events.join(', ') || '(无事件)'}`;
|
|
379
|
-
}).join('\n\n');
|
|
380
|
-
},
|
|
381
|
-
},
|
|
382
|
-
];
|
|
383
|
-
const disposers = tools.map(t => toolService.addTool(t, plugin.name));
|
|
384
|
-
logger.debug(`GitHub 工具已注册: ${tools.map(t => t.name).join(', ')}`);
|
|
385
|
-
return () => disposers.forEach(d => d());
|
|
386
|
-
});
|
|
387
|
-
logger.debug('GitHub 适配器已加载 (gh CLI 认证)');
|
|
388
|
-
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Register @modelcontextprotocol/server-github when a PAT is available.
|
|
3
|
-
*/
|
|
4
|
-
import type { Plugin } from 'zhin.js';
|
|
5
|
-
import 'zhin.js/agent';
|
|
6
|
-
export declare function registerGithubMcp(plugin: Plugin): void;
|
|
7
|
-
//# sourceMappingURL=register-github-mcp.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"register-github-mcp.d.ts","sourceRoot":"","sources":["../src/register-github-mcp.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,eAAe,CAAC;AAyBvB,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CA+BtD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"register-github-mcp.js","sourceRoot":"","sources":["../src/register-github-mcp.ts"],"names":[],"mappings":"AAKA,OAAO,eAAe,CAAC;AAevB,SAAS,qBAAqB,CAAC,EAAa;IAC1C,MAAM,UAAU,GAAG,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAChD,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAClC,OAAO,CACL,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,IAAI,EAAE;QAChD,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE;QAChC,SAAS,CACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAE5C,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE;QACtB,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE;YAAE,OAAO;QAE7B,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAsC,CAAC;QAC/E,IAAI,CAAC,YAAY;YAAE,OAAO;QAE1B,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO;QAE5C,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,aAAa,EAAE,UAAU,EAAqB,IAAI,EAAE,CAAC;QACvE,MAAM,KAAK,GAAG,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,qFAAqF,CAAC,CAAC;YACpG,OAAO;QACT,CAAC;QAED,OAAO,YAAY,CAAC,MAAM,CACxB;YACE,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,OAAO;YAClB,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,IAAI,EAAE,qCAAqC,CAAC;YACnD,GAAG,EAAE,EAAE,4BAA4B,EAAE,KAAK,EAAE;SAC7C,EACD,EAAE,EACF,gBAAgB,CACjB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/lib/segment-mapper.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"segment-mapper.d.ts","sourceRoot":"","sources":["../src/segment-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"segment-mapper.js","sourceRoot":"","sources":["../src/segment-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC"}
|
package/lib/types.d.ts
DELETED
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
export interface GitHubEndpointConfig {
|
|
2
|
-
context: 'github';
|
|
3
|
-
/** Endpoint 标识名称 */
|
|
4
|
-
name: string;
|
|
5
|
-
/** GitHub Enterprise 主机名(默认 github.com) */
|
|
6
|
-
host?: string;
|
|
7
|
-
/** GitHub App ID */
|
|
8
|
-
app_id?: string | number;
|
|
9
|
-
/** GitHub App 私钥(PEM 内容或文件路径) */
|
|
10
|
-
private_key?: string;
|
|
11
|
-
/** Webhook Secret(配置后启用 Webhook 接收事件,不配置则使用轮询) */
|
|
12
|
-
webhook_secret?: string;
|
|
13
|
-
/** Webhook 路由路径(默认 /github/webhook) */
|
|
14
|
-
webhook_path?: string;
|
|
15
|
-
/** 事件轮询间隔(秒,默认 60,Webhook 模式下作为降级备选) */
|
|
16
|
-
poll_interval?: number;
|
|
17
|
-
}
|
|
18
|
-
export interface ParsedChannel {
|
|
19
|
-
repo: string;
|
|
20
|
-
type: 'issue' | 'pr';
|
|
21
|
-
number: number;
|
|
22
|
-
}
|
|
23
|
-
export declare function parseChannelId(channelId: string): ParsedChannel | null;
|
|
24
|
-
export declare function buildChannelId(repo: string, type: 'issue' | 'pr', number: number): string;
|
|
25
|
-
export interface GitHubUser {
|
|
26
|
-
login: string;
|
|
27
|
-
id: number;
|
|
28
|
-
html_url: string;
|
|
29
|
-
}
|
|
30
|
-
export interface GitHubComment {
|
|
31
|
-
id: number;
|
|
32
|
-
body: string;
|
|
33
|
-
user: GitHubUser;
|
|
34
|
-
created_at: string;
|
|
35
|
-
updated_at: string;
|
|
36
|
-
html_url: string;
|
|
37
|
-
}
|
|
38
|
-
export interface GitHubRepo {
|
|
39
|
-
full_name: string;
|
|
40
|
-
html_url: string;
|
|
41
|
-
description?: string;
|
|
42
|
-
}
|
|
43
|
-
export interface GitHubIssue {
|
|
44
|
-
number: number;
|
|
45
|
-
title: string;
|
|
46
|
-
html_url: string;
|
|
47
|
-
state: string;
|
|
48
|
-
user: GitHubUser;
|
|
49
|
-
}
|
|
50
|
-
export interface GitHubPR {
|
|
51
|
-
number: number;
|
|
52
|
-
title: string;
|
|
53
|
-
html_url: string;
|
|
54
|
-
state: string;
|
|
55
|
-
user: GitHubUser;
|
|
56
|
-
head: {
|
|
57
|
-
ref: string;
|
|
58
|
-
};
|
|
59
|
-
base: {
|
|
60
|
-
ref: string;
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
export interface IssueCommentPayload {
|
|
64
|
-
action: 'created' | 'edited' | 'deleted';
|
|
65
|
-
comment: GitHubComment;
|
|
66
|
-
issue: GitHubIssue;
|
|
67
|
-
repository: GitHubRepo;
|
|
68
|
-
sender: GitHubUser;
|
|
69
|
-
}
|
|
70
|
-
export interface PRReviewCommentPayload {
|
|
71
|
-
action: 'created' | 'edited' | 'deleted';
|
|
72
|
-
comment: GitHubComment & {
|
|
73
|
-
diff_hunk?: string;
|
|
74
|
-
path?: string;
|
|
75
|
-
};
|
|
76
|
-
pull_request: GitHubPR;
|
|
77
|
-
repository: GitHubRepo;
|
|
78
|
-
sender: GitHubUser;
|
|
79
|
-
}
|
|
80
|
-
export interface PRReviewPayload {
|
|
81
|
-
action: 'submitted' | 'edited' | 'dismissed';
|
|
82
|
-
review: {
|
|
83
|
-
id: number;
|
|
84
|
-
body: string | null;
|
|
85
|
-
state: 'approved' | 'changes_requested' | 'commented' | 'dismissed';
|
|
86
|
-
user: GitHubUser;
|
|
87
|
-
html_url: string;
|
|
88
|
-
submitted_at: string;
|
|
89
|
-
};
|
|
90
|
-
pull_request: GitHubPR;
|
|
91
|
-
repository: GitHubRepo;
|
|
92
|
-
sender: GitHubUser;
|
|
93
|
-
}
|
|
94
|
-
export interface GenericWebhookPayload {
|
|
95
|
-
action?: string;
|
|
96
|
-
repository: GitHubRepo;
|
|
97
|
-
sender: GitHubUser;
|
|
98
|
-
ref?: string;
|
|
99
|
-
commits?: Array<{
|
|
100
|
-
id: string;
|
|
101
|
-
message: string;
|
|
102
|
-
author: {
|
|
103
|
-
name: string;
|
|
104
|
-
username?: string;
|
|
105
|
-
};
|
|
106
|
-
url: string;
|
|
107
|
-
}>;
|
|
108
|
-
issue?: GitHubIssue;
|
|
109
|
-
pull_request?: GitHubPR;
|
|
110
|
-
forkee?: {
|
|
111
|
-
full_name: string;
|
|
112
|
-
html_url: string;
|
|
113
|
-
owner: {
|
|
114
|
-
login: string;
|
|
115
|
-
};
|
|
116
|
-
};
|
|
117
|
-
}
|
|
118
|
-
export type EventType = 'push' | 'issue' | 'star' | 'fork' | 'unstar' | 'pull_request';
|
|
119
|
-
export interface Subscription {
|
|
120
|
-
id: number;
|
|
121
|
-
repo: string;
|
|
122
|
-
events: EventType[];
|
|
123
|
-
target_id: string;
|
|
124
|
-
target_type: 'private' | 'group' | 'channel';
|
|
125
|
-
adapter: string;
|
|
126
|
-
endpoint: string;
|
|
127
|
-
}
|
|
128
|
-
export type PrAction = 'list' | 'view' | 'diff' | 'merge' | 'create' | 'review' | 'close';
|
|
129
|
-
export type IssueAction = 'list' | 'view' | 'create' | 'close' | 'comment';
|
|
130
|
-
export type RepoAction = 'info' | 'branches' | 'releases' | 'runs' | 'stars';
|
|
131
|
-
export interface GitHubOAuthUser {
|
|
132
|
-
id: number;
|
|
133
|
-
/** 来源平台 (icqq, kook, discord …) */
|
|
134
|
-
platform: string;
|
|
135
|
-
/** 该平台上的用户 ID */
|
|
136
|
-
platform_uid: string;
|
|
137
|
-
/** GitHub 用户名 */
|
|
138
|
-
github_login: string;
|
|
139
|
-
/** OAuth Access Token */
|
|
140
|
-
access_token: string;
|
|
141
|
-
/** 绑定时间 (ms) */
|
|
142
|
-
created_at: number;
|
|
143
|
-
}
|
|
144
|
-
//# sourceMappingURL=types.d.ts.map
|
package/lib/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/lib/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,kCAAkC;AAClC,sBAAsB;AA6BtB,MAAM,UAAU,cAAc,CAAC,SAAiB;IAC9C,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAClE,IAAI,UAAU;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/F,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC7D,IAAI,OAAO;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,IAAoB,EAAE,MAAc;IAC/E,OAAO,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,WAAW,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,SAAS,MAAM,EAAE,CAAC;AAClF,CAAC"}
|
|
File without changes
|
|
File without changes
|