botmux 2.51.0 → 2.52.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.
- package/README.en.md +36 -1
- package/README.md +33 -1
- package/dist/bot-registry.d.ts +30 -0
- package/dist/bot-registry.d.ts.map +1 -1
- package/dist/bot-registry.js +31 -0
- package/dist/bot-registry.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +400 -3
- package/dist/cli.js.map +1 -1
- package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
- package/dist/core/dashboard-ipc-server.js +37 -0
- package/dist/core/dashboard-ipc-server.js.map +1 -1
- package/dist/core/dispatch.d.ts +163 -0
- package/dist/core/dispatch.d.ts.map +1 -0
- package/dist/core/dispatch.js +212 -0
- package/dist/core/dispatch.js.map +1 -0
- package/dist/daemon.d.ts +3 -0
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +184 -11
- package/dist/daemon.js.map +1 -1
- package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
- package/dist/dashboard/web/bot-defaults.js +114 -0
- package/dist/dashboard/web/bot-defaults.js.map +1 -1
- package/dist/dashboard/web/i18n.d.ts.map +1 -1
- package/dist/dashboard/web/i18n.js +22 -0
- package/dist/dashboard/web/i18n.js.map +1 -1
- package/dist/dashboard-web/app.js +449 -426
- package/dist/dashboard.js +20 -0
- package/dist/dashboard.js.map +1 -1
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +7 -1
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/zh.d.ts.map +1 -1
- package/dist/i18n/zh.js +7 -1
- package/dist/i18n/zh.js.map +1 -1
- package/dist/im/lark/card-builder.d.ts +4 -2
- package/dist/im/lark/card-builder.d.ts.map +1 -1
- package/dist/im/lark/card-builder.js +15 -3
- package/dist/im/lark/card-builder.js.map +1 -1
- package/dist/im/lark/card-handler.d.ts.map +1 -1
- package/dist/im/lark/card-handler.js +6 -4
- package/dist/im/lark/card-handler.js.map +1 -1
- package/dist/im/lark/event-dispatcher.d.ts +12 -0
- package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
- package/dist/im/lark/event-dispatcher.js +61 -36
- package/dist/im/lark/event-dispatcher.js.map +1 -1
- package/dist/im/lark/grant-command.d.ts +13 -0
- package/dist/im/lark/grant-command.d.ts.map +1 -1
- package/dist/im/lark/grant-command.js +49 -3
- package/dist/im/lark/grant-command.js.map +1 -1
- package/dist/im/lark/grant-pending.d.ts +7 -4
- package/dist/im/lark/grant-pending.d.ts.map +1 -1
- package/dist/im/lark/grant-pending.js +12 -6
- package/dist/im/lark/grant-pending.js.map +1 -1
- package/dist/services/grant-prefs-store.d.ts +23 -0
- package/dist/services/grant-prefs-store.d.ts.map +1 -0
- package/dist/services/grant-prefs-store.js +94 -0
- package/dist/services/grant-prefs-store.js.map +1 -0
- package/dist/services/grant-store.d.ts +34 -2
- package/dist/services/grant-store.d.ts.map +1 -1
- package/dist/services/grant-store.js +160 -9
- package/dist/services/grant-store.js.map +1 -1
- package/dist/services/quota-dedup.d.ts +33 -0
- package/dist/services/quota-dedup.d.ts.map +1 -0
- package/dist/services/quota-dedup.js +67 -0
- package/dist/services/quota-dedup.js.map +1 -0
- package/dist/skills/definitions.d.ts.map +1 -1
- package/dist/skills/definitions.js +73 -0
- package/dist/skills/definitions.js.map +1 -1
- package/dist/types.d.ts +7 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/anchor-serializer.d.ts +11 -0
- package/dist/utils/anchor-serializer.d.ts.map +1 -0
- package/dist/utils/anchor-serializer.js +49 -0
- package/dist/utils/anchor-serializer.js.map +1 -0
- package/dist/utils/input-gate.d.ts +31 -0
- package/dist/utils/input-gate.d.ts.map +1 -0
- package/dist/utils/input-gate.js +27 -0
- package/dist/utils/input-gate.js.map +1 -0
- package/dist/utils/web-terminal-seed.d.ts +40 -0
- package/dist/utils/web-terminal-seed.d.ts.map +1 -0
- package/dist/utils/web-terminal-seed.js +46 -0
- package/dist/utils/web-terminal-seed.js.map +1 -0
- package/dist/worker.js +23 -6
- package/dist/worker.js.map +1 -1
- package/package.json +1 -1
|
@@ -10,6 +10,7 @@ import { getBot, getAllBots, isChatOncallBoundForAnyBot, getOwnerOpenId } from '
|
|
|
10
10
|
import { config } from '../../config.js';
|
|
11
11
|
import { getChatInfo, getChatMode, replyMessage, sendUserMessage, isHumanOpenId } from './client.js';
|
|
12
12
|
import { logger } from '../../utils/logger.js';
|
|
13
|
+
import { serializeByAnchor } from '../../utils/anchor-serializer.js';
|
|
13
14
|
import { parseForceTopicInvocation } from '../../core/command-handler.js';
|
|
14
15
|
import { shouldAutoStartOnNewTopic } from '../../core/auto-start.js';
|
|
15
16
|
import { stripLeadingMentions } from './message-parser.js';
|
|
@@ -18,7 +19,8 @@ import { BOTMUX_REQUIRED_SCOPES, buildScopeDeepLink } from '../../setup/verify-p
|
|
|
18
19
|
import { tryHandleGrantCommand } from './grant-command.js';
|
|
19
20
|
import { buildGrantCard } from './card-builder.js';
|
|
20
21
|
import { openPending, isThrottled } from './grant-pending.js';
|
|
21
|
-
import { localeForBot } from '../../i18n/index.js';
|
|
22
|
+
import { localeForBot, t } from '../../i18n/index.js';
|
|
23
|
+
import { chatQuotaKey, globalQuotaKey } from '../../services/grant-store.js';
|
|
22
24
|
// ─── Bot identity ─────────────────────────────────────────────────────────
|
|
23
25
|
/** Set the bot's open_id. Callers should also call writeBotInfoFile() to persist. */
|
|
24
26
|
export function setBotOpenId(larkAppId, id) {
|
|
@@ -368,6 +370,13 @@ export async function tryHandleIntroduceCommand(larkAppId, message, senderOpenId
|
|
|
368
370
|
if (!INTRODUCE_RE.test(stripped))
|
|
369
371
|
return false;
|
|
370
372
|
logger.debug(`[${larkAppId}] /introduce from ${senderOpenId ?? 'unknown'} (no auth required)`);
|
|
373
|
+
if (grantCommandRestriction(larkAppId, message.chat_id, senderOpenId).blocked) {
|
|
374
|
+
const loc = localeForBot(larkAppId);
|
|
375
|
+
await replyMessage(larkAppId, message.message_id, JSON.stringify({
|
|
376
|
+
text: t('cmd.grant_restricted', { cmd: '/introduce' }, loc),
|
|
377
|
+
})).catch(err => logger.debug(`introduce grant_restricted reply failed: ${err}`));
|
|
378
|
+
return true;
|
|
379
|
+
}
|
|
371
380
|
const selfOpenId = getBot(larkAppId).botOpenId;
|
|
372
381
|
const rawMentions = message.mentions ?? [];
|
|
373
382
|
const all = rawMentions
|
|
@@ -440,21 +449,16 @@ export function isBotMentioned(larkAppId, message, _senderOpenId) {
|
|
|
440
449
|
catch { /* ignore parse errors */ }
|
|
441
450
|
return false;
|
|
442
451
|
}
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
//
|
|
454
|
-
// Oncall is a chat-level concept: `isChatOncallBoundForAnyBot` returns true
|
|
455
|
-
// when ANY bot (this one or a sibling in another daemon) has the chat bound,
|
|
456
|
-
// so an unbound sibling doesn't fall back to allowedUsers and reply
|
|
457
|
-
// "⚠️ 无操作权限" when @-mentioned in a shared oncall workspace.
|
|
452
|
+
export function grantCommandRestriction(larkAppId, chatId, senderOpenId) {
|
|
453
|
+
const bot = getBot(larkAppId);
|
|
454
|
+
if (bot.config.restrictGrantCommands !== true)
|
|
455
|
+
return { blocked: false };
|
|
456
|
+
const ev = evaluateTalk(larkAppId, chatId, senderOpenId);
|
|
457
|
+
if (ev.reason === 'chatGrant' || ev.reason === 'globalGrant') {
|
|
458
|
+
return { blocked: true, reason: ev.reason };
|
|
459
|
+
}
|
|
460
|
+
return { blocked: false };
|
|
461
|
+
}
|
|
458
462
|
/** per-chat per-user 授权命中判断(仅用于 canTalk —— 不给管理命令权)。 */
|
|
459
463
|
function hasChatGrant(larkAppId, chatId, openId) {
|
|
460
464
|
return !!chatId && !!openId && !!getBot(larkAppId).config.chatGrants?.[chatId]?.includes(openId);
|
|
@@ -464,34 +468,46 @@ function hasGlobalGrant(larkAppId, openId) {
|
|
|
464
468
|
return !!openId && !!getBot(larkAppId).config.globalGrants?.includes(openId);
|
|
465
469
|
}
|
|
466
470
|
export function canTalk(larkAppId, chatId, senderOpenId) {
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
return true;
|
|
471
|
-
if (hasChatGrant(larkAppId, chatId, senderOpenId))
|
|
472
|
-
return true;
|
|
473
|
-
// 全局对话授权(talk-only,人/bot 通用):命中即在任意群放行,与 chatGrants 同级、不授 operate。
|
|
474
|
-
if (hasGlobalGrant(larkAppId, senderOpenId))
|
|
475
|
-
return true;
|
|
471
|
+
return evaluateTalk(larkAppId, chatId, senderOpenId).allowed;
|
|
472
|
+
}
|
|
473
|
+
export function evaluateTalk(larkAppId, chatId, senderOpenId) {
|
|
476
474
|
const bot = getBot(larkAppId);
|
|
477
475
|
// allowedChatGroups 是"talk-open 的 chat_id 列表":当前消息来自其中之一即放行(仅 canTalk)。
|
|
478
476
|
// 成员关系隐含在"能在该 chat 发言"里 —— 退群者发不了言自动失权,新人进群即生效,无需成员快照。
|
|
479
|
-
if (chatId && bot.config.allowedChatGroups?.includes(chatId))
|
|
480
|
-
return true;
|
|
481
477
|
const allowedUsers = bot.resolvedAllowedUsers;
|
|
478
|
+
if (senderOpenId && allowedUsers.includes(senderOpenId))
|
|
479
|
+
return { allowed: true, reason: 'allowedUser' };
|
|
480
|
+
if (chatId && isChatOncallBoundForAnyBot(chatId))
|
|
481
|
+
return { allowed: true, reason: 'oncall' };
|
|
482
|
+
if (isKnownPeerBot(config.session.dataDir, larkAppId, senderOpenId))
|
|
483
|
+
return { allowed: true, reason: 'peer' };
|
|
484
|
+
if (chatId && bot.config.allowedChatGroups?.includes(chatId))
|
|
485
|
+
return { allowed: true, reason: 'allowedChatGroup' };
|
|
482
486
|
// globalGrants 与 allowedChatGroups 同样确立"有白名单"语义:只配 globalGrants 也算限制态,
|
|
483
487
|
// 不能 fall through 到"全开放"。
|
|
484
488
|
const hasAllowlist = allowedUsers.length > 0
|
|
485
489
|
|| (bot.config.allowedChatGroups?.length ?? 0) > 0
|
|
486
490
|
|| (bot.config.globalGrants?.length ?? 0) > 0;
|
|
487
491
|
if (!hasAllowlist)
|
|
488
|
-
return true;
|
|
489
|
-
if (
|
|
490
|
-
return
|
|
491
|
-
|
|
492
|
+
return { allowed: true, reason: 'open' };
|
|
493
|
+
if (hasChatGrant(larkAppId, chatId, senderOpenId)) {
|
|
494
|
+
return { allowed: true, reason: 'chatGrant', quotaKey: chatQuotaKey(chatId, senderOpenId) };
|
|
495
|
+
}
|
|
496
|
+
// 全局对话授权(talk-only,人/bot 通用):命中即在任意群放行,与 chatGrants 同级、不授 operate。
|
|
497
|
+
if (hasGlobalGrant(larkAppId, senderOpenId)) {
|
|
498
|
+
return { allowed: true, reason: 'globalGrant', quotaKey: globalQuotaKey(senderOpenId) };
|
|
499
|
+
}
|
|
500
|
+
return { allowed: false, reason: 'none' };
|
|
492
501
|
}
|
|
493
502
|
export function canOperate(larkAppId, _chatId, senderOpenId) {
|
|
494
503
|
const bot = getBot(larkAppId);
|
|
504
|
+
// L1 同部署兄弟 bot 互信 operate:与 canTalk 一致——isKnownPeerBot 只认本部署
|
|
505
|
+
// bots-info.json 里注册过的自家 bot。这不重开 PR #46 的封堵:人的 talk 授权
|
|
506
|
+
// (chatGrant/globalGrant)仍不漏成 operate;这里只放行「自家 bot 之间」的 /
|
|
507
|
+
// 命令(让编排者能对子 bot 跑 /repo /cd 等)。跨团队/外部 bot 仍走 allowedUsers /
|
|
508
|
+
// 后续的 operate 级 grant。
|
|
509
|
+
if (isKnownPeerBot(config.session.dataDir, larkAppId, senderOpenId))
|
|
510
|
+
return true;
|
|
495
511
|
const allowedUsers = bot.resolvedAllowedUsers;
|
|
496
512
|
// globalGrants(与 allowedChatGroups 同理)确立"有白名单"语义:只配 globalGrants 也算限制态,
|
|
497
513
|
// 否则 canOperate 会 fall through 到"全开放",把 talk-only 授权变成 operate 全开——正是 PR #46
|
|
@@ -743,7 +759,10 @@ export function startLarkEventDispatcher(larkAppId, larkAppSecret, handlers) {
|
|
|
743
759
|
return;
|
|
744
760
|
}
|
|
745
761
|
const ctx = await decideRouting(larkAppId, message);
|
|
746
|
-
|
|
762
|
+
// Serialize per anchor so back-to-back messages to the same thread
|
|
763
|
+
// (e.g. dispatch's /repo prime + brief kickoff) don't interleave with
|
|
764
|
+
// the first's async session-spawn. See anchor-serializer.ts.
|
|
765
|
+
serializeByAnchor(ctx.anchor, () => handlers.handleThreadReply(data, { ...ctx, chatId, messageId, chatType, larkAppId }))
|
|
747
766
|
.catch(err => logger.error(`Error handling message event: ${err}`));
|
|
748
767
|
return;
|
|
749
768
|
}
|
|
@@ -781,7 +800,9 @@ export function startLarkEventDispatcher(larkAppId, larkAppSecret, handlers) {
|
|
|
781
800
|
}
|
|
782
801
|
}
|
|
783
802
|
logger.info(`Bot-to-bot @mention detected (scope=${ctx.scope}): routing to handleThreadReply`);
|
|
784
|
-
|
|
803
|
+
// Serialize per anchor — a sub-bot dispatched a /repo prime + kickoff
|
|
804
|
+
// back-to-back into this thread must be handled in order, not raced.
|
|
805
|
+
serializeByAnchor(ctx.anchor, () => handlers.handleThreadReply(data, { ...ctx, chatId, messageId, chatType, larkAppId }))
|
|
785
806
|
.catch(err => logger.error(`Error handling bot @mention: ${err}`));
|
|
786
807
|
return;
|
|
787
808
|
}
|
|
@@ -926,10 +947,14 @@ export function startLarkEventDispatcher(larkAppId, larkAppSecret, handlers) {
|
|
|
926
947
|
return;
|
|
927
948
|
}
|
|
928
949
|
const ctx = { chatId, messageId, chatType, larkAppId, ...routing };
|
|
929
|
-
|
|
950
|
+
// Serialize per anchor so two messages to the same thread/chat are
|
|
951
|
+
// processed in arrival order — never concurrently. Without this a fast
|
|
952
|
+
// second message interleaves with the first's async session-spawn and is
|
|
953
|
+
// dropped (worker-not-ready → re-fork branch). See anchor-serializer.ts.
|
|
954
|
+
serializeByAnchor(ctx.anchor, () => ownsSession
|
|
930
955
|
? handlers.handleThreadReply(data, ctx)
|
|
931
|
-
: handlers.handleNewTopic(data, ctx)
|
|
932
|
-
|
|
956
|
+
: handlers.handleNewTopic(data, ctx))
|
|
957
|
+
.catch(err => logger.error(`Error handling message event: ${err}`));
|
|
933
958
|
}
|
|
934
959
|
catch (err) {
|
|
935
960
|
logger.error(`Error handling message event: ${err}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-dispatcher.js","sourceRoot":"","sources":["../../../src/im/lark/event-dispatcher.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"event-dispatcher.js","sourceRoot":"","sources":["../../../src/im/lark/event-dispatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,19 @@ export declare function parseGrantTarget(message: any, botOpenId: string | undef
|
|
|
10
10
|
openId: string;
|
|
11
11
|
name: string;
|
|
12
12
|
} | undefined;
|
|
13
|
+
/** 把文本里所有 `@<name>` mention token 去掉(split/join,防正则注入),归一空白后 trim。 */
|
|
14
|
+
export declare function stripAllMentions(text: string, mentions: any[]): string;
|
|
15
|
+
/**
|
|
16
|
+
* 解析 `/grant @x [N]` 里可选的消息额度 N。`text` 已 stripLeadingMentions(去开头 @bot),
|
|
17
|
+
* 这里把剩余所有 `@<name>` mention 也剥掉,剩下应只是 `/grant` 或 `/grant <token>`。
|
|
18
|
+
* N 必须是唯一尾部正整数 token;0 / 负数 / 小数 / 多余尾巴 → { ok:false }(调用方回 usage)。
|
|
19
|
+
*/
|
|
20
|
+
export declare function parseGrantQuota(text: string, mentions: any[]): {
|
|
21
|
+
ok: true;
|
|
22
|
+
quota?: number;
|
|
23
|
+
} | {
|
|
24
|
+
ok: false;
|
|
25
|
+
};
|
|
13
26
|
/** 返回 true 表示已拦截(不再进入路由/spawn)。 */
|
|
14
27
|
export declare function tryHandleGrantCommand(larkAppId: string, message: any, senderOpenId: string | undefined): Promise<boolean>;
|
|
15
28
|
//# sourceMappingURL=grant-command.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grant-command.d.ts","sourceRoot":"","sources":["../../../src/im/lark/grant-command.ts"],"names":[],"mappings":"AAgBA;;iEAEiE;AACjE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAUtH;AAED,kCAAkC;AAClC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAE1H;AAED,mCAAmC;AACnC,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS,GAChE,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"grant-command.d.ts","sourceRoot":"","sources":["../../../src/im/lark/grant-command.ts"],"names":[],"mappings":"AAgBA;;iEAEiE;AACjE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAUtH;AAED,kCAAkC;AAClC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAE1H;AAED,sEAAsE;AACtE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,MAAM,CAOtE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAA;CAAE,CAS3G;AAED,mCAAmC;AACnC,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS,GAChE,OAAO,CAAC,OAAO,CAAC,CAiHlB"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* 与 /introduce 不同:必须确认本 bot 被 @(多 bot 群防重复处理),
|
|
5
5
|
* 且解析 target 时排除 bot 自身。
|
|
6
6
|
*/
|
|
7
|
-
import { getOwnerOpenId, getBotOpenId } from '../../bot-registry.js';
|
|
7
|
+
import { getOwnerOpenId, getBotOpenId, getBot } from '../../bot-registry.js';
|
|
8
8
|
import { isBotMentioned, extractMessageTextForRouting } from './event-dispatcher.js';
|
|
9
9
|
import { stripLeadingMentions } from './message-parser.js';
|
|
10
10
|
import { buildGrantCard } from './card-builder.js';
|
|
@@ -32,6 +32,35 @@ export function parseGrantTargets(message, botOpenId) {
|
|
|
32
32
|
export function parseGrantTarget(message, botOpenId) {
|
|
33
33
|
return parseGrantTargets(message, botOpenId)[0];
|
|
34
34
|
}
|
|
35
|
+
/** 把文本里所有 `@<name>` mention token 去掉(split/join,防正则注入),归一空白后 trim。 */
|
|
36
|
+
export function stripAllMentions(text, mentions) {
|
|
37
|
+
let s = text;
|
|
38
|
+
for (const m of mentions ?? []) {
|
|
39
|
+
const name = m?.name;
|
|
40
|
+
if (typeof name === 'string' && name.length)
|
|
41
|
+
s = s.split(`@${name}`).join(' ');
|
|
42
|
+
}
|
|
43
|
+
return s.replace(/\s+/g, ' ').trim();
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* 解析 `/grant @x [N]` 里可选的消息额度 N。`text` 已 stripLeadingMentions(去开头 @bot),
|
|
47
|
+
* 这里把剩余所有 `@<name>` mention 也剥掉,剩下应只是 `/grant` 或 `/grant <token>`。
|
|
48
|
+
* N 必须是唯一尾部正整数 token;0 / 负数 / 小数 / 多余尾巴 → { ok:false }(调用方回 usage)。
|
|
49
|
+
*/
|
|
50
|
+
export function parseGrantQuota(text, mentions) {
|
|
51
|
+
const mm = /^\/grant(?:\s+(\S+))?$/i.exec(stripAllMentions(text, mentions));
|
|
52
|
+
if (!mm)
|
|
53
|
+
return { ok: false }; // 多余尾巴 / 解析不出
|
|
54
|
+
const tok = mm[1];
|
|
55
|
+
if (tok === undefined)
|
|
56
|
+
return { ok: true, quota: undefined }; // 无数字
|
|
57
|
+
if (!/^\d+$/.test(tok))
|
|
58
|
+
return { ok: false }; // 负号 / 小数 / 非数字
|
|
59
|
+
const n = parseInt(tok, 10);
|
|
60
|
+
if (n <= 0)
|
|
61
|
+
return { ok: false }; // \d+ 已保证整数,仅需挡 0
|
|
62
|
+
return { ok: true, quota: n };
|
|
63
|
+
}
|
|
35
64
|
/** 返回 true 表示已拦截(不再进入路由/spawn)。 */
|
|
36
65
|
export async function tryHandleGrantCommand(larkAppId, message, senderOpenId) {
|
|
37
66
|
const rawText = extractMessageTextForRouting(message);
|
|
@@ -66,6 +95,15 @@ export async function tryHandleGrantCommand(larkAppId, message, senderOpenId) {
|
|
|
66
95
|
.catch(err => logger.debug(`grant usage reply failed: ${err}`));
|
|
67
96
|
return true;
|
|
68
97
|
}
|
|
98
|
+
// 无 @目标时只接受"整群"意图:精确 `/grant`(空尾巴)或 `/grant all`。带其它 token
|
|
99
|
+
// (尤其 `/grant 5` —— owner 漏 @ 人却写了额度数字)绝不当成整群授权打开 talk,回 usage,
|
|
100
|
+
// 避免把"给某人 5 条额度"误执行成"对全群开放对话"。
|
|
101
|
+
const rest = stripAllMentions(text, message?.mentions ?? []).replace(/^\/(grant|revoke)\b/i, '').trim();
|
|
102
|
+
if (rest !== '' && rest.toLowerCase() !== 'all') {
|
|
103
|
+
await replyMessage(larkAppId, messageId, t(isGrant ? 'cmd.grant.bad_quota' : 'cmd.revoke.usage', undefined, loc))
|
|
104
|
+
.catch(err => logger.debug(`grant no-target guard reply failed: ${err}`));
|
|
105
|
+
return true;
|
|
106
|
+
}
|
|
69
107
|
let txt;
|
|
70
108
|
if (isGrant) {
|
|
71
109
|
const r = await addAllowedChatGroup(larkAppId, chatId);
|
|
@@ -116,8 +154,16 @@ export async function tryHandleGrantCommand(larkAppId, message, senderOpenId) {
|
|
|
116
154
|
logger.info(`[grant:${larkAppId}] revoke ${targets.length} target(s) in ${chatId}`);
|
|
117
155
|
return true;
|
|
118
156
|
}
|
|
119
|
-
//
|
|
120
|
-
const
|
|
157
|
+
// 解析可选额度:`/grant @x 5`(多目标时对每人各 N 条)。显式数字恒生效;无数字取 messageQuota.defaultLimit(未配=无限)。
|
|
158
|
+
const pq = parseGrantQuota(text, message?.mentions ?? []);
|
|
159
|
+
if (!pq.ok) {
|
|
160
|
+
await replyMessage(larkAppId, messageId, t('cmd.grant.bad_quota', undefined, loc))
|
|
161
|
+
.catch(err => logger.debug(`grant bad_quota reply failed: ${err}`));
|
|
162
|
+
return true;
|
|
163
|
+
}
|
|
164
|
+
const quota = pq.quota ?? getBot(larkAppId).config.messageQuota?.defaultLimit;
|
|
165
|
+
// /grant → 弹一张卡(owner 主动态),列出全部目标;owner 点一次范围按钮即对全部生效。额度(若有)对每个目标各自挂在 pending 上。
|
|
166
|
+
const nonce = openPendingMulti(larkAppId, chatId, targets.map(tgt => tgt.openId), quota);
|
|
121
167
|
const card = buildGrantCard({ ownerOpenId: owner, targets, chatId, nonce, mode: 'owner' }, loc);
|
|
122
168
|
await replyMessage(larkAppId, messageId, card, 'interactive')
|
|
123
169
|
.catch(err => logger.debug(`grant card reply failed: ${err}`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grant-command.js","sourceRoot":"","sources":["../../../src/im/lark/grant-command.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"grant-command.js","sourceRoot":"","sources":["../../../src/im/lark/grant-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
/** 开一张待处置的卡,返回 nonce。 */
|
|
2
|
-
export declare function openPending(larkAppId: string, chatId: string, target: string): string;
|
|
1
|
+
/** 开一张待处置的卡,返回 nonce。`quota` 为可选的消息额度(已解析),落授权时透传给 grant-store。 */
|
|
2
|
+
export declare function openPending(larkAppId: string, chatId: string, target: string, quota?: number): string;
|
|
3
3
|
/** owner 一次 /grant 多个目标:同一张卡 → 多个 target 共用同一 nonce,
|
|
4
|
-
* owner 点一次范围即对全部目标生效。校验时每个 target 独立 checkNonce。
|
|
5
|
-
|
|
4
|
+
* owner 点一次范围即对全部目标生效。校验时每个 target 独立 checkNonce。
|
|
5
|
+
* `quota`(若有)对每个 target 各自生效(每人 N 条额度)。 */
|
|
6
|
+
export declare function openPendingMulti(larkAppId: string, chatId: string, targets: string[], quota?: number): string;
|
|
7
|
+
/** 回读 pending 上挂的额度(owner 点授权按钮时用)。无 / 非 pending → undefined。 */
|
|
8
|
+
export declare function getPendingQuota(larkAppId: string, chatId: string, target: string): number | undefined;
|
|
6
9
|
/** 卡片处置前校验:必须仍 pending 且 nonce 匹配。 */
|
|
7
10
|
export declare function checkNonce(larkAppId: string, chatId: string, target: string, nonce: string): boolean;
|
|
8
11
|
/** 授权成功 / revoke → 清除,允许将来重新申请。 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grant-pending.d.ts","sourceRoot":"","sources":["../../../src/im/lark/grant-pending.ts"],"names":[],"mappings":"AAeA,
|
|
1
|
+
{"version":3,"file":"grant-pending.d.ts","sourceRoot":"","sources":["../../../src/im/lark/grant-pending.ts"],"names":[],"mappings":"AAeA,mEAAmE;AACnE,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAErG;AAED;;4CAE4C;AAC5C,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAK7G;AAED,iEAAiE;AACjE,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGrG;AAED,sCAAsC;AACtC,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAGpG;AAED,mCAAmC;AACnC,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAEpF;AAED,kDAAkD;AAClD,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAElF;AAED,uDAAuD;AACvD,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAKtF;AAED,wBAAgB,aAAa,IAAI,IAAI,CAAmB"}
|
|
@@ -8,19 +8,25 @@ import { randomUUID } from 'node:crypto';
|
|
|
8
8
|
const DENY_COOLDOWN_MS = 10 * 60 * 1000;
|
|
9
9
|
const table = new Map();
|
|
10
10
|
const key = (a, c, t) => `${a}:${c}:${t}`;
|
|
11
|
-
/** 开一张待处置的卡,返回 nonce。 */
|
|
12
|
-
export function openPending(larkAppId, chatId, target) {
|
|
13
|
-
return openPendingMulti(larkAppId, chatId, [target]);
|
|
11
|
+
/** 开一张待处置的卡,返回 nonce。`quota` 为可选的消息额度(已解析),落授权时透传给 grant-store。 */
|
|
12
|
+
export function openPending(larkAppId, chatId, target, quota) {
|
|
13
|
+
return openPendingMulti(larkAppId, chatId, [target], quota);
|
|
14
14
|
}
|
|
15
15
|
/** owner 一次 /grant 多个目标:同一张卡 → 多个 target 共用同一 nonce,
|
|
16
|
-
* owner 点一次范围即对全部目标生效。校验时每个 target 独立 checkNonce。
|
|
17
|
-
|
|
16
|
+
* owner 点一次范围即对全部目标生效。校验时每个 target 独立 checkNonce。
|
|
17
|
+
* `quota`(若有)对每个 target 各自生效(每人 N 条额度)。 */
|
|
18
|
+
export function openPendingMulti(larkAppId, chatId, targets, quota) {
|
|
18
19
|
const nonce = randomUUID();
|
|
19
20
|
const ts = Date.now();
|
|
20
21
|
for (const target of targets)
|
|
21
|
-
table.set(key(larkAppId, chatId, target), { state: 'pending', nonce, ts });
|
|
22
|
+
table.set(key(larkAppId, chatId, target), { state: 'pending', nonce, ts, quota });
|
|
22
23
|
return nonce;
|
|
23
24
|
}
|
|
25
|
+
/** 回读 pending 上挂的额度(owner 点授权按钮时用)。无 / 非 pending → undefined。 */
|
|
26
|
+
export function getPendingQuota(larkAppId, chatId, target) {
|
|
27
|
+
const e = table.get(key(larkAppId, chatId, target));
|
|
28
|
+
return e && e.state === 'pending' ? e.quota : undefined;
|
|
29
|
+
}
|
|
24
30
|
/** 卡片处置前校验:必须仍 pending 且 nonce 匹配。 */
|
|
25
31
|
export function checkNonce(larkAppId, chatId, target, nonce) {
|
|
26
32
|
const e = table.get(key(larkAppId, chatId, target));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grant-pending.js","sourceRoot":"","sources":["../../../src/im/lark/grant-pending.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,gBAAgB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAGxC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAiB,CAAC;AAEvC,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAElE,
|
|
1
|
+
{"version":3,"file":"grant-pending.js","sourceRoot":"","sources":["../../../src/im/lark/grant-pending.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export interface BotGrantPrefs {
|
|
2
|
+
/** owner 限制被授权人只能纯对话、拦截一切 slash 命令。默认 false。 */
|
|
3
|
+
restrictGrantCommands: boolean;
|
|
4
|
+
/** 消息额度默认值:null = 关闭(无限);正整数 = 不带数字的 /grant 取此值。 */
|
|
5
|
+
messageQuotaDefaultLimit: number | null;
|
|
6
|
+
}
|
|
7
|
+
/** Current grant prefs for a bot(缺省 restrict=false、quota=null)。 */
|
|
8
|
+
export declare function getBotGrantPrefs(larkAppId: string): BotGrantPrefs;
|
|
9
|
+
/**
|
|
10
|
+
* 持久化一次 grant-prefs 局部修改。只动 patch 里出现的 key。
|
|
11
|
+
* • restrictGrantCommands=false → 删 key(bots.json 保持干净,缺省即默认)
|
|
12
|
+
* • messageQuotaDefaultLimit=null → 删整个 messageQuota(关闭默认额度;不动 quotaState 计数)
|
|
13
|
+
* • messageQuotaDefaultLimit=正整数 → 写入;非法值(非整数/0/负数)直接拒,返回 bad_quota
|
|
14
|
+
* 返回写后解析出的完整 prefs。
|
|
15
|
+
*/
|
|
16
|
+
export declare function updateBotGrantPrefs(larkAppId: string, patch: Partial<BotGrantPrefs>): Promise<{
|
|
17
|
+
ok: true;
|
|
18
|
+
prefs: BotGrantPrefs;
|
|
19
|
+
} | {
|
|
20
|
+
ok: false;
|
|
21
|
+
reason: string;
|
|
22
|
+
}>;
|
|
23
|
+
//# sourceMappingURL=grant-prefs-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grant-prefs-store.d.ts","sourceRoot":"","sources":["../../src/services/grant-prefs-store.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,aAAa;IAC5B,gDAAgD;IAChD,qBAAqB,EAAE,OAAO,CAAC;IAC/B,oDAAoD;IACpD,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC;AAQD,mEAAmE;AACnE,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,CAUjE;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,GAC5B,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,aAAa,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAiD7E"}
|