@zhin.js/adapter-github 3.0.0 → 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.
Files changed (100) hide show
  1. package/README.md +23 -12
  2. package/{skills/github/SKILL.md → agent/skills/github.md} +22 -5
  3. package/agent/tools/bind.ts +12 -0
  4. package/agent/tools/create_pr.ts +19 -0
  5. package/agent/tools/install.ts +12 -0
  6. package/agent/tools/patch_file.ts +18 -0
  7. package/agent/tools/prepare_workspace.ts +14 -0
  8. package/agent/tools/push_branch.ts +17 -0
  9. package/agent/tools/star.ts +15 -0
  10. package/agent/tools/subscribe.ts +16 -0
  11. package/agent/tools/subscriptions.ts +13 -0
  12. package/agent/tools/unbind.ts +12 -0
  13. package/agent/tools/unsubscribe.ts +15 -0
  14. package/agent/tools/whoami.ts +12 -0
  15. package/lib/agent/tools/bind.js +12 -0
  16. package/lib/agent/tools/bind.js.map +1 -0
  17. package/lib/agent/tools/create_pr.js +19 -0
  18. package/lib/agent/tools/create_pr.js.map +1 -0
  19. package/lib/agent/tools/install.js +12 -0
  20. package/lib/agent/tools/install.js.map +1 -0
  21. package/lib/agent/tools/patch_file.js +18 -0
  22. package/lib/agent/tools/patch_file.js.map +1 -0
  23. package/lib/agent/tools/prepare_workspace.js +14 -0
  24. package/lib/agent/tools/prepare_workspace.js.map +1 -0
  25. package/lib/agent/tools/push_branch.js +17 -0
  26. package/lib/agent/tools/push_branch.js.map +1 -0
  27. package/lib/agent/tools/star.js +15 -0
  28. package/lib/agent/tools/star.js.map +1 -0
  29. package/lib/agent/tools/subscribe.js +16 -0
  30. package/lib/agent/tools/subscribe.js.map +1 -0
  31. package/lib/agent/tools/subscriptions.js +13 -0
  32. package/lib/agent/tools/subscriptions.js.map +1 -0
  33. package/lib/agent/tools/unbind.js +12 -0
  34. package/lib/agent/tools/unbind.js.map +1 -0
  35. package/lib/agent/tools/unsubscribe.js +15 -0
  36. package/lib/agent/tools/unsubscribe.js.map +1 -0
  37. package/lib/agent/tools/whoami.js +12 -0
  38. package/lib/agent/tools/whoami.js.map +1 -0
  39. package/lib/{adapter.js → src/adapter.js} +12 -6
  40. package/lib/src/adapter.js.map +1 -0
  41. package/lib/{agent-prompt.js → src/agent-prompt.js} +10 -8
  42. package/lib/src/agent-prompt.js.map +1 -0
  43. package/lib/{endpoint.js → src/endpoint.js} +37 -8
  44. package/lib/src/endpoint.js.map +1 -0
  45. package/lib/{gh-client.js → src/gh-client.js} +99 -0
  46. package/lib/src/gh-client.js.map +1 -0
  47. package/lib/src/github-agent-deps.js +13 -0
  48. package/lib/src/github-agent-deps.js.map +1 -0
  49. package/lib/src/github-bot-handlers.js +78 -0
  50. package/lib/src/github-bot-handlers.js.map +1 -0
  51. package/lib/src/github-channel-context.js +32 -0
  52. package/lib/src/github-channel-context.js.map +1 -0
  53. package/lib/src/github-tool-handlers.js +215 -0
  54. package/lib/src/github-tool-handlers.js.map +1 -0
  55. package/lib/src/index.js +104 -0
  56. package/lib/src/index.js.map +1 -0
  57. package/lib/{register-github-mcp.js → src/register-github-mcp.js} +5 -0
  58. package/lib/src/register-github-mcp.js.map +1 -0
  59. package/lib/src/segment-mapper.js +2 -0
  60. package/lib/src/segment-mapper.js.map +1 -0
  61. package/lib/src/types.js.map +1 -0
  62. package/lib/src/workspace-manager.js +109 -0
  63. package/lib/src/workspace-manager.js.map +1 -0
  64. package/package.json +16 -6
  65. package/src/adapter.ts +13 -8
  66. package/src/agent-prompt.ts +11 -10
  67. package/src/endpoint.ts +48 -14
  68. package/src/gh-client.ts +131 -0
  69. package/src/github-agent-deps.ts +27 -0
  70. package/src/github-bot-handlers.ts +109 -0
  71. package/src/github-channel-context.ts +46 -0
  72. package/src/github-tool-handlers.ts +244 -0
  73. package/src/index.ts +32 -326
  74. package/src/register-github-mcp.ts +5 -0
  75. package/src/segment-mapper.ts +1 -0
  76. package/src/types.ts +6 -0
  77. package/src/workspace-manager.ts +114 -0
  78. package/lib/adapter.d.ts +0 -65
  79. package/lib/adapter.d.ts.map +0 -1
  80. package/lib/adapter.js.map +0 -1
  81. package/lib/agent-prompt.d.ts +0 -3
  82. package/lib/agent-prompt.d.ts.map +0 -1
  83. package/lib/agent-prompt.js.map +0 -1
  84. package/lib/endpoint.d.ts +0 -26
  85. package/lib/endpoint.d.ts.map +0 -1
  86. package/lib/endpoint.js.map +0 -1
  87. package/lib/gh-client.d.ts +0 -228
  88. package/lib/gh-client.d.ts.map +0 -1
  89. package/lib/gh-client.js.map +0 -1
  90. package/lib/index.d.ts +0 -34
  91. package/lib/index.d.ts.map +0 -1
  92. package/lib/index.js +0 -388
  93. package/lib/index.js.map +0 -1
  94. package/lib/register-github-mcp.d.ts +0 -7
  95. package/lib/register-github-mcp.d.ts.map +0 -1
  96. package/lib/register-github-mcp.js.map +0 -1
  97. package/lib/types.d.ts +0 -144
  98. package/lib/types.d.ts.map +0 -1
  99. package/lib/types.js.map +0 -1
  100. /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/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
@@ -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