@zhin.js/plugin-github-notify 0.0.11 → 0.0.12

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/index.js CHANGED
@@ -1,82 +1,126 @@
1
- import { usePlugin, MessageCommand } from "zhin.js";
1
+ import { usePlugin, ZhinTool } from "zhin.js";
2
2
  import crypto from "node:crypto";
3
3
  const plugin = usePlugin();
4
- const { addCommand, useContext, root, logger } = plugin;
4
+ const { defineModel, useContext, root, logger } = plugin;
5
5
  // 获取配置
6
6
  const configService = root.inject("config");
7
7
  const appConfig = configService?.get("zhin.config.yml") ?? {};
8
8
  const config = appConfig["github-notify"] || {};
9
- // 等待数据库就绪后定义模型
10
- useContext("database", (db) => {
11
- // 定义数据模型(必须在数据库服务启动后调用)
12
- plugin.defineModel("github_subscriptions", {
13
- id: { type: "integer", primary: true },
14
- repo: { type: "text", nullable: false },
15
- events: { type: "json", default: [] },
16
- target_id: { type: "text", nullable: false },
17
- target_type: { type: "text", nullable: false },
18
- adapter: { type: "text", nullable: false },
19
- bot: { type: "text", nullable: false },
20
- });
21
- plugin.defineModel("github_events", {
22
- id: { type: "integer", primary: true },
23
- repo: { type: "text", nullable: false },
24
- event_type: { type: "text", nullable: false },
25
- payload: { type: "json", default: {} },
26
- });
9
+ defineModel("github_subscriptions", {
10
+ id: { type: "integer", primary: true },
11
+ repo: { type: "text", nullable: false },
12
+ events: { type: "json", default: [] },
13
+ target_id: { type: "text", nullable: false },
14
+ target_type: { type: "text", nullable: false },
15
+ adapter: { type: "text", nullable: false },
16
+ bot: { type: "text", nullable: false },
17
+ });
18
+ defineModel("github_events", {
19
+ id: { type: "integer", primary: true },
20
+ repo: { type: "text", nullable: false },
21
+ event_type: { type: "text", nullable: false },
22
+ payload: { type: "json", default: {} },
23
+ });
24
+ // 有效的事件类型
25
+ const validEvents = ["push", "issue", "star", "fork", "unstar", "pull_request"];
26
+ useContext("database", "tool", (db, toolService) => {
27
27
  const subscriptions = db.models.get("github_subscriptions");
28
28
  const events = db.models.get("github_events");
29
29
  if (!subscriptions || !events) {
30
30
  logger.warn("github-notify: 数据库初始化失败,模型未创建");
31
31
  return;
32
32
  }
33
- // 订阅仓库命令
34
- // 使用解构出来的 addCommand
35
- addCommand(new MessageCommand("github.subscribe <repo:text> [...events:text]").action(async (message, result) => {
33
+ // ============================================================================
34
+ // GitHub 订阅工具 (使用 ZhinTool)
35
+ // ============================================================================
36
+ // 订阅仓库工具
37
+ const subscribeTool = new ZhinTool('github.subscribe')
38
+ .desc('订阅 GitHub 仓库的更新通知')
39
+ .tag('github', 'subscription')
40
+ .param('repo', { type: 'string', description: '仓库名,格式为 owner/repo' }, true)
41
+ .param('events', {
42
+ type: 'array',
43
+ description: '要订阅的事件类型: push, issue, star, fork, unstar, pr(留空订阅全部)'
44
+ })
45
+ .execute(async ({ repo, events: eventList = [] }, context) => {
46
+ if (!context?.message)
47
+ return { success: false, error: '无法获取消息上下文' };
48
+ const message = context.message;
49
+ const repoStr = repo;
50
+ const eventArray = eventList;
51
+ if (!repoStr.includes('/')) {
52
+ return { success: false, error: '仓库名格式错误,应为 owner/repo' };
53
+ }
54
+ // 处理事件类型
55
+ const parsedEvents = [];
56
+ for (const event of eventArray) {
57
+ const normalized = event.toLowerCase();
58
+ if (normalized === 'pr') {
59
+ parsedEvents.push('pull_request');
60
+ }
61
+ else if (validEvents.includes(normalized)) {
62
+ parsedEvents.push(normalized);
63
+ }
64
+ else {
65
+ return { success: false, error: `不支持的事件类型: ${event}` };
66
+ }
67
+ }
68
+ const subscribeEvents = parsedEvents.length > 0 ? parsedEvents : validEvents;
69
+ const targetId = message.$channel.id;
70
+ const targetType = message.$channel.type;
71
+ const adapter = message.$adapter;
72
+ const bot = message.$bot;
73
+ const [existing] = await subscriptions.select().where({
74
+ repo: repoStr,
75
+ target_id: targetId,
76
+ target_type: targetType,
77
+ adapter,
78
+ bot,
79
+ });
80
+ if (existing) {
81
+ await subscriptions.update({ events: subscribeEvents }).where({ id: existing.id });
82
+ return { success: true, action: 'updated', repo: repoStr, events: subscribeEvents };
83
+ }
84
+ await subscriptions.insert({
85
+ id: Date.now(),
86
+ repo: repoStr,
87
+ events: subscribeEvents,
88
+ target_id: targetId,
89
+ target_type: targetType,
90
+ adapter,
91
+ bot,
92
+ });
93
+ return { success: true, action: 'created', repo: repoStr, events: subscribeEvents };
94
+ })
95
+ .action(async (message, result) => {
36
96
  const repo = result.params.repo;
37
97
  const eventList = result.params.events || [];
38
- // 验证仓库名格式
39
- if (!repo.includes("/")) {
40
- return "❌ 仓库名格式错误,应为 owner/repo";
98
+ if (!repo.includes('/')) {
99
+ return '❌ 仓库名格式错误,应为 owner/repo';
41
100
  }
42
- // 验证事件类型
43
- const validEvents = [
44
- "push",
45
- "issue",
46
- "star",
47
- "fork",
48
- "unstar",
49
- "pull_request",
50
- ];
51
- const events = [];
101
+ const parsedEvents = [];
52
102
  for (const event of eventList) {
53
103
  const normalized = event.toLowerCase();
54
- if (normalized === "pr") {
55
- events.push("pull_request");
104
+ if (normalized === 'pr') {
105
+ parsedEvents.push('pull_request');
56
106
  }
57
107
  else if (validEvents.includes(normalized)) {
58
- events.push(normalized);
108
+ parsedEvents.push(normalized);
59
109
  }
60
110
  else {
61
111
  return `❌ 不支持的事件类型: ${event}\n支持的事件: push, issue, star, fork, unstar, pr`;
62
112
  }
63
113
  }
64
- // 如果没有指定事件,订阅所有事件
65
- const subscribeEvents = events.length > 0 ? events : validEvents;
66
- // 检查权限(仅好友或群管理)
67
- const isPrivate = message.$channel.type === "private";
68
- const isAdmin = message.$channel.type === "group"; // 这里应该检查是否是管理员,简化处理
69
- if (!isPrivate && !isAdmin) {
70
- return "❌ 只有好友或群管理员可以订阅 GitHub 通知";
114
+ const subscribeEvents = parsedEvents.length > 0 ? parsedEvents : validEvents;
115
+ const isPrivate = message.$channel.type === 'private';
116
+ if (!isPrivate) {
117
+ // 这里可以添加管理员检查
71
118
  }
72
119
  const targetId = message.$channel.id;
73
120
  const targetType = message.$channel.type;
74
121
  const adapter = message.$adapter;
75
122
  const bot = message.$bot;
76
- // 检查是否已订阅
77
- const [existing] = await subscriptions
78
- .select("id", "repo", "events", "target_id", "target_type", "adapter", "bot")
79
- .where({
123
+ const [existing] = await subscriptions.select().where({
80
124
  repo,
81
125
  target_id: targetId,
82
126
  target_type: targetType,
@@ -84,15 +128,9 @@ useContext("database", (db) => {
84
128
  bot,
85
129
  });
86
130
  if (existing) {
87
- // 更新订阅
88
- await subscriptions
89
- .update({
90
- events: subscribeEvents,
91
- })
92
- .where({ id: existing.id });
93
- return `✅ 已更新订阅 ${repo}\n📢 订阅事件: ${subscribeEvents.join(", ")}`;
131
+ await subscriptions.update({ events: subscribeEvents }).where({ id: existing.id });
132
+ return `✅ 已更新订阅 ${repo}\n📢 订阅事件: ${subscribeEvents.join(', ')}`;
94
133
  }
95
- // 创建新订阅
96
134
  await subscriptions.insert({
97
135
  id: Date.now(),
98
136
  repo,
@@ -102,18 +140,42 @@ useContext("database", (db) => {
102
140
  adapter,
103
141
  bot,
104
142
  });
105
- return `✅ 成功订阅 ${repo}\n📢 订阅事件: ${subscribeEvents.join(", ")}\n\n💡 配置 Webhook:\n1. 访问 https://github.com/${repo}/settings/hooks\n2. 添加 Webhook URL: http://zhin.liucl.cn/api/github/webhook\n3. 选择事件: ${subscribeEvents.join(", ")}\n4. 设置 Secret (可选): 在插件配置中设置`;
106
- }));
107
- // 取消订阅命令
108
- addCommand(new MessageCommand("github.unsubscribe <repo:text>").action(async (message, result) => {
143
+ return `✅ 成功订阅 ${repo}\n📢 订阅事件: ${subscribeEvents.join(', ')}\n\n💡 配置 Webhook:\n1. 访问 https://github.com/${repo}/settings/hooks\n2. 添加 Webhook URL\n3. 选择事件: ${subscribeEvents.join(', ')}`;
144
+ });
145
+ // 取消订阅工具
146
+ const unsubscribeTool = new ZhinTool('github.unsubscribe')
147
+ .desc('取消订阅 GitHub 仓库的更新通知')
148
+ .tag('github', 'subscription')
149
+ .param('repo', { type: 'string', description: '仓库名,格式为 owner/repo' }, true)
150
+ .execute(async ({ repo }, context) => {
151
+ if (!context?.message)
152
+ return { success: false, error: '无法获取消息上下文' };
153
+ const message = context.message;
154
+ const repoStr = repo;
155
+ const targetId = message.$channel.id;
156
+ const targetType = message.$channel.type;
157
+ const adapter = message.$adapter;
158
+ const bot = message.$bot;
159
+ const [subscription] = await subscriptions.select().where({
160
+ repo: repoStr,
161
+ target_id: targetId,
162
+ target_type: targetType,
163
+ adapter,
164
+ bot,
165
+ });
166
+ if (!subscription) {
167
+ return { success: false, error: `未找到订阅: ${repoStr}` };
168
+ }
169
+ await subscriptions.delete({ id: subscription.id });
170
+ return { success: true, repo: repoStr };
171
+ })
172
+ .action(async (message, result) => {
109
173
  const repo = result.params.repo;
110
174
  const targetId = message.$channel.id;
111
175
  const targetType = message.$channel.type;
112
176
  const adapter = message.$adapter;
113
177
  const bot = message.$bot;
114
- const [subscription] = await subscriptions
115
- .select("id", "repo", "target_id", "target_type", "adapter", "bot")
116
- .where({
178
+ const [subscription] = await subscriptions.select().where({
117
179
  repo,
118
180
  target_id: targetId,
119
181
  target_type: targetType,
@@ -125,148 +187,184 @@ useContext("database", (db) => {
125
187
  }
126
188
  await subscriptions.delete({ id: subscription.id });
127
189
  return `✅ 已取消订阅 ${repo}`;
128
- }));
129
- // 查看订阅列表命令
130
- addCommand(new MessageCommand("github.list").action(async (message) => {
190
+ });
191
+ // 列出订阅工具
192
+ const listTool = new ZhinTool('github.list')
193
+ .desc('查看当前场景的 GitHub 订阅列表')
194
+ .tag('github', 'subscription')
195
+ .execute(async (_args, context) => {
196
+ if (!context?.message)
197
+ return { success: false, error: '无法获取消息上下文' };
198
+ const message = context.message;
131
199
  const targetId = message.$channel.id;
132
200
  const targetType = message.$channel.type;
133
201
  const adapter = message.$adapter;
134
202
  const bot = message.$bot;
135
- const subs = await subscriptions
136
- .select("id", "repo", "events", "adapter", "bot", "target_id", "target_type")
137
- .where({
203
+ const subs = await subscriptions.select().where({
204
+ target_id: targetId,
205
+ target_type: targetType,
206
+ adapter,
207
+ bot,
208
+ });
209
+ return {
210
+ success: true,
211
+ count: subs?.length || 0,
212
+ subscriptions: subs?.map((sub) => ({
213
+ repo: sub.repo,
214
+ events: sub.events,
215
+ })) || [],
216
+ };
217
+ })
218
+ .action(async (message) => {
219
+ const targetId = message.$channel.id;
220
+ const targetType = message.$channel.type;
221
+ const adapter = message.$adapter;
222
+ const bot = message.$bot;
223
+ const subs = await subscriptions.select().where({
138
224
  target_id: targetId,
139
225
  target_type: targetType,
140
226
  adapter,
141
227
  bot,
142
228
  });
143
229
  if (!subs || subs.length === 0) {
144
- return "📭 当前没有订阅任何仓库";
230
+ return '📭 当前没有订阅任何仓库';
145
231
  }
146
232
  const list = subs
147
233
  .map((sub, index) => {
148
- const events = Array.isArray(sub.events)
149
- ? sub.events.join(", ")
150
- : "无";
151
- return `${index + 1}. ${sub.repo}\n 📢 ${events}`;
234
+ const eventStr = Array.isArray(sub.events) ? sub.events.join(', ') : '无';
235
+ return `${index + 1}. ${sub.repo}\n 📢 ${eventStr}`;
152
236
  })
153
- .join("\n\n");
237
+ .join('\n\n');
154
238
  return `📋 订阅列表 (共 ${subs.length} 个):\n\n${list}`;
155
- }));
156
- // 注册 Webhook 路由
157
- // 使用 plugin.useContext (因为 useContext 并不是 plugin 类的自有方法,而是全局导出,但 plugin 实例有自己的上下文管理逻辑)
158
- // 如果 Plugin 类实现了 useContext 方法,那么可以像 addCommand 一样解构
159
- // 经检查 Plugin 类没有直接的 useContext 方法,但它继承自 Dependency,而 Dependency 有上下文管理
160
- // 这里我们还是用 plugin.useContext
161
- // @ts-expect-error - router 类型在 @zhin.js/http 中声明
162
- plugin.useContext("router", (router) => {
163
- router.post("/api/github/webhook", async (ctx) => {
164
- try {
165
- const signature = ctx.request.headers["x-hub-signature-256"];
166
- const event = ctx.request.headers["x-github-event"];
167
- const payload = ctx.body;
168
- logger.info(`收到 GitHub Webhook: ${event} - ${payload.repository?.full_name}`);
169
- // 验证签名(如果配置了 secret)
170
- const secret = config.webhook_secret;
171
- if (secret && signature) {
172
- const expectedSignature = `sha256=${crypto
173
- .createHmac("sha256", secret)
174
- .update(JSON.stringify(ctx.body))
175
- .digest("hex")}`;
176
- if (signature !== expectedSignature) {
177
- logger.warn("GitHub Webhook 签名验证失败");
178
- ctx.status = 401;
179
- ctx.body = { error: "Invalid signature" };
180
- return;
181
- }
182
- }
183
- if (!payload.repository) {
184
- ctx.status = 400;
185
- ctx.body = { error: "Invalid payload" };
186
- return;
187
- }
188
- const repo = payload.repository.full_name;
189
- // 保存事件
190
- await events.create({
191
- id: Date.now(),
192
- repo,
193
- event_type: event,
194
- payload,
195
- });
196
- // 映射事件类型
197
- let eventType = null;
198
- switch (event) {
199
- case "push":
200
- eventType = "push";
201
- break;
202
- case "issues":
203
- eventType = "issue";
204
- break;
205
- case "star":
206
- eventType = payload.action === "deleted" ? "unstar" : "star";
207
- break;
208
- case "fork":
209
- eventType = "fork";
210
- break;
211
- case "pull_request":
212
- eventType = "pull_request";
213
- break;
214
- }
215
- if (!eventType) {
216
- logger.debug(`忽略事件类型: ${event}`);
217
- ctx.status = 200;
218
- ctx.body = { message: "Event ignored" };
239
+ });
240
+ // 注册所有工具
241
+ if (toolService) {
242
+ const disposers = [
243
+ toolService.add(subscribeTool, 'github-notify'),
244
+ toolService.add(unsubscribeTool, 'github-notify'),
245
+ toolService.add(listTool, 'github-notify'),
246
+ ];
247
+ logger.debug('GitHub 订阅工具已注册');
248
+ // 返回清理函数
249
+ return () => disposers.forEach(dispose => dispose());
250
+ }
251
+ });
252
+ // 注册 Webhook 路由
253
+ // @ts-expect-error - router 类型在 @zhin.js/http 中声明
254
+ plugin.useContext("router", (router) => {
255
+ router.post("/api/github/webhook", async (ctx) => {
256
+ try {
257
+ const signature = ctx.request.headers["x-hub-signature-256"];
258
+ const event = ctx.request.headers["x-github-event"];
259
+ const payload = ctx.body;
260
+ logger.info(`收到 GitHub Webhook: ${event} - ${payload.repository?.full_name}`);
261
+ // 验证签名(如果配置了 secret)
262
+ const secret = config.webhook_secret;
263
+ if (secret && signature) {
264
+ const expectedSignature = `sha256=${crypto
265
+ .createHmac("sha256", secret)
266
+ .update(JSON.stringify(ctx.body))
267
+ .digest("hex")}`;
268
+ if (signature !== expectedSignature) {
269
+ logger.warn("GitHub Webhook 签名验证失败");
270
+ ctx.status = 401;
271
+ ctx.body = { error: "Invalid signature" };
219
272
  return;
220
273
  }
221
- // 查找订阅
222
- const subs = await subscriptions.select().where({ repo });
223
- if (!subs || subs.length === 0) {
224
- logger.debug(`没有找到仓库 ${repo} 的订阅`);
225
- ctx.status = 200;
226
- ctx.body = { message: "No subscriptions" };
227
- return;
274
+ }
275
+ if (!payload.repository) {
276
+ ctx.status = 400;
277
+ ctx.body = { error: "Invalid payload" };
278
+ return;
279
+ }
280
+ const repo = payload.repository.full_name;
281
+ const db = root.inject("database");
282
+ const subscriptionsModel = db?.models?.get("github_subscriptions");
283
+ const eventsModel = db?.models?.get("github_events");
284
+ if (!subscriptionsModel || !eventsModel) {
285
+ ctx.status = 500;
286
+ ctx.body = { error: "Database not ready" };
287
+ return;
288
+ }
289
+ // 保存事件
290
+ await eventsModel.insert({
291
+ id: Date.now(),
292
+ repo,
293
+ event_type: event,
294
+ payload,
295
+ });
296
+ // 映射事件类型
297
+ let eventType = null;
298
+ switch (event) {
299
+ case "push":
300
+ eventType = "push";
301
+ break;
302
+ case "issues":
303
+ eventType = "issue";
304
+ break;
305
+ case "star":
306
+ eventType = payload.action === "deleted" ? "unstar" : "star";
307
+ break;
308
+ case "fork":
309
+ eventType = "fork";
310
+ break;
311
+ case "pull_request":
312
+ eventType = "pull_request";
313
+ break;
314
+ }
315
+ if (!eventType) {
316
+ logger.debug(`忽略事件类型: ${event}`);
317
+ ctx.status = 200;
318
+ ctx.body = { message: "Event ignored" };
319
+ return;
320
+ }
321
+ // 查找订阅
322
+ const subs = await subscriptionsModel.select().where({ repo });
323
+ if (!subs || subs.length === 0) {
324
+ logger.debug(`没有找到仓库 ${repo} 的订阅`);
325
+ ctx.status = 200;
326
+ ctx.body = { message: "No subscriptions" };
327
+ return;
328
+ }
329
+ // 生成通知消息
330
+ const message = formatGitHubEvent(event, payload);
331
+ // 发送通知给订阅者
332
+ for (const sub of subs) {
333
+ const subscription = sub;
334
+ // 检查是否订阅了此事件
335
+ if (!subscription.events.includes(eventType)) {
336
+ continue;
228
337
  }
229
- // 生成通知消息
230
- const message = formatGitHubEvent(event, payload);
231
- // 发送通知给订阅者
232
- for (const sub of subs) {
233
- const subscription = sub;
234
- // 检查是否订阅了此事件
235
- if (!subscription.events.includes(eventType)) {
236
- continue;
237
- }
238
- try {
239
- // 获取适配器并发送消息
240
- const adapter = root.inject(subscription.adapter);
241
- if (adapter && typeof adapter.emit === 'function') {
242
- await adapter.sendMessage({
243
- context: subscription.adapter,
244
- bot: subscription.bot,
245
- id: subscription.target_id,
246
- type: subscription.target_type,
247
- content: message,
248
- });
249
- logger.info(`已发送通知到 ${subscription.target_type}:${subscription.target_id}`);
250
- }
251
- else {
252
- logger.warn(`适配器 ${subscription.adapter} 未找到`);
253
- }
338
+ try {
339
+ const adapter = root.inject(subscription.adapter);
340
+ if (adapter && typeof adapter.emit === "function") {
341
+ await adapter.sendMessage({
342
+ context: subscription.adapter,
343
+ bot: subscription.bot,
344
+ id: subscription.target_id,
345
+ type: subscription.target_type,
346
+ content: message,
347
+ });
348
+ logger.info(`已发送通知到 ${subscription.target_type}:${subscription.target_id}`);
254
349
  }
255
- catch (error) {
256
- logger.error(`发送通知失败:`, error);
350
+ else {
351
+ logger.warn(`适配器 ${subscription.adapter} 未找到`);
257
352
  }
258
353
  }
259
- ctx.status = 200;
260
- ctx.body = { message: "OK", notified: subs.length };
261
- }
262
- catch (error) {
263
- logger.error("处理 Webhook 失败:", error);
264
- ctx.status = 500;
265
- ctx.body = { error: "Internal server error" };
354
+ catch (error) {
355
+ logger.error(`发送通知失败:`, error);
356
+ }
266
357
  }
267
- });
268
- logger.info("GitHub Webhook 路由已注册: POST /api/github/webhook");
358
+ ctx.status = 200;
359
+ ctx.body = { message: "OK", notified: subs.length };
360
+ }
361
+ catch (error) {
362
+ logger.error("处理 Webhook 失败:", error);
363
+ ctx.status = 500;
364
+ ctx.body = { error: "Internal server error" };
365
+ }
269
366
  });
367
+ logger.info("GitHub Webhook 路由已注册: POST /api/github/webhook");
270
368
  });
271
369
  // 格式化 GitHub 事件为消息
272
370
  function formatGitHubEvent(event, payload) {
@@ -297,11 +395,7 @@ function formatGitHubEvent(event, payload) {
297
395
  case "issues": {
298
396
  const issue = payload.issue;
299
397
  const action = payload.action;
300
- const actionText = action === "opened"
301
- ? "打开了"
302
- : action === "closed"
303
- ? "关闭了"
304
- : "更新了";
398
+ const actionText = action === "opened" ? "打开了" : action === "closed" ? "关闭了" : "更新了";
305
399
  return `🐛 ${repo}\n👤 ${sender} ${actionText} issue #${issue.number}\n\n📌 ${issue.title}`;
306
400
  }
307
401
  case "star": {
@@ -316,11 +410,7 @@ function formatGitHubEvent(event, payload) {
316
410
  case "pull_request": {
317
411
  const pr = payload.pull_request;
318
412
  const action = payload.action;
319
- const actionText = action === "opened"
320
- ? "打开了"
321
- : action === "closed"
322
- ? "关闭了"
323
- : "更新了";
413
+ const actionText = action === "opened" ? "打开了" : action === "closed" ? "关闭了" : "更新了";
324
414
  return `🔀 ${repo}\n👤 ${sender} ${actionText} PR #${pr.number}\n\n📌 ${pr.title}`;
325
415
  }
326
416
  default:
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/plugin-github-notify",
3
- "version": "0.0.11",
3
+ "version": "0.0.12",
4
4
  "description": "GitHub webhook notification service for Zhin.js",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",
@@ -33,11 +33,11 @@
33
33
  "license": "MIT",
34
34
  "devDependencies": {
35
35
  "typescript": "^5.3.3",
36
- "zhin.js": "1.0.24"
36
+ "zhin.js": "1.0.25"
37
37
  },
38
38
  "peerDependencies": {
39
- "zhin.js": "1.0.24",
40
- "@zhin.js/http": "1.0.15"
39
+ "zhin.js": "1.0.25",
40
+ "@zhin.js/http": "1.0.16"
41
41
  },
42
42
  "peerDependenciesMeta": {
43
43
  "@zhin.js/http": {