@ihazz/bitrix24 1.1.2 → 1.1.3
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/README.md +5 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +55 -0
- package/dist/index.js.map +1 -0
- package/dist/src/access-control.d.ts +43 -0
- package/dist/src/access-control.d.ts.map +1 -0
- package/dist/src/access-control.js +128 -0
- package/dist/src/access-control.js.map +1 -0
- package/dist/src/api.d.ts +161 -0
- package/dist/src/api.d.ts.map +1 -0
- package/dist/src/api.js +357 -0
- package/dist/src/api.js.map +1 -0
- package/dist/src/bot-avatar.d.ts +7 -0
- package/dist/src/bot-avatar.d.ts.map +1 -0
- package/dist/src/bot-avatar.js +7 -0
- package/dist/src/bot-avatar.js.map +1 -0
- package/dist/src/channel.d.ts +216 -0
- package/dist/src/channel.d.ts.map +1 -0
- package/dist/src/channel.js +2324 -0
- package/dist/src/channel.js.map +1 -0
- package/dist/src/commands.d.ts +22 -0
- package/dist/src/commands.d.ts.map +1 -0
- package/dist/src/commands.js +160 -0
- package/dist/src/commands.js.map +1 -0
- package/dist/src/config-schema.d.ts +356 -0
- package/dist/src/config-schema.d.ts.map +1 -0
- package/dist/src/config-schema.js +43 -0
- package/dist/src/config-schema.js.map +1 -0
- package/dist/src/config.d.ts +11 -0
- package/dist/src/config.d.ts.map +1 -0
- package/dist/src/config.js +50 -0
- package/dist/src/config.js.map +1 -0
- package/dist/src/dedup.d.ts +22 -0
- package/dist/src/dedup.d.ts.map +1 -0
- package/dist/src/dedup.js +49 -0
- package/dist/src/dedup.js.map +1 -0
- package/dist/src/group-access.d.ts +52 -0
- package/dist/src/group-access.d.ts.map +1 -0
- package/dist/src/group-access.js +180 -0
- package/dist/src/group-access.js.map +1 -0
- package/dist/src/history-cache.d.ts +41 -0
- package/dist/src/history-cache.d.ts.map +1 -0
- package/dist/src/history-cache.js +82 -0
- package/dist/src/history-cache.js.map +1 -0
- package/dist/src/i18n.d.ts +22 -0
- package/dist/src/i18n.d.ts.map +1 -0
- package/dist/src/i18n.js +175 -0
- package/dist/src/i18n.js.map +1 -0
- package/dist/src/inbound-handler.d.ts +92 -0
- package/dist/src/inbound-handler.d.ts.map +1 -0
- package/dist/src/inbound-handler.js +417 -0
- package/dist/src/inbound-handler.js.map +1 -0
- package/dist/src/media-service.d.ts +52 -0
- package/dist/src/media-service.d.ts.map +1 -0
- package/dist/src/media-service.js +423 -0
- package/dist/src/media-service.js.map +1 -0
- package/dist/src/message-utils.d.ts +34 -0
- package/dist/src/message-utils.d.ts.map +1 -0
- package/dist/src/message-utils.js +392 -0
- package/dist/src/message-utils.js.map +1 -0
- package/dist/src/polling-service.d.ts +39 -0
- package/dist/src/polling-service.d.ts.map +1 -0
- package/dist/src/polling-service.js +204 -0
- package/dist/src/polling-service.js.map +1 -0
- package/dist/src/rate-limiter.d.ts +22 -0
- package/dist/src/rate-limiter.d.ts.map +1 -0
- package/dist/src/rate-limiter.js +72 -0
- package/dist/src/rate-limiter.js.map +1 -0
- package/dist/src/runtime.d.ts +106 -0
- package/dist/src/runtime.d.ts.map +1 -0
- package/dist/src/runtime.js +11 -0
- package/dist/src/runtime.js.map +1 -0
- package/dist/src/send-service.d.ts +66 -0
- package/dist/src/send-service.d.ts.map +1 -0
- package/dist/src/send-service.js +177 -0
- package/dist/src/send-service.js.map +1 -0
- package/dist/src/state-paths.d.ts +3 -0
- package/dist/src/state-paths.d.ts.map +1 -0
- package/dist/src/state-paths.js +23 -0
- package/dist/src/state-paths.js.map +1 -0
- package/dist/src/types.d.ts +381 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +3 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/utils.d.ts +60 -0
- package/dist/src/utils.d.ts.map +1 -0
- package/dist/src/utils.js +131 -0
- package/dist/src/utils.js.map +1 -0
- package/index.ts +1 -1
- package/openclaw.plugin.json +278 -1
- package/package.json +11 -2
- package/src/api.ts +0 -3
- package/src/channel.ts +76 -73
- package/src/config-schema.ts +1 -2
- package/src/config.ts +6 -8
- package/src/group-access.ts +1 -8
- package/src/inbound-handler.ts +128 -15
- package/src/media-service.ts +160 -45
- package/src/polling-service.ts +2 -3
- package/src/send-service.ts +4 -3
- package/src/state-paths.ts +4 -0
- package/src/types.ts +1 -2
- package/src/utils.ts +31 -4
|
@@ -0,0 +1,381 @@
|
|
|
1
|
+
/** Logger interface used across all plugin modules. */
|
|
2
|
+
export interface Logger {
|
|
3
|
+
info: (...args: unknown[]) => void;
|
|
4
|
+
warn: (...args: unknown[]) => void;
|
|
5
|
+
error: (...args: unknown[]) => void;
|
|
6
|
+
debug: (...args: unknown[]) => void;
|
|
7
|
+
}
|
|
8
|
+
/** Bot entity from V2 events (FETCH mode — full format) */
|
|
9
|
+
export interface B24V2Bot {
|
|
10
|
+
id: number;
|
|
11
|
+
code: string;
|
|
12
|
+
type: string;
|
|
13
|
+
isHidden: boolean;
|
|
14
|
+
isSupportOpenline: boolean;
|
|
15
|
+
isReactionsEnabled: boolean;
|
|
16
|
+
backgroundId: string | null;
|
|
17
|
+
language: string;
|
|
18
|
+
moduleId?: string;
|
|
19
|
+
appId?: string;
|
|
20
|
+
eventMode?: string;
|
|
21
|
+
countMessage?: number;
|
|
22
|
+
countCommand?: number;
|
|
23
|
+
countChat?: number;
|
|
24
|
+
countUser?: number;
|
|
25
|
+
}
|
|
26
|
+
/** Bot entity from V2 webhook events (simplified format with auth) */
|
|
27
|
+
export interface B24V2WebhookBot {
|
|
28
|
+
id: number;
|
|
29
|
+
code: string;
|
|
30
|
+
auth: {
|
|
31
|
+
access_token: string;
|
|
32
|
+
refresh_token: string;
|
|
33
|
+
[key: string]: unknown;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/** User entity from V2 events */
|
|
37
|
+
export interface B24V2User {
|
|
38
|
+
id: number;
|
|
39
|
+
active: boolean;
|
|
40
|
+
name: string;
|
|
41
|
+
firstName: string;
|
|
42
|
+
lastName: string;
|
|
43
|
+
workPosition: string;
|
|
44
|
+
color: string;
|
|
45
|
+
avatar: string;
|
|
46
|
+
gender: string;
|
|
47
|
+
birthday: string;
|
|
48
|
+
extranet: boolean;
|
|
49
|
+
bot: boolean;
|
|
50
|
+
connector: boolean;
|
|
51
|
+
externalAuthId: string;
|
|
52
|
+
status: string;
|
|
53
|
+
idle: string | false;
|
|
54
|
+
lastActivityDate: string | false;
|
|
55
|
+
absent: string | false;
|
|
56
|
+
departments: number[];
|
|
57
|
+
phones: Record<string, string> | false;
|
|
58
|
+
type: string;
|
|
59
|
+
}
|
|
60
|
+
/** Message entity from V2 events */
|
|
61
|
+
export type B24V2MessageParams = Record<string, unknown> | unknown[];
|
|
62
|
+
export interface B24V2Message {
|
|
63
|
+
id: number;
|
|
64
|
+
chatId: number;
|
|
65
|
+
authorId: number;
|
|
66
|
+
date: string | null;
|
|
67
|
+
text: string;
|
|
68
|
+
isSystem: boolean;
|
|
69
|
+
uuid: string;
|
|
70
|
+
forward: {
|
|
71
|
+
id: number;
|
|
72
|
+
userId: number;
|
|
73
|
+
chatId: number;
|
|
74
|
+
date: string;
|
|
75
|
+
} | null;
|
|
76
|
+
params: B24V2MessageParams;
|
|
77
|
+
viewedByOthers: boolean;
|
|
78
|
+
}
|
|
79
|
+
/** Chat entity from V2 events */
|
|
80
|
+
export interface B24V2Chat {
|
|
81
|
+
id: number;
|
|
82
|
+
dialogId: string;
|
|
83
|
+
type: string;
|
|
84
|
+
name: string;
|
|
85
|
+
messageType?: string;
|
|
86
|
+
entityType: string;
|
|
87
|
+
owner: number;
|
|
88
|
+
avatar: string;
|
|
89
|
+
color: string;
|
|
90
|
+
description?: string;
|
|
91
|
+
extranet?: boolean;
|
|
92
|
+
diskFolderId?: number | null;
|
|
93
|
+
}
|
|
94
|
+
/** Command entity from V2 ONIMBOTV2COMMANDADD events */
|
|
95
|
+
export interface B24V2Command {
|
|
96
|
+
id: number;
|
|
97
|
+
command: string;
|
|
98
|
+
params: string;
|
|
99
|
+
context: 'textarea' | 'keyboard' | 'menu';
|
|
100
|
+
}
|
|
101
|
+
/** File entity from V2 responses */
|
|
102
|
+
export interface B24V2File {
|
|
103
|
+
id: number;
|
|
104
|
+
chatId: number;
|
|
105
|
+
date: string | null;
|
|
106
|
+
type: string;
|
|
107
|
+
name: string;
|
|
108
|
+
extension: string;
|
|
109
|
+
size: number;
|
|
110
|
+
image: {
|
|
111
|
+
height: number;
|
|
112
|
+
width: number;
|
|
113
|
+
} | false;
|
|
114
|
+
authorId: number;
|
|
115
|
+
authorName: string;
|
|
116
|
+
isTranscribable?: boolean;
|
|
117
|
+
isVideoNote?: boolean;
|
|
118
|
+
isVoiceNote?: boolean;
|
|
119
|
+
}
|
|
120
|
+
/** ONIMBOTV2MESSAGEADD / ONIMBOTV2MESSAGEUPDATE data */
|
|
121
|
+
export interface B24V2MessageEventData {
|
|
122
|
+
bot: B24V2Bot | B24V2WebhookBot;
|
|
123
|
+
message: B24V2Message;
|
|
124
|
+
chat: B24V2Chat;
|
|
125
|
+
user: B24V2User;
|
|
126
|
+
language: string;
|
|
127
|
+
}
|
|
128
|
+
/** ONIMV2MESSAGEADD / ONIMV2MESSAGEUPDATE data */
|
|
129
|
+
export interface B24V2UserMessageEventData {
|
|
130
|
+
message: B24V2Message;
|
|
131
|
+
chat: B24V2Chat;
|
|
132
|
+
user: B24V2User;
|
|
133
|
+
language: string;
|
|
134
|
+
}
|
|
135
|
+
/** ONIMBOTV2MESSAGEDELETE data */
|
|
136
|
+
export interface B24V2MessageDeleteEventData {
|
|
137
|
+
bot: B24V2Bot | B24V2WebhookBot;
|
|
138
|
+
messageId: number;
|
|
139
|
+
chat: B24V2Chat;
|
|
140
|
+
user: B24V2User;
|
|
141
|
+
language: string;
|
|
142
|
+
}
|
|
143
|
+
/** ONIMBOTV2JOINCHAT data */
|
|
144
|
+
export interface B24V2JoinChatEventData {
|
|
145
|
+
bot: B24V2Bot | B24V2WebhookBot;
|
|
146
|
+
dialogId: string;
|
|
147
|
+
chat: B24V2Chat;
|
|
148
|
+
user: B24V2User;
|
|
149
|
+
language: string;
|
|
150
|
+
}
|
|
151
|
+
/** ONIMBOTV2COMMANDADD data */
|
|
152
|
+
export interface B24V2CommandEventData {
|
|
153
|
+
bot: B24V2Bot | B24V2WebhookBot;
|
|
154
|
+
command: B24V2Command;
|
|
155
|
+
message: B24V2Message;
|
|
156
|
+
chat: B24V2Chat;
|
|
157
|
+
user: B24V2User;
|
|
158
|
+
language: string;
|
|
159
|
+
}
|
|
160
|
+
/** ONIMBOTV2DELETE data */
|
|
161
|
+
export interface B24V2DeleteEventData {
|
|
162
|
+
bot: B24V2Bot | B24V2WebhookBot;
|
|
163
|
+
}
|
|
164
|
+
/** ONIMBOTV2REACTIONCHANGE data */
|
|
165
|
+
export interface B24V2ReactionEventData {
|
|
166
|
+
bot: B24V2Bot | B24V2WebhookBot;
|
|
167
|
+
reaction: string;
|
|
168
|
+
action: 'set' | 'delete';
|
|
169
|
+
message: B24V2Message;
|
|
170
|
+
chat: B24V2Chat;
|
|
171
|
+
user: B24V2User;
|
|
172
|
+
language: string;
|
|
173
|
+
}
|
|
174
|
+
/** Union of V2 event data */
|
|
175
|
+
export type B24V2EventData = B24V2MessageEventData | B24V2UserMessageEventData | B24V2MessageDeleteEventData | B24V2JoinChatEventData | B24V2CommandEventData | B24V2DeleteEventData | B24V2ReactionEventData;
|
|
176
|
+
/** Single event item from imbot.v2.Event.get */
|
|
177
|
+
export interface B24V2FetchEventItem {
|
|
178
|
+
eventId: number;
|
|
179
|
+
type: string;
|
|
180
|
+
date: string;
|
|
181
|
+
data: B24V2EventData;
|
|
182
|
+
}
|
|
183
|
+
/** Response from imbot.v2.Event.get */
|
|
184
|
+
export interface B24V2EventGetResult {
|
|
185
|
+
events: B24V2FetchEventItem[];
|
|
186
|
+
lastEventId: number;
|
|
187
|
+
hasMore: boolean;
|
|
188
|
+
}
|
|
189
|
+
/** V2 webhook event payload (POST to webhookUrl) */
|
|
190
|
+
export interface B24V2WebhookEvent {
|
|
191
|
+
event: string;
|
|
192
|
+
data: B24V2EventData;
|
|
193
|
+
ts?: number;
|
|
194
|
+
auth?: Record<string, unknown>;
|
|
195
|
+
}
|
|
196
|
+
export interface B24ApiResult<T = unknown> {
|
|
197
|
+
result: T;
|
|
198
|
+
time?: {
|
|
199
|
+
start: number;
|
|
200
|
+
finish: number;
|
|
201
|
+
duration: number;
|
|
202
|
+
processing?: number;
|
|
203
|
+
date_start: string;
|
|
204
|
+
date_finish: string;
|
|
205
|
+
};
|
|
206
|
+
error?: string;
|
|
207
|
+
error_description?: string;
|
|
208
|
+
}
|
|
209
|
+
/** Response from imbot.v2.Bot.register / Bot.update */
|
|
210
|
+
export interface B24V2BotResult {
|
|
211
|
+
bot: B24V2Bot;
|
|
212
|
+
users: B24V2User[];
|
|
213
|
+
}
|
|
214
|
+
/** Response from imbot.v2.Bot.list */
|
|
215
|
+
export interface B24V2BotListResult {
|
|
216
|
+
bots: B24V2Bot[];
|
|
217
|
+
users: B24V2User[];
|
|
218
|
+
hasNextPage: boolean;
|
|
219
|
+
}
|
|
220
|
+
/** Response from imbot.v2.Chat.Message.send */
|
|
221
|
+
export interface B24V2SendMessageResult {
|
|
222
|
+
id?: number | null;
|
|
223
|
+
uuidMap: Record<string, number>;
|
|
224
|
+
}
|
|
225
|
+
/** Response from imbot.v2.Chat.Message.get */
|
|
226
|
+
export interface B24V2GetMessageResult {
|
|
227
|
+
message: B24V2Message;
|
|
228
|
+
user: B24V2User;
|
|
229
|
+
}
|
|
230
|
+
/** Response from imbot.v2.Chat.Message.getContext */
|
|
231
|
+
export interface B24V2GetMessageContextResult {
|
|
232
|
+
messages: B24V2Message[];
|
|
233
|
+
users: B24V2User[];
|
|
234
|
+
hasPrevPage: boolean;
|
|
235
|
+
hasNextPage: boolean;
|
|
236
|
+
}
|
|
237
|
+
/** Available status codes for imbot.v2.Chat.InputAction.notify */
|
|
238
|
+
export type B24InputActionStatusCode = 'IMBOT_AGENT_ACTION_THINKING' | 'IMBOT_AGENT_ACTION_SEARCHING' | 'IMBOT_AGENT_ACTION_GENERATING' | 'IMBOT_AGENT_ACTION_ANALYZING' | 'IMBOT_AGENT_ACTION_PROCESSING' | 'IMBOT_AGENT_ACTION_TRANSLATING' | 'IMBOT_AGENT_ACTION_CONNECTING' | 'IMBOT_AGENT_ACTION_CHECKING' | 'IMBOT_AGENT_ACTION_CALCULATING' | 'IMBOT_AGENT_ACTION_READING_DOCS' | 'IMBOT_AGENT_ACTION_COMPOSING';
|
|
239
|
+
/** Response from imbot.v2.Chat.Message.read */
|
|
240
|
+
export interface B24V2ReadMessageResult {
|
|
241
|
+
chatId: number;
|
|
242
|
+
lastId: number;
|
|
243
|
+
counter: number;
|
|
244
|
+
viewedMessages: number[];
|
|
245
|
+
}
|
|
246
|
+
/** Response from imbot.v2.Command.register */
|
|
247
|
+
export interface B24V2CommandResult {
|
|
248
|
+
command: {
|
|
249
|
+
id: number;
|
|
250
|
+
botId: number;
|
|
251
|
+
command: string;
|
|
252
|
+
common: boolean;
|
|
253
|
+
hidden: boolean;
|
|
254
|
+
extranetSupport: boolean;
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
/** Response from imbot.v2.File.upload */
|
|
258
|
+
export interface B24V2FileUploadResult {
|
|
259
|
+
file: B24V2File;
|
|
260
|
+
messageId: number;
|
|
261
|
+
chatId: number;
|
|
262
|
+
dialogId: string;
|
|
263
|
+
}
|
|
264
|
+
/** Response from imbot.v2.File.download */
|
|
265
|
+
export interface B24V2FileDownloadResult {
|
|
266
|
+
downloadUrl: string;
|
|
267
|
+
}
|
|
268
|
+
export interface KeyboardButton {
|
|
269
|
+
TEXT: string;
|
|
270
|
+
COMMAND?: string;
|
|
271
|
+
COMMAND_PARAMS?: string;
|
|
272
|
+
BG_COLOR?: string;
|
|
273
|
+
BG_COLOR_TOKEN?: 'primary' | 'secondary' | 'alert' | 'base';
|
|
274
|
+
TEXT_COLOR?: string;
|
|
275
|
+
DISPLAY?: 'LINE' | 'BLOCK';
|
|
276
|
+
DISABLED?: 'Y' | 'N';
|
|
277
|
+
BLOCK?: 'Y' | 'N';
|
|
278
|
+
LINK?: string;
|
|
279
|
+
WIDTH?: number;
|
|
280
|
+
ACTION?: 'PUT' | 'SEND' | 'COPY' | 'CALL' | 'DIALOG';
|
|
281
|
+
ACTION_VALUE?: string;
|
|
282
|
+
}
|
|
283
|
+
export interface KeyboardNewline {
|
|
284
|
+
TYPE: 'NEWLINE';
|
|
285
|
+
}
|
|
286
|
+
/** B24 keyboard: flat array with NEWLINE separators between rows */
|
|
287
|
+
export type B24Keyboard = (KeyboardButton | KeyboardNewline)[];
|
|
288
|
+
export interface SendMessageResult {
|
|
289
|
+
ok: boolean;
|
|
290
|
+
messageId?: number;
|
|
291
|
+
error?: string;
|
|
292
|
+
}
|
|
293
|
+
/** Context passed from PollingService to InboundHandler for FETCH events */
|
|
294
|
+
export interface FetchContext {
|
|
295
|
+
webhookUrl: string;
|
|
296
|
+
botId: number;
|
|
297
|
+
botToken: string;
|
|
298
|
+
}
|
|
299
|
+
export type Bitrix24DmPolicy = 'pairing' | 'webhookUser' | 'allowlist' | 'open';
|
|
300
|
+
export type Bitrix24GroupPolicy = 'disabled' | 'webhookUser' | 'pairing' | 'allowlist' | 'open';
|
|
301
|
+
export interface Bitrix24GroupWatchConfig {
|
|
302
|
+
userId: string;
|
|
303
|
+
topics?: string[];
|
|
304
|
+
mode?: 'reply' | 'notifyOwnerDm';
|
|
305
|
+
}
|
|
306
|
+
export interface Bitrix24AgentWatchConfig {
|
|
307
|
+
userId: string;
|
|
308
|
+
topics?: string[];
|
|
309
|
+
mode?: 'notifyOwnerDm';
|
|
310
|
+
}
|
|
311
|
+
export interface Bitrix24GroupConfig {
|
|
312
|
+
groupPolicy?: Bitrix24GroupPolicy;
|
|
313
|
+
requireMention?: boolean;
|
|
314
|
+
allowFrom?: string[];
|
|
315
|
+
watch?: Bitrix24GroupWatchConfig[];
|
|
316
|
+
}
|
|
317
|
+
export interface Bitrix24AccountConfig {
|
|
318
|
+
enabled?: boolean;
|
|
319
|
+
webhookUrl?: string;
|
|
320
|
+
botToken?: string;
|
|
321
|
+
botName?: string;
|
|
322
|
+
botCode?: string;
|
|
323
|
+
botAvatar?: string;
|
|
324
|
+
allowFrom?: string[];
|
|
325
|
+
callbackUrl?: string;
|
|
326
|
+
eventMode?: 'fetch' | 'webhook';
|
|
327
|
+
agentMode?: boolean;
|
|
328
|
+
pollingIntervalMs?: number;
|
|
329
|
+
pollingFastIntervalMs?: number;
|
|
330
|
+
dmPolicy?: Bitrix24DmPolicy;
|
|
331
|
+
groupPolicy?: Bitrix24GroupPolicy;
|
|
332
|
+
groupAllowFrom?: string[];
|
|
333
|
+
requireMention?: boolean;
|
|
334
|
+
historyLimit?: number;
|
|
335
|
+
groups?: Record<string, Bitrix24GroupConfig>;
|
|
336
|
+
agentWatch?: Record<string, Bitrix24AgentWatchConfig[]>;
|
|
337
|
+
showTyping?: boolean;
|
|
338
|
+
verboseLog?: boolean;
|
|
339
|
+
}
|
|
340
|
+
export interface Bitrix24PluginConfig extends Bitrix24AccountConfig {
|
|
341
|
+
accounts?: Record<string, Bitrix24AccountConfig>;
|
|
342
|
+
}
|
|
343
|
+
export interface B24MsgContext {
|
|
344
|
+
channel: 'bitrix24';
|
|
345
|
+
eventScope?: 'bot' | 'user';
|
|
346
|
+
senderId: string;
|
|
347
|
+
senderName: string;
|
|
348
|
+
senderFirstName?: string;
|
|
349
|
+
chatId: string;
|
|
350
|
+
chatInternalId: string;
|
|
351
|
+
chatName?: string;
|
|
352
|
+
chatType?: string;
|
|
353
|
+
messageId: string;
|
|
354
|
+
replyToMessageId?: string;
|
|
355
|
+
isForwarded?: boolean;
|
|
356
|
+
wasMentioned?: boolean;
|
|
357
|
+
text: string;
|
|
358
|
+
isDm: boolean;
|
|
359
|
+
isGroup: boolean;
|
|
360
|
+
media: B24MediaItem[];
|
|
361
|
+
platform?: string;
|
|
362
|
+
language?: string;
|
|
363
|
+
timestamp?: number;
|
|
364
|
+
raw: B24V2FetchEventItem | B24V2WebhookEvent;
|
|
365
|
+
botId: number;
|
|
366
|
+
memberId: string;
|
|
367
|
+
}
|
|
368
|
+
export interface B24MediaItem {
|
|
369
|
+
id: string;
|
|
370
|
+
name: string;
|
|
371
|
+
extension: string;
|
|
372
|
+
size: number;
|
|
373
|
+
type: 'image' | 'file';
|
|
374
|
+
urlDownload?: string;
|
|
375
|
+
}
|
|
376
|
+
export interface PortalState {
|
|
377
|
+
botId: number;
|
|
378
|
+
memberId: string;
|
|
379
|
+
domain: string;
|
|
380
|
+
}
|
|
381
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,gFAAgF"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { Logger } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Mask a token for safe logging: show first 4 and last 4 characters.
|
|
4
|
+
*/
|
|
5
|
+
export declare function maskToken(token: string): string;
|
|
6
|
+
/**
|
|
7
|
+
* Mask sensitive URL parts before logging them.
|
|
8
|
+
*/
|
|
9
|
+
export declare function maskUrlForLog(rawUrl: string): string;
|
|
10
|
+
/**
|
|
11
|
+
* Mask Bitrix24 webhook credentials in a REST URL before logging it.
|
|
12
|
+
*/
|
|
13
|
+
export declare function maskWebhookUrl(webhookUrl: string): string;
|
|
14
|
+
/**
|
|
15
|
+
* Convert an unknown error into a log-friendly plain object.
|
|
16
|
+
*/
|
|
17
|
+
export declare function serializeError(error: unknown): Record<string, unknown>;
|
|
18
|
+
/**
|
|
19
|
+
* Retry a function with exponential backoff.
|
|
20
|
+
*/
|
|
21
|
+
export declare function withRetry<T>(fn: () => Promise<T>, opts?: {
|
|
22
|
+
maxRetries?: number;
|
|
23
|
+
initialDelayMs?: number;
|
|
24
|
+
maxDelayMs?: number;
|
|
25
|
+
shouldRetry?: (error: unknown) => boolean;
|
|
26
|
+
}): Promise<T>;
|
|
27
|
+
/**
|
|
28
|
+
* Check if a B24 API error is a rate limit error that should be retried.
|
|
29
|
+
*/
|
|
30
|
+
export declare function isRateLimitError(error: unknown): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Custom error for Bitrix24 API errors.
|
|
33
|
+
*/
|
|
34
|
+
export declare class Bitrix24ApiError extends Error {
|
|
35
|
+
readonly code: string;
|
|
36
|
+
readonly description: string;
|
|
37
|
+
constructor(code: string, description: string);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Regex matching the channel prefix variants: "bitrix24:", "b24:", "bx24:".
|
|
41
|
+
*/
|
|
42
|
+
export declare const CHANNEL_PREFIX_RE: RegExp;
|
|
43
|
+
/**
|
|
44
|
+
* Strip channel prefix from an identifier (e.g. "bitrix24:42" → "42").
|
|
45
|
+
*/
|
|
46
|
+
export declare function stripChannelPrefix(id: string): string;
|
|
47
|
+
/**
|
|
48
|
+
* Build a logger that keeps warnings/errors and enables info/debug only in verbose mode.
|
|
49
|
+
*/
|
|
50
|
+
export declare function createVerboseLogger(logger?: Logger, verbose?: boolean): Logger;
|
|
51
|
+
/**
|
|
52
|
+
* Simple console logger fallback.
|
|
53
|
+
*/
|
|
54
|
+
export declare const defaultLogger: {
|
|
55
|
+
info: (...args: unknown[]) => void;
|
|
56
|
+
warn: (...args: unknown[]) => void;
|
|
57
|
+
error: (...args: unknown[]) => void;
|
|
58
|
+
debug: (...args: unknown[]) => void;
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG/C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAkBpD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAYtE;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAC/B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,IAAI,GAAE;IACJ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CACtC,GACL,OAAO,CAAC,CAAC,CAAC,CAoBZ;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAKxD;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;aAEvB,IAAI,EAAE,MAAM;aACZ,WAAW,EAAE,MAAM;gBADnB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM;CAKtC;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAA2B,CAAC;AAE1D;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAErD;AAID;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,GAAE,MAAsB,EAAE,OAAO,UAAQ,GAAG,MAAM,CAW3F;AAED;;GAEG;AACH,eAAO,MAAM,aAAa;oBACR,OAAO,EAAE;oBACT,OAAO,EAAE;qBACR,OAAO,EAAE;qBACT,OAAO,EAAE;CAC3B,CAAC"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mask a token for safe logging: show first 4 and last 4 characters.
|
|
3
|
+
*/
|
|
4
|
+
export function maskToken(token) {
|
|
5
|
+
if (token.length <= 12)
|
|
6
|
+
return '****';
|
|
7
|
+
return `${token.slice(0, 4)}...${token.slice(-4)}`;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Mask sensitive URL parts before logging them.
|
|
11
|
+
*/
|
|
12
|
+
export function maskUrlForLog(rawUrl) {
|
|
13
|
+
try {
|
|
14
|
+
const url = new URL(rawUrl);
|
|
15
|
+
const pathParts = url.pathname.split('/').filter(Boolean);
|
|
16
|
+
if (pathParts[0] === 'rest' && pathParts.length >= 3) {
|
|
17
|
+
pathParts[1] = '***';
|
|
18
|
+
pathParts[2] = '***';
|
|
19
|
+
url.pathname = `/${pathParts.join('/')}`;
|
|
20
|
+
}
|
|
21
|
+
url.username = '';
|
|
22
|
+
url.password = '';
|
|
23
|
+
url.search = '';
|
|
24
|
+
return url.toString();
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return '[masked url]';
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Mask Bitrix24 webhook credentials in a REST URL before logging it.
|
|
32
|
+
*/
|
|
33
|
+
export function maskWebhookUrl(webhookUrl) {
|
|
34
|
+
return maskUrlForLog(webhookUrl);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Convert an unknown error into a log-friendly plain object.
|
|
38
|
+
*/
|
|
39
|
+
export function serializeError(error) {
|
|
40
|
+
if (error instanceof Error) {
|
|
41
|
+
return {
|
|
42
|
+
name: error.name,
|
|
43
|
+
message: error.message,
|
|
44
|
+
stack: error.stack,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
message: String(error),
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Retry a function with exponential backoff.
|
|
53
|
+
*/
|
|
54
|
+
export async function withRetry(fn, opts = {}) {
|
|
55
|
+
const maxRetries = opts.maxRetries ?? 3;
|
|
56
|
+
const initialDelayMs = opts.initialDelayMs ?? 500;
|
|
57
|
+
const maxDelayMs = opts.maxDelayMs ?? 10000;
|
|
58
|
+
const shouldRetry = opts.shouldRetry ?? (() => true);
|
|
59
|
+
for (let attempt = 0; attempt <= maxRetries; attempt++) {
|
|
60
|
+
try {
|
|
61
|
+
return await fn();
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
if (attempt >= maxRetries || !shouldRetry(error)) {
|
|
65
|
+
throw error;
|
|
66
|
+
}
|
|
67
|
+
const delay = Math.min(initialDelayMs * Math.pow(2, attempt), maxDelayMs);
|
|
68
|
+
const jitter = delay * (0.5 + Math.random() * 0.5);
|
|
69
|
+
await new Promise((r) => setTimeout(r, jitter));
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
// Unreachable: loop always returns or throws
|
|
73
|
+
throw new Error('withRetry: unexpected end of retry loop');
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Check if a B24 API error is a rate limit error that should be retried.
|
|
77
|
+
*/
|
|
78
|
+
export function isRateLimitError(error) {
|
|
79
|
+
if (error instanceof Bitrix24ApiError) {
|
|
80
|
+
return error.code === 'QUERY_LIMIT_EXCEEDED';
|
|
81
|
+
}
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Custom error for Bitrix24 API errors.
|
|
86
|
+
*/
|
|
87
|
+
export class Bitrix24ApiError extends Error {
|
|
88
|
+
code;
|
|
89
|
+
description;
|
|
90
|
+
constructor(code, description) {
|
|
91
|
+
super(`Bitrix24 API error: ${code} — ${description}`);
|
|
92
|
+
this.code = code;
|
|
93
|
+
this.description = description;
|
|
94
|
+
this.name = 'Bitrix24ApiError';
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Regex matching the channel prefix variants: "bitrix24:", "b24:", "bx24:".
|
|
99
|
+
*/
|
|
100
|
+
export const CHANNEL_PREFIX_RE = /^(bitrix24|b24|bx24):/i;
|
|
101
|
+
/**
|
|
102
|
+
* Strip channel prefix from an identifier (e.g. "bitrix24:42" → "42").
|
|
103
|
+
*/
|
|
104
|
+
export function stripChannelPrefix(id) {
|
|
105
|
+
return id.replace(CHANNEL_PREFIX_RE, '');
|
|
106
|
+
}
|
|
107
|
+
const noop = () => undefined;
|
|
108
|
+
/**
|
|
109
|
+
* Build a logger that keeps warnings/errors and enables info/debug only in verbose mode.
|
|
110
|
+
*/
|
|
111
|
+
export function createVerboseLogger(logger = defaultLogger, verbose = false) {
|
|
112
|
+
if (verbose) {
|
|
113
|
+
return logger;
|
|
114
|
+
}
|
|
115
|
+
return {
|
|
116
|
+
info: noop,
|
|
117
|
+
debug: noop,
|
|
118
|
+
warn: (...args) => logger.warn(...args),
|
|
119
|
+
error: (...args) => logger.error(...args),
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Simple console logger fallback.
|
|
124
|
+
*/
|
|
125
|
+
export const defaultLogger = {
|
|
126
|
+
info: (...args) => console.log('[bitrix24]', ...args),
|
|
127
|
+
warn: (...args) => console.warn('[bitrix24]', ...args),
|
|
128
|
+
error: (...args) => console.error('[bitrix24]', ...args),
|
|
129
|
+
debug: (...args) => console.debug('[bitrix24]', ...args),
|
|
130
|
+
};
|
|
131
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
package/index.ts
CHANGED
|
@@ -42,7 +42,7 @@ export function collectBitrix24CallbackPaths(config: Record<string, unknown>): s
|
|
|
42
42
|
paths.push(path);
|
|
43
43
|
}
|
|
44
44
|
} catch {
|
|
45
|
-
console.warn(
|
|
45
|
+
console.warn('[bitrix24] Invalid callbackUrl, skipping HTTP route');
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
|