@dsh-plugin/dsh-synapse 0.1.0-dev.41044228975 → 0.1.0

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 (74) hide show
  1. package/LICENSE +661 -661
  2. package/README.md +0 -14
  3. package/package.json +1 -1
  4. package/vendor/gugle-chat-bot/LICENSE +661 -661
  5. package/vendor/gugle-chat-bot/package.json +57 -57
  6. package/vendor/gugle-chat-bot/src/allow-rule.yml +9345 -9345
  7. package/vendor/gugle-chat-bot/src/api.json +4284 -4284
  8. package/vendor/gugle-chat-bot/src/command/index.ts +141 -141
  9. package/vendor/gugle-chat-bot/src/config/features.ts +547 -547
  10. package/vendor/gugle-chat-bot/src/config/index.ts +184 -184
  11. package/vendor/gugle-chat-bot/src/config/manager.ts +356 -356
  12. package/vendor/gugle-chat-bot/src/constants/index.ts +13 -13
  13. package/vendor/gugle-chat-bot/src/custom.ts +548 -548
  14. package/vendor/gugle-chat-bot/src/event/index.ts +118 -118
  15. package/vendor/gugle-chat-bot/src/features/admin/index.ts +414 -414
  16. package/vendor/gugle-chat-bot/src/features/bili/image/impl/video.ts +39 -39
  17. package/vendor/gugle-chat-bot/src/features/bili/image/index.ts +37 -37
  18. package/vendor/gugle-chat-bot/src/features/bili/index.ts +65 -65
  19. package/vendor/gugle-chat-bot/src/features/bili/template/style/video.css +97 -97
  20. package/vendor/gugle-chat-bot/src/features/bili/template/video.html +56 -56
  21. package/vendor/gugle-chat-bot/src/features/discord-bridge/index.ts +1128 -1128
  22. package/vendor/gugle-chat-bot/src/features/discord-bridge/markdown.ts +105 -105
  23. package/vendor/gugle-chat-bot/src/features/discord-bridge/slash.ts +355 -355
  24. package/vendor/gugle-chat-bot/src/features/discord-bridge/source.ts +96 -96
  25. package/vendor/gugle-chat-bot/src/features/discord-bridge/template/message.html +14 -14
  26. package/vendor/gugle-chat-bot/src/features/discord-bridge/template/style/message.css +144 -144
  27. package/vendor/gugle-chat-bot/src/features/github/api.ts +93 -93
  28. package/vendor/gugle-chat-bot/src/features/github/binding.ts +161 -161
  29. package/vendor/gugle-chat-bot/src/features/github/image/impl/issue.ts +132 -132
  30. package/vendor/gugle-chat-bot/src/features/github/image/impl/pr.ts +144 -144
  31. package/vendor/gugle-chat-bot/src/features/github/image/impl/release.ts +160 -160
  32. package/vendor/gugle-chat-bot/src/features/github/image/index.ts +310 -310
  33. package/vendor/gugle-chat-bot/src/features/github/index.ts +302 -302
  34. package/vendor/gugle-chat-bot/src/features/github/template/issue.html +118 -118
  35. package/vendor/gugle-chat-bot/src/features/github/template/pull_request.html +125 -125
  36. package/vendor/gugle-chat-bot/src/features/github/template/release.html +53 -53
  37. package/vendor/gugle-chat-bot/src/features/github/template/style/issue.css +468 -468
  38. package/vendor/gugle-chat-bot/src/features/github/template/style/pull_request.css +468 -468
  39. package/vendor/gugle-chat-bot/src/features/github/template/style/release.css +412 -412
  40. package/vendor/gugle-chat-bot/src/features/hermes/client.ts +184 -184
  41. package/vendor/gugle-chat-bot/src/features/hermes/config.ts +210 -210
  42. package/vendor/gugle-chat-bot/src/features/hermes/context.ts +67 -67
  43. package/vendor/gugle-chat-bot/src/features/hermes/history.ts +86 -86
  44. package/vendor/gugle-chat-bot/src/features/hermes/index.ts +1533 -1533
  45. package/vendor/gugle-chat-bot/src/features/hermes/message.ts +319 -319
  46. package/vendor/gugle-chat-bot/src/features/hermes/reaction.ts +181 -181
  47. package/vendor/gugle-chat-bot/src/features/hermes/render.ts +118 -118
  48. package/vendor/gugle-chat-bot/src/features/hermes/reply-units.ts +331 -331
  49. package/vendor/gugle-chat-bot/src/features/hermes/skills.ts +406 -406
  50. package/vendor/gugle-chat-bot/src/features/hermes/template/approval.html +30 -30
  51. package/vendor/gugle-chat-bot/src/features/hermes/template/progress.html +21 -21
  52. package/vendor/gugle-chat-bot/src/features/hermes/template/style/approval.css +81 -81
  53. package/vendor/gugle-chat-bot/src/features/hermes/template/style/progress.css +120 -120
  54. package/vendor/gugle-chat-bot/src/features/hermes/trigger.ts +86 -86
  55. package/vendor/gugle-chat-bot/src/features/hermes/types.ts +327 -327
  56. package/vendor/gugle-chat-bot/src/features/management/index.ts +156 -156
  57. package/vendor/gugle-chat-bot/src/features/minecraft/index.ts +127 -127
  58. package/vendor/gugle-chat-bot/src/features/modrinth/index.ts +71 -71
  59. package/vendor/gugle-chat-bot/src/features/parentheses/index.ts +117 -117
  60. package/vendor/gugle-chat-bot/src/features/peak-valley-timer/index.ts +451 -451
  61. package/vendor/gugle-chat-bot/src/features/poke/index.ts +24 -24
  62. package/vendor/gugle-chat-bot/src/features/version-tracker/index.ts +77 -77
  63. package/vendor/gugle-chat-bot/src/features/welcome/index.ts +57 -57
  64. package/vendor/gugle-chat-bot/src/github-ip.json +5814 -5814
  65. package/vendor/gugle-chat-bot/src/image/index.ts +278 -278
  66. package/vendor/gugle-chat-bot/src/index.ts +695 -695
  67. package/vendor/gugle-chat-bot/src/logger/index.ts +54 -54
  68. package/vendor/gugle-chat-bot/src/result.json +359 -359
  69. package/vendor/gugle-chat-bot/src/type/bili.d.ts +825 -825
  70. package/vendor/gugle-chat-bot/src/type/event.d.ts +146 -146
  71. package/vendor/gugle-chat-bot/src/type/github.d.ts +446 -446
  72. package/vendor/gugle-chat-bot/src/type/index.d.ts +254 -254
  73. package/vendor/gugle-chat-bot/tsconfig.json +46 -46
  74. package/scripts/dump-npm-latest.mjs +0 -30
@@ -1,118 +1,118 @@
1
- import * as fs from 'node:fs';
2
- import { readOrCreate } from '@/config/manager';
3
-
4
- export class EventDataManager {
5
- private static readonly FILE: string = './configs/event-data.json';
6
- private static readonly LEGACY_FILE: string = './config/event-data.json';
7
- private static readonly LEGACY_DIRECTORY: string = './config';
8
- private static listeners: {
9
- [key: string]: { roomId: string; channelId: string }[];
10
- } = {};
11
-
12
- private static storage: {
13
- [key: string]: {
14
- [key: string]: any;
15
- };
16
- } = {};
17
-
18
- static {
19
- EventDataManager.load().then();
20
- }
21
-
22
- public static async addListener(event: string, roomId: string, channelId: string): Promise<void> {
23
- if (!EventDataManager.listeners[event]) EventDataManager.listeners[event] = [];
24
- EventDataManager.listeners[event].push({ roomId, channelId });
25
- await EventDataManager.save();
26
- }
27
-
28
- public static async containListener(event: string, roomId: string, channelId: string): Promise<boolean> {
29
- if (!EventDataManager.listeners[event]) return false;
30
- return EventDataManager.listeners[event].some(
31
- listener => listener.roomId === roomId && listener.channelId === channelId
32
- );
33
- }
34
-
35
- public static async removeListener(event: string, roomId: string, channelId: string): Promise<void> {
36
- if (!EventDataManager.listeners[event]) return;
37
- EventDataManager.listeners[event] = EventDataManager.listeners[event].filter(
38
- listener => listener.roomId !== roomId && listener.channelId !== channelId
39
- );
40
- await EventDataManager.save();
41
- }
42
-
43
- public static async getListeners(event: string): Promise<{ roomId: string; channelId: string }[]> {
44
- return EventDataManager.listeners[event] || [];
45
- }
46
-
47
- public static async setStorage(event: string, key: string, value: any): Promise<void> {
48
- if (!EventDataManager.storage[event]) EventDataManager.storage[event] = {};
49
- EventDataManager.storage[event][key] = value;
50
- await EventDataManager.save();
51
- }
52
-
53
- public static async getStorage(event: string, key: string): Promise<any> {
54
- if (!EventDataManager.storage[event]) return undefined;
55
- return EventDataManager.storage[event][key];
56
- }
57
-
58
- public static async clearStorage(event: string): Promise<void> {
59
- delete EventDataManager.storage[event];
60
- await EventDataManager.save();
61
- }
62
-
63
- /**
64
- * 从磁盘重新加载事件数据(/reload 用)。
65
- * 现有 storage 会被磁盘内容覆盖,因此同时清空已删除的键。
66
- */
67
- public static async reload(): Promise<void> {
68
- EventDataManager.listeners = {};
69
- EventDataManager.storage = {};
70
- await EventDataManager.load();
71
- }
72
-
73
- private static migrateLegacyFile(): void {
74
- if (!fs.existsSync(EventDataManager.LEGACY_DIRECTORY)) return;
75
-
76
- fs.mkdirSync('./configs', { recursive: true });
77
- if (fs.existsSync(EventDataManager.LEGACY_FILE) && !fs.existsSync(EventDataManager.FILE)) {
78
- fs.renameSync(EventDataManager.LEGACY_FILE, EventDataManager.FILE);
79
- }
80
- fs.rmSync(EventDataManager.LEGACY_DIRECTORY, { recursive: true, force: true });
81
- }
82
-
83
- public static async checkAndCreateFile(): Promise<void> {
84
- EventDataManager.migrateLegacyFile();
85
- readOrCreate<{ listeners: Record<string, never>; storage: Record<string, never> }>({
86
- path: EventDataManager.FILE,
87
- factory: () => ({ listeners: {}, storage: {} })
88
- });
89
- }
90
-
91
- public static async load(): Promise<void> {
92
- await EventDataManager.checkAndCreateFile();
93
- const data = readOrCreate<{
94
- listeners?: Record<string, { roomId: string; channelId: string }[]>;
95
- storage?: Record<string, Record<string, unknown>>;
96
- }>({
97
- path: EventDataManager.FILE,
98
- factory: () => ({ listeners: {}, storage: {} })
99
- }).data;
100
- EventDataManager.listeners = {
101
- ...EventDataManager.listeners,
102
- ...(data.listeners || {})
103
- };
104
- EventDataManager.storage = {
105
- ...EventDataManager.storage,
106
- ...(data.storage || {})
107
- };
108
- }
109
-
110
- public static async save(): Promise<void> {
111
- await EventDataManager.checkAndCreateFile();
112
- const { writeConfigFile } = await import('@/config/manager');
113
- writeConfigFile(EventDataManager.FILE, {
114
- listeners: EventDataManager.listeners,
115
- storage: EventDataManager.storage
116
- });
117
- }
118
- }
1
+ import * as fs from 'node:fs';
2
+ import { readOrCreate } from '@/config/manager';
3
+
4
+ export class EventDataManager {
5
+ private static readonly FILE: string = './configs/event-data.json';
6
+ private static readonly LEGACY_FILE: string = './config/event-data.json';
7
+ private static readonly LEGACY_DIRECTORY: string = './config';
8
+ private static listeners: {
9
+ [key: string]: { roomId: string; channelId: string }[];
10
+ } = {};
11
+
12
+ private static storage: {
13
+ [key: string]: {
14
+ [key: string]: any;
15
+ };
16
+ } = {};
17
+
18
+ static {
19
+ EventDataManager.load().then();
20
+ }
21
+
22
+ public static async addListener(event: string, roomId: string, channelId: string): Promise<void> {
23
+ if (!EventDataManager.listeners[event]) EventDataManager.listeners[event] = [];
24
+ EventDataManager.listeners[event].push({ roomId, channelId });
25
+ await EventDataManager.save();
26
+ }
27
+
28
+ public static async containListener(event: string, roomId: string, channelId: string): Promise<boolean> {
29
+ if (!EventDataManager.listeners[event]) return false;
30
+ return EventDataManager.listeners[event].some(
31
+ listener => listener.roomId === roomId && listener.channelId === channelId
32
+ );
33
+ }
34
+
35
+ public static async removeListener(event: string, roomId: string, channelId: string): Promise<void> {
36
+ if (!EventDataManager.listeners[event]) return;
37
+ EventDataManager.listeners[event] = EventDataManager.listeners[event].filter(
38
+ listener => listener.roomId !== roomId && listener.channelId !== channelId
39
+ );
40
+ await EventDataManager.save();
41
+ }
42
+
43
+ public static async getListeners(event: string): Promise<{ roomId: string; channelId: string }[]> {
44
+ return EventDataManager.listeners[event] || [];
45
+ }
46
+
47
+ public static async setStorage(event: string, key: string, value: any): Promise<void> {
48
+ if (!EventDataManager.storage[event]) EventDataManager.storage[event] = {};
49
+ EventDataManager.storage[event][key] = value;
50
+ await EventDataManager.save();
51
+ }
52
+
53
+ public static async getStorage(event: string, key: string): Promise<any> {
54
+ if (!EventDataManager.storage[event]) return undefined;
55
+ return EventDataManager.storage[event][key];
56
+ }
57
+
58
+ public static async clearStorage(event: string): Promise<void> {
59
+ delete EventDataManager.storage[event];
60
+ await EventDataManager.save();
61
+ }
62
+
63
+ /**
64
+ * 从磁盘重新加载事件数据(/reload 用)。
65
+ * 现有 storage 会被磁盘内容覆盖,因此同时清空已删除的键。
66
+ */
67
+ public static async reload(): Promise<void> {
68
+ EventDataManager.listeners = {};
69
+ EventDataManager.storage = {};
70
+ await EventDataManager.load();
71
+ }
72
+
73
+ private static migrateLegacyFile(): void {
74
+ if (!fs.existsSync(EventDataManager.LEGACY_DIRECTORY)) return;
75
+
76
+ fs.mkdirSync('./configs', { recursive: true });
77
+ if (fs.existsSync(EventDataManager.LEGACY_FILE) && !fs.existsSync(EventDataManager.FILE)) {
78
+ fs.renameSync(EventDataManager.LEGACY_FILE, EventDataManager.FILE);
79
+ }
80
+ fs.rmSync(EventDataManager.LEGACY_DIRECTORY, { recursive: true, force: true });
81
+ }
82
+
83
+ public static async checkAndCreateFile(): Promise<void> {
84
+ EventDataManager.migrateLegacyFile();
85
+ readOrCreate<{ listeners: Record<string, never>; storage: Record<string, never> }>({
86
+ path: EventDataManager.FILE,
87
+ factory: () => ({ listeners: {}, storage: {} })
88
+ });
89
+ }
90
+
91
+ public static async load(): Promise<void> {
92
+ await EventDataManager.checkAndCreateFile();
93
+ const data = readOrCreate<{
94
+ listeners?: Record<string, { roomId: string; channelId: string }[]>;
95
+ storage?: Record<string, Record<string, unknown>>;
96
+ }>({
97
+ path: EventDataManager.FILE,
98
+ factory: () => ({ listeners: {}, storage: {} })
99
+ }).data;
100
+ EventDataManager.listeners = {
101
+ ...EventDataManager.listeners,
102
+ ...(data.listeners || {})
103
+ };
104
+ EventDataManager.storage = {
105
+ ...EventDataManager.storage,
106
+ ...(data.storage || {})
107
+ };
108
+ }
109
+
110
+ public static async save(): Promise<void> {
111
+ await EventDataManager.checkAndCreateFile();
112
+ const { writeConfigFile } = await import('@/config/manager');
113
+ writeConfigFile(EventDataManager.FILE, {
114
+ listeners: EventDataManager.listeners,
115
+ storage: EventDataManager.storage
116
+ });
117
+ }
118
+ }