chz-telegram-bot 0.7.13 → 0.7.15

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 (98) hide show
  1. package/dist/dtos/propertyProviderSets.d.ts +0 -1
  2. package/dist/dtos/propertyProviderSets.d.ts.map +1 -1
  3. package/dist/entities/actions/commandAction.d.ts +1 -1
  4. package/dist/entities/actions/commandAction.d.ts.map +1 -1
  5. package/dist/entities/actions/commandAction.js +2 -2
  6. package/dist/helpers/builders/commandActionBuilder.d.ts.map +1 -1
  7. package/dist/helpers/builders/commandActionBuilder.js +2 -3
  8. package/package.json +4 -1
  9. package/eslint.config.ts +0 -62
  10. package/src/builtin/helpAction.ts +0 -17
  11. package/src/dtos/chatHistoryMessage.ts +0 -22
  12. package/src/dtos/chatInfo.ts +0 -12
  13. package/src/dtos/commandTriggerCheckResult.ts +0 -40
  14. package/src/dtos/cooldownInfo.ts +0 -10
  15. package/src/dtos/incomingMessage.ts +0 -71
  16. package/src/dtos/incomingQuery.ts +0 -14
  17. package/src/dtos/messageInfo.ts +0 -15
  18. package/src/dtos/propertyProviderSets.ts +0 -21
  19. package/src/dtos/replyInfo.ts +0 -9
  20. package/src/dtos/responses/delay.ts +0 -28
  21. package/src/dtos/responses/imageMessage.ts +0 -41
  22. package/src/dtos/responses/inlineQueryResponse.ts +0 -26
  23. package/src/dtos/responses/reaction.ts +0 -30
  24. package/src/dtos/responses/textMessage.ts +0 -44
  25. package/src/dtos/responses/unpin.ts +0 -27
  26. package/src/dtos/responses/videoMessage.ts +0 -41
  27. package/src/dtos/userInfo.ts +0 -8
  28. package/src/entities/actions/commandAction.ts +0 -275
  29. package/src/entities/actions/inlineQueryAction.ts +0 -83
  30. package/src/entities/actions/replyCaptureAction.ts +0 -110
  31. package/src/entities/actions/scheduledAction.ts +0 -182
  32. package/src/entities/botInstance.ts +0 -92
  33. package/src/entities/cachedStateFactory.ts +0 -14
  34. package/src/entities/context/baseContext.ts +0 -111
  35. package/src/entities/context/chatContext.ts +0 -135
  36. package/src/entities/context/inlineQueryContext.ts +0 -63
  37. package/src/entities/context/messageContext.ts +0 -250
  38. package/src/entities/context/replyContext.ts +0 -260
  39. package/src/entities/states/actionStateBase.ts +0 -6
  40. package/src/entities/taskRecord.ts +0 -11
  41. package/src/helpers/builders/commandActionBuilder.ts +0 -214
  42. package/src/helpers/builders/inlineQueryActionBuilder.ts +0 -71
  43. package/src/helpers/builders/scheduledActionBuilder.ts +0 -143
  44. package/src/helpers/mapUtils.ts +0 -28
  45. package/src/helpers/noop.ts +0 -20
  46. package/src/helpers/objectFromEntries.ts +0 -7
  47. package/src/helpers/timeConvertions.ts +0 -13
  48. package/src/helpers/toArray.ts +0 -3
  49. package/src/helpers/traceFactory.ts +0 -11
  50. package/src/index.ts +0 -33
  51. package/src/main.ts +0 -76
  52. package/src/services/actionProcessingService.ts +0 -125
  53. package/src/services/actionProcessors/baseProcessor.ts +0 -67
  54. package/src/services/actionProcessors/commandActionProcessor.ts +0 -231
  55. package/src/services/actionProcessors/inlineQueryActionProcessor.ts +0 -165
  56. package/src/services/actionProcessors/scheduledActionProcessor.ts +0 -136
  57. package/src/services/jsonFileStorage.ts +0 -181
  58. package/src/services/nodeTimeoutScheduler.ts +0 -79
  59. package/src/services/responseProcessingQueue.ts +0 -57
  60. package/src/services/telegramApi.ts +0 -278
  61. package/src/types/action.ts +0 -15
  62. package/src/types/actionState.ts +0 -4
  63. package/src/types/cachedValueAccessor.ts +0 -1
  64. package/src/types/capture.ts +0 -33
  65. package/src/types/commandCondition.ts +0 -9
  66. package/src/types/commandTrigger.ts +0 -1
  67. package/src/types/events.ts +0 -286
  68. package/src/types/externalAliases.ts +0 -18
  69. package/src/types/handlers.ts +0 -26
  70. package/src/types/inputFile.ts +0 -4
  71. package/src/types/messageSendingOptions.ts +0 -10
  72. package/src/types/messageTypes.ts +0 -21
  73. package/src/types/propertyProvider.ts +0 -14
  74. package/src/types/response.ts +0 -51
  75. package/src/types/scheduler.ts +0 -20
  76. package/src/types/storage.ts +0 -23
  77. package/src/types/timeValues.ts +0 -33
  78. package/src/types/trace.ts +0 -5
  79. package/tests/dtos/commandTriggerCheckResult.test.ts +0 -301
  80. package/tests/entities/actions/inlineQueryAction.test.ts +0 -359
  81. package/tests/entities/actions/replyCaptureAction.test.ts +0 -501
  82. package/tests/entities/cachedStateFactory.test.ts +0 -98
  83. package/tests/entities/context/chatContext.test.ts +0 -606
  84. package/tests/entities/context/messageContext.test.ts +0 -370
  85. package/tests/entities/states/actionStateBase.test.ts +0 -138
  86. package/tests/entities/taskRecord.test.ts +0 -195
  87. package/tests/helpers/mapUtils.test.ts +0 -163
  88. package/tests/helpers/timeConvertions.test.ts +0 -129
  89. package/tests/services/actionProcessors/baseActionProcessor.test.ts +0 -359
  90. package/tests/services/actionProcessors/commandActionProcessor.test.ts +0 -268
  91. package/tests/services/actionProcessors/inlineQueryActionProcessor.test.ts +0 -616
  92. package/tests/services/actionProcessors/processorTestHelpers.ts +0 -147
  93. package/tests/services/actionProcessors/scheduledActionProcessor.test.ts +0 -153
  94. package/tests/services/jsonFileStorage.test.ts +0 -927
  95. package/tests/services/nodeTimeoutScheduler.test.ts +0 -421
  96. package/tests/services/responseProcessingQueue.test.ts +0 -388
  97. package/tsconfig.build.json +0 -8
  98. package/tsconfig.json +0 -118
@@ -1,268 +0,0 @@
1
- import { describe, test, expect, beforeEach } from 'bun:test';
2
- import { BotEventType, TypedEventEmitter } from '../../../src/types/events';
3
- import { IScheduler } from '../../../src/types/scheduler';
4
- import { IStorageClient } from '../../../src/types/storage';
5
- import { TraceId } from '../../../src/types/trace';
6
- import { CommandActionProcessor } from '../../../src/services/actionProcessors/commandActionProcessor';
7
- import {
8
- createMockStorage,
9
- createMockScheduler,
10
- createMockAction,
11
- createMockTelegramApi,
12
- createMockChatInfo
13
- } from './processorTestHelpers';
14
-
15
- function createMockTraceId(): TraceId {
16
- return 'test:trace-id' as TraceId;
17
- }
18
-
19
- // =============================================================================
20
- // CommandActionProcessor Tests
21
- // =============================================================================
22
-
23
- describe('CommandActionProcessor', () => {
24
- let processor: CommandActionProcessor;
25
- let eventEmitter: TypedEventEmitter;
26
- let storage: IStorageClient;
27
- let scheduler: IScheduler;
28
-
29
- beforeEach(() => {
30
- eventEmitter = new TypedEventEmitter();
31
- storage = createMockStorage();
32
- scheduler = createMockScheduler();
33
- processor = new CommandActionProcessor(
34
- 'command-bot',
35
- storage,
36
- scheduler,
37
- eventEmitter
38
- );
39
- });
40
-
41
- describe('constructor', () => {
42
- test('should create processor with bot name', () => {
43
- expect(processor).toBeDefined();
44
- });
45
- });
46
-
47
- describe('captureRegistrationCallback', () => {
48
- test('should emit captureStarted event', () => {
49
- const mockApi = createMockTelegramApi();
50
- processor.initializeDependencies(mockApi);
51
-
52
- const captureEvents: unknown[] = [];
53
- eventEmitter.on(
54
- BotEventType.commandActionCaptureStarted,
55
- (_ts, data) => {
56
- captureEvents.push(data);
57
- }
58
- );
59
-
60
- const chatInfo = createMockChatInfo();
61
- const traceId = createMockTraceId();
62
- const abortController = new AbortController();
63
- const mockCapture = {
64
- action: createMockAction('parent-action'),
65
- handler: async () => {},
66
- trigger: [],
67
- abortController
68
- };
69
-
70
- processor.captureRegistrationCallback(
71
- mockCapture,
72
- 123,
73
- chatInfo,
74
- traceId
75
- );
76
-
77
- expect(captureEvents.length).toBe(1);
78
- expect(captureEvents[0]).toEqual({
79
- parentMessageId: 123,
80
- chatInfo,
81
- traceId
82
- });
83
- });
84
-
85
- test('should emit captureAborted event when abort controller aborts', async () => {
86
- const mockApi = createMockTelegramApi();
87
- processor.initializeDependencies(mockApi);
88
-
89
- const abortEvents: unknown[] = [];
90
- eventEmitter.on(
91
- BotEventType.commandActionCaptureAborted,
92
- (_ts, data) => {
93
- abortEvents.push(data);
94
- }
95
- );
96
-
97
- const chatInfo = createMockChatInfo();
98
- const traceId = createMockTraceId();
99
- const abortController = new AbortController();
100
- const mockCapture = {
101
- action: createMockAction('parent-action'),
102
- handler: async () => {},
103
- trigger: [],
104
- abortController
105
- };
106
-
107
- processor.captureRegistrationCallback(
108
- mockCapture,
109
- 456,
110
- chatInfo,
111
- traceId
112
- );
113
-
114
- // Abort the controller
115
- abortController.abort();
116
-
117
- // Wait for event listener to fire
118
- await new Promise((resolve) => setImmediate(resolve));
119
-
120
- expect(abortEvents.length).toBe(1);
121
- expect(abortEvents[0]).toEqual({
122
- parentMessageId: 456,
123
- chatInfo,
124
- traceId
125
- });
126
- });
127
-
128
- test('should register multiple captures', () => {
129
- const mockApi = createMockTelegramApi();
130
- processor.initializeDependencies(mockApi);
131
-
132
- const captureEvents: unknown[] = [];
133
- eventEmitter.on(
134
- BotEventType.commandActionCaptureStarted,
135
- (_ts, data) => {
136
- captureEvents.push(data);
137
- }
138
- );
139
-
140
- const chatInfo = createMockChatInfo();
141
- const traceId = createMockTraceId();
142
-
143
- for (let i = 0; i < 3; i++) {
144
- const mockCapture = {
145
- action: createMockAction(`parent-action-${i}`),
146
- handler: async () => {},
147
- trigger: [],
148
- abortController: new AbortController()
149
- };
150
- processor.captureRegistrationCallback(
151
- mockCapture,
152
- 100 + i,
153
- chatInfo,
154
- traceId
155
- );
156
- }
157
-
158
- expect(captureEvents.length).toBe(3);
159
- });
160
- });
161
-
162
- describe('capture lifecycle', () => {
163
- test('should handle capture registration and abort lifecycle', async () => {
164
- const localEventEmitter = new TypedEventEmitter();
165
- const localProcessor = new CommandActionProcessor(
166
- 'capture-bot',
167
- createMockStorage(),
168
- createMockScheduler(),
169
- localEventEmitter
170
- );
171
-
172
- const mockApi = createMockTelegramApi();
173
- localProcessor.initializeDependencies(mockApi);
174
-
175
- const startEvents: unknown[] = [];
176
- const abortEvents: unknown[] = [];
177
-
178
- localEventEmitter.on(
179
- BotEventType.commandActionCaptureStarted,
180
- (_ts, data) => {
181
- startEvents.push(data);
182
- }
183
- );
184
- localEventEmitter.on(
185
- BotEventType.commandActionCaptureAborted,
186
- (_ts, data) => {
187
- abortEvents.push(data);
188
- }
189
- );
190
-
191
- const chatInfo = createMockChatInfo();
192
- const traceId = createMockTraceId();
193
- const abortController = new AbortController();
194
- const mockCapture = {
195
- action: createMockAction('lifecycle-action'),
196
- handler: async () => {},
197
- trigger: [],
198
- abortController
199
- };
200
-
201
- // Register capture
202
- localProcessor.captureRegistrationCallback(
203
- mockCapture,
204
- 789,
205
- chatInfo,
206
- traceId
207
- );
208
- expect(startEvents.length).toBe(1);
209
- expect(abortEvents.length).toBe(0);
210
-
211
- // Abort capture
212
- abortController.abort();
213
- await new Promise((resolve) => setImmediate(resolve));
214
-
215
- expect(abortEvents.length).toBe(1);
216
- expect(abortEvents[0]).toEqual({
217
- parentMessageId: 789,
218
- chatInfo,
219
- traceId
220
- });
221
- });
222
-
223
- test('should handle abort on already removed capture', async () => {
224
- const localEventEmitter = new TypedEventEmitter();
225
- const localProcessor = new CommandActionProcessor(
226
- 'double-abort-bot',
227
- createMockStorage(),
228
- createMockScheduler(),
229
- localEventEmitter
230
- );
231
-
232
- const mockApi = createMockTelegramApi();
233
- localProcessor.initializeDependencies(mockApi);
234
-
235
- const abortEvents: unknown[] = [];
236
- localEventEmitter.on(
237
- BotEventType.commandActionCaptureAborted,
238
- (_ts, data) => {
239
- abortEvents.push(data);
240
- }
241
- );
242
-
243
- const chatInfo = createMockChatInfo();
244
- const traceId = createMockTraceId();
245
- const abortController = new AbortController();
246
- const mockCapture = {
247
- action: createMockAction('double-abort-action'),
248
- handler: async () => {},
249
- trigger: [],
250
- abortController
251
- };
252
-
253
- localProcessor.captureRegistrationCallback(
254
- mockCapture,
255
- 111,
256
- chatInfo,
257
- traceId
258
- );
259
-
260
- // Abort twice - should only emit once
261
- abortController.abort();
262
- await new Promise((resolve) => setImmediate(resolve));
263
-
264
- // AbortController can only abort once
265
- expect(abortEvents.length).toBe(1);
266
- });
267
- });
268
- });