@zhin.js/adapter-github 0.1.32 → 0.1.33

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/lib/adapter.d.ts CHANGED
@@ -9,6 +9,8 @@ export declare class GitHubAdapter extends Adapter<GitHubBot> {
9
9
  start(): Promise<void>;
10
10
  /** 获取第一个可用 bot 的 API (工具用) */
11
11
  getAPI(): GitHubAPI | null;
12
+ /** 创建 OAuth 状态并返回授权 URL(供 github_bind 工具使用) */
13
+ createOAuthState(platform: string, platformUid: string): string | null;
12
14
  getOAuthClient(platform: string, platformUid: string): Promise<GitHubOAuthClient | null>;
13
15
  setupOAuth(router: import('@zhin.js/http').Router): void;
14
16
  setupWebhook(router: import('@zhin.js/http').Router): void;
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,OAAO,EACP,MAAM,EAEP,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAa,qBAAqB,EAAgB,MAAM,YAAY,CAAC;AAClG,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAqB,MAAM,UAAU,CAAC;AAkE3E,qBAAa,aAAc,SAAQ,OAAO,CAAC,SAAS,CAAC;IACnD,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAGlC;gBAEW,MAAM,EAAE,MAAM;IAI1B,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS;IAIvC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,8BAA8B;IAC9B,MAAM,IAAI,SAAS,GAAG,IAAI;IAOpB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAW9F,UAAU,CAAC,MAAM,EAAE,OAAO,eAAe,EAAE,MAAM,GAAG,IAAI;IA6GxD,YAAY,CAAC,MAAM,EAAE,OAAO,eAAe,EAAE,MAAM,GAAG,IAAI;IAwFpD,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;CA+C7F"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,OAAO,EACP,MAAM,EAEP,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAa,qBAAqB,EAAgB,MAAM,YAAY,CAAC;AAClG,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAqB,MAAM,UAAU,CAAC;AAkE3E,qBAAa,aAAc,SAAQ,OAAO,CAAC,SAAS,CAAC;IACnD,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAGlC;gBAEW,MAAM,EAAE,MAAM;IAI1B,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS;IAIvC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,8BAA8B;IAC9B,MAAM,IAAI,SAAS,GAAG,IAAI;IAK1B,+CAA+C;IAC/C,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAchE,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAW9F,UAAU,CAAC,MAAM,EAAE,OAAO,eAAe,EAAE,MAAM,GAAG,IAAI;IA6GxD,YAAY,CAAC,MAAM,EAAE,OAAO,eAAe,EAAE,MAAM,GAAG,IAAI;IAwFpD,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;CA+C7F"}
package/lib/adapter.js CHANGED
@@ -89,6 +89,17 @@ export class GitHubAdapter extends Adapter {
89
89
  const bot = this.bots.values().next().value;
90
90
  return bot?.api || null;
91
91
  }
92
+ /** 创建 OAuth 状态并返回授权 URL(供 github_bind 工具使用) */
93
+ createOAuthState(platform, platformUid) {
94
+ const bot = this.bots.values().next().value;
95
+ const clientId = bot?.$config.client_id;
96
+ if (!clientId)
97
+ return null;
98
+ const state = crypto.randomUUID();
99
+ oauthStates.set(state, { platform, platformUid, expires: Date.now() + OAUTH_STATE_TTL });
100
+ const base = this.publicUrl || '';
101
+ return `${base}/pub/github/oauth?state=${state}`;
102
+ }
92
103
  // ── OAuth 用户查询 ─────────────────────────────────────────────────
93
104
  async getOAuthClient(platform, platformUid) {
94
105
  const db = this.plugin.root?.inject('database');
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,QAAQ,SAAS,CAAC;IACvB,UAAU,MAAM,CAAC;QACf,UAAU,QAAQ;YAChB,MAAM,EAAE,OAAO,eAAe,EAAE,MAAM,CAAC;SACxC;KACF;IACD,UAAU,QAAQ;QAChB,MAAM,EAAE,aAAa,CAAC;KACvB;IACD,UAAU,MAAM;QACd,oBAAoB,EAAE;YACpB,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,OAAO,YAAY,EAAE,SAAS,EAAE,CAAC;YACzC,SAAS,EAAE,MAAM,CAAC;YAClB,WAAW,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;YAC7C,OAAO,EAAE,MAAM,CAAC;YAChB,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;QACF,aAAa,EAAE;YACb,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;YACb,UAAU,EAAE,MAAM,CAAC;YACnB,OAAO,EAAE,GAAG,CAAC;SACd,CAAC;QACF,kBAAkB,EAAE,OAAO,YAAY,EAAE,eAAe,CAAC;KAC1D;CACF;AAED,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,OAAO,QAAQ,SAAS,CAAC;IACvB,UAAU,MAAM,CAAC;QACf,UAAU,QAAQ;YAChB,MAAM,EAAE,OAAO,eAAe,EAAE,MAAM,CAAC;SACxC;KACF;IACD,UAAU,QAAQ;QAChB,MAAM,EAAE,aAAa,CAAC;KACvB;IACD,UAAU,MAAM;QACd,oBAAoB,EAAE;YACpB,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,OAAO,YAAY,EAAE,SAAS,EAAE,CAAC;YACzC,SAAS,EAAE,MAAM,CAAC;YAClB,WAAW,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;YAC7C,OAAO,EAAE,MAAM,CAAC;YAChB,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;QACF,aAAa,EAAE;YACb,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;YACb,UAAU,EAAE,MAAM,CAAC;YACnB,OAAO,EAAE,GAAG,CAAC;SACd,CAAC;QACF,kBAAkB,EAAE,OAAO,YAAY,EAAE,eAAe,CAAC;KAC1D;CACF;AAED,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
package/lib/index.js CHANGED
@@ -561,6 +561,264 @@ useContext('tool', 'github', (toolService, adapter) => {
561
561
  return `✅ ${itemType === 'pr' ? 'PR' : 'Issue'} #${num} 已更新\n🔗 ${r.data.html_url}`;
562
562
  },
563
563
  },
564
+ // --- Star ---
565
+ {
566
+ name: 'github_star',
567
+ description: 'Star 或取消 Star 一个 GitHub 仓库(需要先 github_bind 绑定账号)',
568
+ parameters: {
569
+ type: 'object',
570
+ properties: {
571
+ action: { type: 'string', description: 'star|unstar|check', enum: ['star', 'unstar', 'check'] },
572
+ repo: { type: 'string', description: 'owner/repo (必填)' },
573
+ },
574
+ required: ['action', 'repo'],
575
+ },
576
+ platforms: ['github'],
577
+ tags: ['github'],
578
+ execute: async (args, context) => {
579
+ if (!context?.platform || !context?.senderId)
580
+ return '❌ 无法获取用户信息';
581
+ const client = await adapter.getOAuthClient(context.platform, context.senderId);
582
+ if (!client)
583
+ return '❌ 你还没有绑定 GitHub 账号,请先使用 github_bind';
584
+ const { action, repo } = args;
585
+ switch (action) {
586
+ case 'star': {
587
+ const r = await client.starRepo(repo);
588
+ return r.ok || r.status === 204 ? `⭐ 已 Star ${repo}` : `❌ ${r.data?.message || JSON.stringify(r.data)}`;
589
+ }
590
+ case 'unstar': {
591
+ const r = await client.unstarRepo(repo);
592
+ return r.ok || r.status === 204 ? `💔 已取消 Star ${repo}` : `❌ ${r.data?.message || JSON.stringify(r.data)}`;
593
+ }
594
+ case 'check': {
595
+ const starred = await client.isStarred(repo);
596
+ return starred ? `⭐ 你已 Star ${repo}` : `☆ 你尚未 Star ${repo}`;
597
+ }
598
+ default: return `❌ 未知操作: ${action}`;
599
+ }
600
+ },
601
+ },
602
+ // --- Fork ---
603
+ {
604
+ name: 'github_fork',
605
+ description: 'Fork 一个 GitHub 仓库到自己的账号下(需要先 github_bind 绑定账号)',
606
+ parameters: {
607
+ type: 'object',
608
+ properties: {
609
+ repo: { type: 'string', description: 'owner/repo (必填)' },
610
+ },
611
+ required: ['repo'],
612
+ },
613
+ platforms: ['github'],
614
+ tags: ['github'],
615
+ execute: async (args, context) => {
616
+ if (!context?.platform || !context?.senderId)
617
+ return '❌ 无法获取用户信息';
618
+ const client = await adapter.getOAuthClient(context.platform, context.senderId);
619
+ if (!client)
620
+ return '❌ 你还没有绑定 GitHub 账号,请先使用 github_bind';
621
+ const r = await client.forkRepo(args.repo);
622
+ if (!r.ok)
623
+ return `❌ ${r.data?.message || JSON.stringify(r.data)}`;
624
+ return `🍴 已 Fork ${args.repo} → ${r.data.full_name}\n🔗 ${r.data.html_url}`;
625
+ },
626
+ },
627
+ // --- Subscribe ---
628
+ {
629
+ name: 'github_subscribe',
630
+ description: '订阅 GitHub 仓库的 Webhook 事件,事件将推送到当前聊天通道',
631
+ parameters: {
632
+ type: 'object',
633
+ properties: {
634
+ repo: { type: 'string', description: 'owner/repo (必填)' },
635
+ events: { type: 'string', description: '要订阅的事件类型,逗号分隔 (push/issue/star/fork/unstar/pull_request),默认全部' },
636
+ },
637
+ required: ['repo'],
638
+ },
639
+ platforms: ['github'],
640
+ tags: ['github'],
641
+ execute: async (args, context) => {
642
+ if (!context?.platform || !context?.senderId || !context?.sceneId || !context?.botId) {
643
+ return '❌ 无法获取当前聊天通道信息';
644
+ }
645
+ const db = plugin.root?.inject('database');
646
+ const model = db?.models?.get('github_subscriptions');
647
+ if (!model)
648
+ return '❌ 数据库未就绪';
649
+ const validEvents = ['push', 'issue', 'star', 'fork', 'unstar', 'pull_request'];
650
+ const events = args.events
651
+ ? args.events.split(',').map((s) => s.trim()).filter((e) => validEvents.includes(e))
652
+ : validEvents;
653
+ if (!events.length)
654
+ return `❌ 无效的事件类型,可选: ${validEvents.join(', ')}`;
655
+ const [existing] = await model.select().where({
656
+ repo: args.repo,
657
+ target_id: context.sceneId,
658
+ adapter: context.platform,
659
+ bot: context.botId,
660
+ });
661
+ if (existing) {
662
+ await model.update({ events, target_type: context.scope || 'private' }).where({ id: existing.id });
663
+ return `✅ 已更新订阅 ${args.repo}\n📡 事件: ${events.join(', ')}`;
664
+ }
665
+ await model.insert({
666
+ id: Date.now(),
667
+ repo: args.repo,
668
+ events,
669
+ target_id: context.sceneId,
670
+ target_type: context.scope || 'private',
671
+ adapter: context.platform,
672
+ bot: context.botId,
673
+ });
674
+ return `✅ 已订阅 ${args.repo}\n📡 事件: ${events.join(', ')}\n📌 通知将推送到当前通道`;
675
+ },
676
+ },
677
+ // --- Unsubscribe ---
678
+ {
679
+ name: 'github_unsubscribe',
680
+ description: '取消订阅 GitHub 仓库的 Webhook 事件',
681
+ parameters: {
682
+ type: 'object',
683
+ properties: {
684
+ repo: { type: 'string', description: 'owner/repo (必填)' },
685
+ },
686
+ required: ['repo'],
687
+ },
688
+ platforms: ['github'],
689
+ tags: ['github'],
690
+ execute: async (args, context) => {
691
+ if (!context?.platform || !context?.sceneId || !context?.botId) {
692
+ return '❌ 无法获取当前聊天通道信息';
693
+ }
694
+ const db = plugin.root?.inject('database');
695
+ const model = db?.models?.get('github_subscriptions');
696
+ if (!model)
697
+ return '❌ 数据库未就绪';
698
+ const [existing] = await model.select().where({
699
+ repo: args.repo,
700
+ target_id: context.sceneId,
701
+ adapter: context.platform,
702
+ bot: context.botId,
703
+ });
704
+ if (!existing)
705
+ return `📭 当前通道未订阅 ${args.repo}`;
706
+ await model.delete().where({ id: existing.id });
707
+ return `✅ 已取消订阅 ${args.repo}`;
708
+ },
709
+ },
710
+ // --- Subscriptions ---
711
+ {
712
+ name: 'github_subscriptions',
713
+ description: '查看当前聊天通道的 GitHub 仓库订阅列表',
714
+ parameters: {
715
+ type: 'object',
716
+ properties: {},
717
+ },
718
+ platforms: ['github'],
719
+ tags: ['github'],
720
+ execute: async (_args, context) => {
721
+ if (!context?.platform || !context?.sceneId || !context?.botId) {
722
+ return '❌ 无法获取当前聊天通道信息';
723
+ }
724
+ const db = plugin.root?.inject('database');
725
+ const model = db?.models?.get('github_subscriptions');
726
+ if (!model)
727
+ return '❌ 数据库未就绪';
728
+ const subs = await model.select().where({
729
+ target_id: context.sceneId,
730
+ adapter: context.platform,
731
+ bot: context.botId,
732
+ });
733
+ if (!subs?.length)
734
+ return '📭 当前通道没有任何 GitHub 订阅';
735
+ return `📋 当前通道订阅 (${subs.length}):\n\n` +
736
+ subs.map((s) => {
737
+ const events = Array.isArray(s.events) ? s.events : [];
738
+ return ` 📦 ${s.repo}\n 📡 ${events.join(', ') || '(无事件)'}`;
739
+ }).join('\n\n');
740
+ },
741
+ },
742
+ // --- Bind ---
743
+ {
744
+ name: 'github_bind',
745
+ description: '绑定 GitHub 账号,生成 OAuth 授权链接',
746
+ parameters: {
747
+ type: 'object',
748
+ properties: {},
749
+ },
750
+ platforms: ['github'],
751
+ tags: ['github'],
752
+ execute: async (_args, context) => {
753
+ if (!context?.platform || !context?.senderId)
754
+ return '❌ 无法获取用户信息';
755
+ // 检查是否已绑定
756
+ const db = plugin.root?.inject('database');
757
+ const model = db?.models?.get('github_oauth_users');
758
+ if (model) {
759
+ const [existing] = await model.select().where({ platform: context.platform, platform_uid: context.senderId });
760
+ if (existing)
761
+ return `✅ 你已绑定 GitHub 账号: ${existing.github_login}\n如需重新绑定,请先使用 github_unbind 解绑`;
762
+ }
763
+ const url = adapter.createOAuthState(context.platform, context.senderId);
764
+ if (!url)
765
+ return '❌ GitHub App 未配置 OAuth (缺少 client_id)';
766
+ return `🔗 请点击以下链接绑定你的 GitHub 账号:\n${url}\n\n链接有效期 5 分钟`;
767
+ },
768
+ },
769
+ // --- Unbind ---
770
+ {
771
+ name: 'github_unbind',
772
+ description: '解绑 GitHub 账号',
773
+ parameters: {
774
+ type: 'object',
775
+ properties: {},
776
+ },
777
+ platforms: ['github'],
778
+ tags: ['github'],
779
+ execute: async (_args, context) => {
780
+ if (!context?.platform || !context?.senderId)
781
+ return '❌ 无法获取用户信息';
782
+ const db = plugin.root?.inject('database');
783
+ const model = db?.models?.get('github_oauth_users');
784
+ if (!model)
785
+ return '❌ 数据库未就绪';
786
+ const [existing] = await model.select().where({ platform: context.platform, platform_uid: context.senderId });
787
+ if (!existing)
788
+ return '📭 你还没有绑定 GitHub 账号';
789
+ await model.delete().where({ id: existing.id });
790
+ return `✅ 已解绑 GitHub 账号: ${existing.github_login}`;
791
+ },
792
+ },
793
+ // --- Whoami ---
794
+ {
795
+ name: 'github_whoami',
796
+ description: '查看当前绑定的 GitHub 账号信息',
797
+ parameters: {
798
+ type: 'object',
799
+ properties: {},
800
+ },
801
+ platforms: ['github'],
802
+ tags: ['github'],
803
+ execute: async (_args, context) => {
804
+ if (!context?.platform || !context?.senderId)
805
+ return '❌ 无法获取用户信息';
806
+ const db = plugin.root?.inject('database');
807
+ const model = db?.models?.get('github_oauth_users');
808
+ if (!model)
809
+ return '❌ 数据库未就绪';
810
+ const [row] = await model.select().where({ platform: context.platform, platform_uid: context.senderId });
811
+ if (!row)
812
+ return '📭 你还没有绑定 GitHub 账号,使用 github_bind 进行绑定';
813
+ return [
814
+ `🐙 GitHub 账号信息`,
815
+ `👤 用户名: ${row.github_login}`,
816
+ `🆔 GitHub ID: ${row.github_id}`,
817
+ `📅 绑定时间: ${row.created_at instanceof Date ? row.created_at.toLocaleDateString() : String(row.created_at).split('T')[0]}`,
818
+ `🔑 权限: ${row.scope || '(默认)'}`,
819
+ ].join('\n');
820
+ },
821
+ },
564
822
  ];
565
823
  const disposers = tools.map(t => toolService.addTool(t, 'github'));
566
824
  logger.debug(`GitHub 工具已注册: ${tools.map(t => t.name).join(', ')}`);
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhin.js/adapter-github",
3
- "version": "0.1.32",
3
+ "version": "0.1.33",
4
4
  "description": "Zhin.js adapter for GitHub — treat issues/PRs as chat channels, full repo management, webhook notifications",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",
@@ -43,8 +43,8 @@
43
43
  "zhin.js": "1.0.62"
44
44
  },
45
45
  "peerDependencies": {
46
- "@zhin.js/http": "1.0.57",
47
- "zhin.js": "1.0.62"
46
+ "zhin.js": "1.0.62",
47
+ "@zhin.js/http": "1.0.57"
48
48
  },
49
49
  "peerDependenciesMeta": {
50
50
  "@zhin.js/http": {
package/src/adapter.ts CHANGED
@@ -99,6 +99,19 @@ export class GitHubAdapter extends Adapter<GitHubBot> {
99
99
  return bot?.api || null;
100
100
  }
101
101
 
102
+ /** 创建 OAuth 状态并返回授权 URL(供 github_bind 工具使用) */
103
+ createOAuthState(platform: string, platformUid: string): string | null {
104
+ const bot = this.bots.values().next().value as GitHubBot | undefined;
105
+ const clientId = bot?.$config.client_id;
106
+ if (!clientId) return null;
107
+
108
+ const state = crypto.randomUUID();
109
+ oauthStates.set(state, { platform, platformUid, expires: Date.now() + OAUTH_STATE_TTL });
110
+
111
+ const base = this.publicUrl || '';
112
+ return `${base}/pub/github/oauth?state=${state}`;
113
+ }
114
+
102
115
  // ── OAuth 用户查询 ─────────────────────────────────────────────────
103
116
 
104
117
  async getOAuthClient(platform: string, platformUid: string): Promise<GitHubOAuthClient | null> {
package/src/index.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  /**
2
2
  * GitHub 适配器入口:类型扩展、模型、导出、注册
3
3
  */
4
- import { usePlugin, type Plugin, type Context, type ToolFeature, type Tool } from 'zhin.js';
4
+ import { usePlugin, type Plugin, type Context, type ToolFeature, type Tool, type ToolContext } from 'zhin.js';
5
5
  import { GitHubAdapter } from './adapter.js';
6
+ import type { EventType } from './types.js';
6
7
 
7
8
  declare module 'zhin.js' {
8
9
  namespace Plugin {
@@ -553,6 +554,258 @@ useContext('tool', 'github', (toolService: ToolFeature, adapter: GitHubAdapter)
553
554
  return `✅ ${itemType === 'pr' ? 'PR' : 'Issue'} #${num} 已更新\n🔗 ${r.data.html_url}`;
554
555
  },
555
556
  },
557
+ // --- Star ---
558
+ {
559
+ name: 'github_star',
560
+ description: 'Star 或取消 Star 一个 GitHub 仓库(需要先 github_bind 绑定账号)',
561
+ parameters: {
562
+ type: 'object' as const,
563
+ properties: {
564
+ action: { type: 'string' as const, description: 'star|unstar|check', enum: ['star', 'unstar', 'check'] },
565
+ repo: { type: 'string' as const, description: 'owner/repo (必填)' },
566
+ },
567
+ required: ['action', 'repo'],
568
+ },
569
+ platforms: ['github'],
570
+ tags: ['github'],
571
+ execute: async (args: Record<string, any>, context?: ToolContext) => {
572
+ if (!context?.platform || !context?.senderId) return '❌ 无法获取用户信息';
573
+ const client = await adapter.getOAuthClient(context.platform, context.senderId);
574
+ if (!client) return '❌ 你还没有绑定 GitHub 账号,请先使用 github_bind';
575
+ const { action, repo } = args;
576
+ switch (action) {
577
+ case 'star': {
578
+ const r = await client.starRepo(repo);
579
+ return r.ok || r.status === 204 ? `⭐ 已 Star ${repo}` : `❌ ${r.data?.message || JSON.stringify(r.data)}`;
580
+ }
581
+ case 'unstar': {
582
+ const r = await client.unstarRepo(repo);
583
+ return r.ok || r.status === 204 ? `💔 已取消 Star ${repo}` : `❌ ${r.data?.message || JSON.stringify(r.data)}`;
584
+ }
585
+ case 'check': {
586
+ const starred = await client.isStarred(repo);
587
+ return starred ? `⭐ 你已 Star ${repo}` : `☆ 你尚未 Star ${repo}`;
588
+ }
589
+ default: return `❌ 未知操作: ${action}`;
590
+ }
591
+ },
592
+ },
593
+ // --- Fork ---
594
+ {
595
+ name: 'github_fork',
596
+ description: 'Fork 一个 GitHub 仓库到自己的账号下(需要先 github_bind 绑定账号)',
597
+ parameters: {
598
+ type: 'object' as const,
599
+ properties: {
600
+ repo: { type: 'string' as const, description: 'owner/repo (必填)' },
601
+ },
602
+ required: ['repo'],
603
+ },
604
+ platforms: ['github'],
605
+ tags: ['github'],
606
+ execute: async (args: Record<string, any>, context?: ToolContext) => {
607
+ if (!context?.platform || !context?.senderId) return '❌ 无法获取用户信息';
608
+ const client = await adapter.getOAuthClient(context.platform, context.senderId);
609
+ if (!client) return '❌ 你还没有绑定 GitHub 账号,请先使用 github_bind';
610
+ const r = await client.forkRepo(args.repo);
611
+ if (!r.ok) return `❌ ${r.data?.message || JSON.stringify(r.data)}`;
612
+ return `🍴 已 Fork ${args.repo} → ${r.data.full_name}\n🔗 ${r.data.html_url}`;
613
+ },
614
+ },
615
+ // --- Subscribe ---
616
+ {
617
+ name: 'github_subscribe',
618
+ description: '订阅 GitHub 仓库的 Webhook 事件,事件将推送到当前聊天通道',
619
+ parameters: {
620
+ type: 'object' as const,
621
+ properties: {
622
+ repo: { type: 'string' as const, description: 'owner/repo (必填)' },
623
+ events: { type: 'string' as const, description: '要订阅的事件类型,逗号分隔 (push/issue/star/fork/unstar/pull_request),默认全部' },
624
+ },
625
+ required: ['repo'],
626
+ },
627
+ platforms: ['github'],
628
+ tags: ['github'],
629
+ execute: async (args: Record<string, any>, context?: ToolContext) => {
630
+ if (!context?.platform || !context?.senderId || !context?.sceneId || !context?.botId) {
631
+ return '❌ 无法获取当前聊天通道信息';
632
+ }
633
+ const db = plugin.root?.inject('database') as any;
634
+ const model = db?.models?.get('github_subscriptions');
635
+ if (!model) return '❌ 数据库未就绪';
636
+
637
+ const validEvents: EventType[] = ['push', 'issue', 'star', 'fork', 'unstar', 'pull_request'];
638
+ const events: EventType[] = args.events
639
+ ? args.events.split(',').map((s: string) => s.trim()).filter((e: string) => validEvents.includes(e as EventType))
640
+ : validEvents;
641
+ if (!events.length) return `❌ 无效的事件类型,可选: ${validEvents.join(', ')}`;
642
+
643
+ const [existing] = await model.select().where({
644
+ repo: args.repo,
645
+ target_id: context.sceneId,
646
+ adapter: context.platform,
647
+ bot: context.botId,
648
+ });
649
+ if (existing) {
650
+ await model.update({ events, target_type: context.scope || 'private' }).where({ id: existing.id });
651
+ return `✅ 已更新订阅 ${args.repo}\n📡 事件: ${events.join(', ')}`;
652
+ }
653
+
654
+ await model.insert({
655
+ id: Date.now(),
656
+ repo: args.repo,
657
+ events,
658
+ target_id: context.sceneId,
659
+ target_type: context.scope || 'private',
660
+ adapter: context.platform,
661
+ bot: context.botId,
662
+ });
663
+ return `✅ 已订阅 ${args.repo}\n📡 事件: ${events.join(', ')}\n📌 通知将推送到当前通道`;
664
+ },
665
+ },
666
+ // --- Unsubscribe ---
667
+ {
668
+ name: 'github_unsubscribe',
669
+ description: '取消订阅 GitHub 仓库的 Webhook 事件',
670
+ parameters: {
671
+ type: 'object' as const,
672
+ properties: {
673
+ repo: { type: 'string' as const, description: 'owner/repo (必填)' },
674
+ },
675
+ required: ['repo'],
676
+ },
677
+ platforms: ['github'],
678
+ tags: ['github'],
679
+ execute: async (args: Record<string, any>, context?: ToolContext) => {
680
+ if (!context?.platform || !context?.sceneId || !context?.botId) {
681
+ return '❌ 无法获取当前聊天通道信息';
682
+ }
683
+ const db = plugin.root?.inject('database') as any;
684
+ const model = db?.models?.get('github_subscriptions');
685
+ if (!model) return '❌ 数据库未就绪';
686
+
687
+ const [existing] = await model.select().where({
688
+ repo: args.repo,
689
+ target_id: context.sceneId,
690
+ adapter: context.platform,
691
+ bot: context.botId,
692
+ });
693
+ if (!existing) return `📭 当前通道未订阅 ${args.repo}`;
694
+
695
+ await model.delete().where({ id: existing.id });
696
+ return `✅ 已取消订阅 ${args.repo}`;
697
+ },
698
+ },
699
+ // --- Subscriptions ---
700
+ {
701
+ name: 'github_subscriptions',
702
+ description: '查看当前聊天通道的 GitHub 仓库订阅列表',
703
+ parameters: {
704
+ type: 'object' as const,
705
+ properties: {},
706
+ },
707
+ platforms: ['github'],
708
+ tags: ['github'],
709
+ execute: async (_args: Record<string, any>, context?: ToolContext) => {
710
+ if (!context?.platform || !context?.sceneId || !context?.botId) {
711
+ return '❌ 无法获取当前聊天通道信息';
712
+ }
713
+ const db = plugin.root?.inject('database') as any;
714
+ const model = db?.models?.get('github_subscriptions');
715
+ if (!model) return '❌ 数据库未就绪';
716
+
717
+ const subs = await model.select().where({
718
+ target_id: context.sceneId,
719
+ adapter: context.platform,
720
+ bot: context.botId,
721
+ });
722
+ if (!subs?.length) return '📭 当前通道没有任何 GitHub 订阅';
723
+
724
+ return `📋 当前通道订阅 (${subs.length}):\n\n` +
725
+ subs.map((s: any) => {
726
+ const events = Array.isArray(s.events) ? s.events : [];
727
+ return ` 📦 ${s.repo}\n 📡 ${events.join(', ') || '(无事件)'}`;
728
+ }).join('\n\n');
729
+ },
730
+ },
731
+ // --- Bind ---
732
+ {
733
+ name: 'github_bind',
734
+ description: '绑定 GitHub 账号,生成 OAuth 授权链接',
735
+ parameters: {
736
+ type: 'object' as const,
737
+ properties: {},
738
+ },
739
+ platforms: ['github'],
740
+ tags: ['github'],
741
+ execute: async (_args: Record<string, any>, context?: ToolContext) => {
742
+ if (!context?.platform || !context?.senderId) return '❌ 无法获取用户信息';
743
+
744
+ // 检查是否已绑定
745
+ const db = plugin.root?.inject('database') as any;
746
+ const model = db?.models?.get('github_oauth_users');
747
+ if (model) {
748
+ const [existing] = await model.select().where({ platform: context.platform, platform_uid: context.senderId });
749
+ if (existing) return `✅ 你已绑定 GitHub 账号: ${existing.github_login}\n如需重新绑定,请先使用 github_unbind 解绑`;
750
+ }
751
+
752
+ const url = adapter.createOAuthState(context.platform, context.senderId);
753
+ if (!url) return '❌ GitHub App 未配置 OAuth (缺少 client_id)';
754
+
755
+ return `🔗 请点击以下链接绑定你的 GitHub 账号:\n${url}\n\n链接有效期 5 分钟`;
756
+ },
757
+ },
758
+ // --- Unbind ---
759
+ {
760
+ name: 'github_unbind',
761
+ description: '解绑 GitHub 账号',
762
+ parameters: {
763
+ type: 'object' as const,
764
+ properties: {},
765
+ },
766
+ platforms: ['github'],
767
+ tags: ['github'],
768
+ execute: async (_args: Record<string, any>, context?: ToolContext) => {
769
+ if (!context?.platform || !context?.senderId) return '❌ 无法获取用户信息';
770
+ const db = plugin.root?.inject('database') as any;
771
+ const model = db?.models?.get('github_oauth_users');
772
+ if (!model) return '❌ 数据库未就绪';
773
+
774
+ const [existing] = await model.select().where({ platform: context.platform, platform_uid: context.senderId });
775
+ if (!existing) return '📭 你还没有绑定 GitHub 账号';
776
+
777
+ await model.delete().where({ id: existing.id });
778
+ return `✅ 已解绑 GitHub 账号: ${existing.github_login}`;
779
+ },
780
+ },
781
+ // --- Whoami ---
782
+ {
783
+ name: 'github_whoami',
784
+ description: '查看当前绑定的 GitHub 账号信息',
785
+ parameters: {
786
+ type: 'object' as const,
787
+ properties: {},
788
+ },
789
+ platforms: ['github'],
790
+ tags: ['github'],
791
+ execute: async (_args: Record<string, any>, context?: ToolContext) => {
792
+ if (!context?.platform || !context?.senderId) return '❌ 无法获取用户信息';
793
+ const db = plugin.root?.inject('database') as any;
794
+ const model = db?.models?.get('github_oauth_users');
795
+ if (!model) return '❌ 数据库未就绪';
796
+
797
+ const [row] = await model.select().where({ platform: context.platform, platform_uid: context.senderId });
798
+ if (!row) return '📭 你还没有绑定 GitHub 账号,使用 github_bind 进行绑定';
799
+
800
+ return [
801
+ `🐙 GitHub 账号信息`,
802
+ `👤 用户名: ${row.github_login}`,
803
+ `🆔 GitHub ID: ${row.github_id}`,
804
+ `📅 绑定时间: ${row.created_at instanceof Date ? row.created_at.toLocaleDateString() : String(row.created_at).split('T')[0]}`,
805
+ `🔑 权限: ${row.scope || '(默认)'}`,
806
+ ].join('\n');
807
+ },
808
+ },
556
809
  ];
557
810
 
558
811
  const disposers = tools.map(t => toolService.addTool(t, 'github'));