@ihazz/bitrix24 1.1.10 → 1.1.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/dist/src/channel.d.ts.map +1 -1
- package/dist/src/channel.js +79 -38
- package/dist/src/channel.js.map +1 -1
- package/dist/src/i18n.d.ts +1 -1
- package/dist/src/i18n.d.ts.map +1 -1
- package/dist/src/i18n.js +11 -11
- package/dist/src/i18n.js.map +1 -1
- package/dist/src/polling-service.d.ts +2 -1
- package/dist/src/polling-service.d.ts.map +1 -1
- package/dist/src/polling-service.js +17 -4
- package/dist/src/polling-service.js.map +1 -1
- package/dist/src/send-service.d.ts +1 -0
- package/dist/src/send-service.d.ts.map +1 -1
- package/dist/src/send-service.js +3 -0
- package/dist/src/send-service.js.map +1 -1
- package/dist/src/types.d.ts +2 -1
- package/dist/src/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/channel.ts +103 -48
- package/src/i18n.ts +13 -13
- package/src/polling-service.ts +24 -4
- package/src/send-service.ts +10 -1
- package/src/types.ts +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/channel.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AA4CtD,OAAO,KAAK,EACV,aAAa,EAKb,qBAAqB,EAErB,gBAAgB,EAMhB,WAAW,EAEX,MAAM,EACP,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/channel.ts"],"names":[],"mappings":"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"}
|
package/dist/src/channel.js
CHANGED
|
@@ -14,7 +14,7 @@ import { DEFAULT_AVATAR_BASE64 } from './bot-avatar.js';
|
|
|
14
14
|
import { Bitrix24ApiError, createVerboseLogger, defaultLogger, CHANNEL_PREFIX_RE } from './utils.js';
|
|
15
15
|
import { getBitrix24Runtime } from './runtime.js';
|
|
16
16
|
import { OPENCLAW_COMMANDS, buildCommandsHelpText, formatModelsCommandReply, getCommandRegistrationPayload, } from './commands.js';
|
|
17
|
-
import { accessApproved, accessDenied, commandKeyboardLabels, groupPairingPending, mediaDownloadFailed, groupChatUnsupported, newSessionReplyTexts, onboardingMessage, normalizeNewSessionReply, ownerAndAllowedUsersOnly, personalBotOwnerOnly,
|
|
17
|
+
import { accessApproved, accessDenied, commandKeyboardLabels, groupPairingPending, mediaDownloadFailed, groupChatUnsupported, newSessionReplyTexts, onboardingDisclaimerMessage, onboardingMessage, normalizeNewSessionReply, ownerAndAllowedUsersOnly, personalBotOwnerOnly, welcomeKeyboardLabels, watchOwnerDmNotice, } from './i18n.js';
|
|
18
18
|
import { HistoryCache } from './history-cache.js';
|
|
19
19
|
const PHASE_STATUS_DURATION_SECONDS = 8;
|
|
20
20
|
const PHASE_STATUS_REFRESH_GRACE_MS = 1000;
|
|
@@ -22,6 +22,7 @@ const THINKING_STATUS_DURATION_SECONDS = 30;
|
|
|
22
22
|
const THINKING_STATUS_REFRESH_GRACE_MS = 6000;
|
|
23
23
|
const DIRECT_TEXT_COALESCE_DEBOUNCE_MS = 200;
|
|
24
24
|
const DIRECT_TEXT_COALESCE_MAX_WAIT_MS = 5000;
|
|
25
|
+
const REPLY_FALLBACK_GRACE_MS = 750;
|
|
25
26
|
const ACCESS_DENIED_NOTICE_COOLDOWN_MS = 60000;
|
|
26
27
|
const AUTO_BOT_CODE_MAX_CANDIDATES = 100;
|
|
27
28
|
const MEDIA_DOWNLOAD_CONCURRENCY = 2;
|
|
@@ -258,6 +259,9 @@ function createReplyStatusHeartbeat(params) {
|
|
|
258
259
|
holdFor,
|
|
259
260
|
};
|
|
260
261
|
}
|
|
262
|
+
async function waitReplyFallbackGraceWindow() {
|
|
263
|
+
await new Promise((resolve) => setTimeout(resolve, REPLY_FALLBACK_GRACE_MS));
|
|
264
|
+
}
|
|
261
265
|
export function canCoalesceDirectMessage(msgCtx, config) {
|
|
262
266
|
return msgCtx.isDm
|
|
263
267
|
&& config.dmPolicy !== 'pairing'
|
|
@@ -934,13 +938,14 @@ async function sendInitialWelcomeToWebhookOwner(params) {
|
|
|
934
938
|
bot,
|
|
935
939
|
dialogId: ownerId,
|
|
936
940
|
};
|
|
937
|
-
const isPairing = config.dmPolicy === 'pairing';
|
|
938
|
-
const text = onboardingMessage(language, config.botName ?? 'OpenClaw', config.dmPolicy);
|
|
939
|
-
const options = isPairing
|
|
940
|
-
? undefined
|
|
941
|
-
: { keyboard: buildWelcomeKeyboard(language) };
|
|
942
941
|
try {
|
|
943
|
-
await
|
|
942
|
+
await sendOnboardingMessages({
|
|
943
|
+
sendService,
|
|
944
|
+
sendCtx,
|
|
945
|
+
language,
|
|
946
|
+
botName: config.botName ?? 'OpenClaw',
|
|
947
|
+
dmPolicy: config.dmPolicy,
|
|
948
|
+
});
|
|
944
949
|
welcomedDialogs.add(ownerId);
|
|
945
950
|
logger.info('Initial welcome sent to webhook owner', {
|
|
946
951
|
dialogId: ownerId,
|
|
@@ -951,6 +956,16 @@ async function sendInitialWelcomeToWebhookOwner(params) {
|
|
|
951
956
|
logger.warn('Failed to send initial welcome to webhook owner', err);
|
|
952
957
|
}
|
|
953
958
|
}
|
|
959
|
+
async function sendOnboardingMessages(params) {
|
|
960
|
+
const { sendService, sendCtx, language, botName, dmPolicy, } = params;
|
|
961
|
+
const isPairing = dmPolicy === 'pairing';
|
|
962
|
+
const text = onboardingMessage(language, botName, dmPolicy);
|
|
963
|
+
await sendService.sendText(sendCtx, text, isPairing ? undefined : { keyboard: buildWelcomeKeyboard(language) });
|
|
964
|
+
if (isPairing) {
|
|
965
|
+
return;
|
|
966
|
+
}
|
|
967
|
+
await sendService.sendText(sendCtx, onboardingDisclaimerMessage(language), { convertMarkdown: false, system: true });
|
|
968
|
+
}
|
|
954
969
|
/**
|
|
955
970
|
* Register or update the bot using imbot.v2.Bot.register / Bot.update.
|
|
956
971
|
*/
|
|
@@ -1801,7 +1816,25 @@ export const bitrix24Plugin = {
|
|
|
1801
1816
|
},
|
|
1802
1817
|
});
|
|
1803
1818
|
if (!replyDelivered && dispatchResult?.queuedFinal === false) {
|
|
1804
|
-
|
|
1819
|
+
logger.debug('Reply completed without queued final block, waiting before fallback', {
|
|
1820
|
+
senderId: msgCtx.senderId,
|
|
1821
|
+
chatId: msgCtx.chatId,
|
|
1822
|
+
counts: dispatchResult.counts,
|
|
1823
|
+
});
|
|
1824
|
+
await waitReplyFallbackGraceWindow();
|
|
1825
|
+
}
|
|
1826
|
+
if (!replyDelivered && dispatchResult?.queuedFinal === false) {
|
|
1827
|
+
logger.warn('Reply completed without a final user-visible message; fallback notice suppressed', {
|
|
1828
|
+
senderId: msgCtx.senderId,
|
|
1829
|
+
chatId: msgCtx.chatId,
|
|
1830
|
+
counts: dispatchResult.counts,
|
|
1831
|
+
});
|
|
1832
|
+
}
|
|
1833
|
+
else if (replyDelivered && dispatchResult?.queuedFinal === false) {
|
|
1834
|
+
logger.debug('Late reply arrived during fallback grace window, skipping fallback', {
|
|
1835
|
+
senderId: msgCtx.senderId,
|
|
1836
|
+
chatId: msgCtx.chatId,
|
|
1837
|
+
});
|
|
1805
1838
|
}
|
|
1806
1839
|
}
|
|
1807
1840
|
catch (err) {
|
|
@@ -1812,7 +1845,10 @@ export const bitrix24Plugin = {
|
|
|
1812
1845
|
replyStatusHeartbeat.stop();
|
|
1813
1846
|
}
|
|
1814
1847
|
if (!replyDelivered && dispatchFailed) {
|
|
1815
|
-
|
|
1848
|
+
logger.warn('Reply dispatch failed before any user-visible message; fallback notice suppressed', {
|
|
1849
|
+
senderId: msgCtx.senderId,
|
|
1850
|
+
chatId: msgCtx.chatId,
|
|
1851
|
+
});
|
|
1816
1852
|
}
|
|
1817
1853
|
}
|
|
1818
1854
|
finally {
|
|
@@ -2385,19 +2421,28 @@ export const bitrix24Plugin = {
|
|
|
2385
2421
|
},
|
|
2386
2422
|
});
|
|
2387
2423
|
if (!commandReplyDelivered && dispatchResult?.queuedFinal === false) {
|
|
2388
|
-
|
|
2389
|
-
|
|
2390
|
-
|
|
2391
|
-
|
|
2392
|
-
|
|
2393
|
-
|
|
2394
|
-
|
|
2395
|
-
|
|
2396
|
-
|
|
2397
|
-
|
|
2398
|
-
|
|
2399
|
-
|
|
2400
|
-
|
|
2424
|
+
logger.debug('Command reply completed without queued final block, waiting before fallback', {
|
|
2425
|
+
commandName,
|
|
2426
|
+
senderId,
|
|
2427
|
+
dialogId,
|
|
2428
|
+
counts: dispatchResult.counts,
|
|
2429
|
+
});
|
|
2430
|
+
await waitReplyFallbackGraceWindow();
|
|
2431
|
+
}
|
|
2432
|
+
if (!commandReplyDelivered && dispatchResult?.queuedFinal === false) {
|
|
2433
|
+
logger.warn('Command reply completed without a final user-visible message; fallback notice suppressed', {
|
|
2434
|
+
commandName,
|
|
2435
|
+
senderId,
|
|
2436
|
+
dialogId,
|
|
2437
|
+
counts: dispatchResult.counts,
|
|
2438
|
+
});
|
|
2439
|
+
}
|
|
2440
|
+
else if (commandReplyDelivered && dispatchResult?.queuedFinal === false) {
|
|
2441
|
+
logger.debug('Late command reply arrived during fallback grace window, skipping fallback', {
|
|
2442
|
+
commandName,
|
|
2443
|
+
senderId,
|
|
2444
|
+
dialogId,
|
|
2445
|
+
});
|
|
2401
2446
|
}
|
|
2402
2447
|
}
|
|
2403
2448
|
catch (err) {
|
|
@@ -2408,19 +2453,11 @@ export const bitrix24Plugin = {
|
|
|
2408
2453
|
replyStatusHeartbeat.stop();
|
|
2409
2454
|
}
|
|
2410
2455
|
if (!commandReplyDelivered && commandDispatchFailed) {
|
|
2411
|
-
|
|
2412
|
-
|
|
2413
|
-
|
|
2414
|
-
|
|
2415
|
-
|
|
2416
|
-
});
|
|
2417
|
-
}
|
|
2418
|
-
else {
|
|
2419
|
-
await sendService.answerCommandText(commandSendCtx, fallbackText, {
|
|
2420
|
-
keyboard: defaultSessionKeyboard,
|
|
2421
|
-
convertMarkdown: false,
|
|
2422
|
-
});
|
|
2423
|
-
}
|
|
2456
|
+
logger.warn('Command reply dispatch failed before any user-visible message; fallback notice suppressed', {
|
|
2457
|
+
commandName,
|
|
2458
|
+
senderId,
|
|
2459
|
+
dialogId,
|
|
2460
|
+
});
|
|
2424
2461
|
}
|
|
2425
2462
|
},
|
|
2426
2463
|
onJoinChat: async (joinCtx) => {
|
|
@@ -2497,10 +2534,14 @@ export const bitrix24Plugin = {
|
|
|
2497
2534
|
return;
|
|
2498
2535
|
}
|
|
2499
2536
|
// Send welcome message
|
|
2500
|
-
const isPairing = config.dmPolicy === 'pairing';
|
|
2501
|
-
const text = onboardingMessage(language, config.botName ?? 'OpenClaw', config.dmPolicy);
|
|
2502
2537
|
try {
|
|
2503
|
-
await
|
|
2538
|
+
await sendOnboardingMessages({
|
|
2539
|
+
sendService,
|
|
2540
|
+
sendCtx,
|
|
2541
|
+
language,
|
|
2542
|
+
botName: config.botName ?? 'OpenClaw',
|
|
2543
|
+
dmPolicy: config.dmPolicy,
|
|
2544
|
+
});
|
|
2504
2545
|
welcomedDialogs.add(dialogId);
|
|
2505
2546
|
logger.info('Welcome message sent', { dialogId });
|
|
2506
2547
|
}
|