botmux 2.98.0-canary.0 → 2.98.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/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +7 -2
- package/dist/daemon.js.map +1 -1
- package/dist/dashboard/federation-spoke-api.d.ts.map +1 -1
- package/dist/dashboard/federation-spoke-api.js +10 -3
- package/dist/dashboard/federation-spoke-api.js.map +1 -1
- package/dist/im/lark/event-dispatcher.d.ts +18 -1
- package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
- package/dist/im/lark/event-dispatcher.js +47 -3
- package/dist/im/lark/event-dispatcher.js.map +1 -1
- package/dist/services/team-bots-store.d.ts +34 -0
- package/dist/services/team-bots-store.d.ts.map +1 -0
- package/dist/services/team-bots-store.js +111 -0
- package/dist/services/team-bots-store.js.map +1 -0
- package/dist/services/team-groups-store.d.ts +8 -0
- package/dist/services/team-groups-store.d.ts.map +1 -1
- package/dist/services/team-groups-store.js +12 -0
- package/dist/services/team-groups-store.js.map +1 -1
- package/package.json +1 -1
package/dist/daemon.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AAmBA,OAAO,EAA8G,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAkBhK,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAiGrD,OAAO,EAAE,oBAAoB,EAA6B,MAAM,uBAAuB,CAAC;AACxF,OAAO,KAAK,EAAE,sBAAsB,EAAiB,MAAM,wBAAwB,CAAC;AAqPpF,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmClK;AAED,iBAAe,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,MAAe,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA8D3I;AAMD,eAAO,MAAM,uBAAuB,qBAAe,CAAC;AACpD,eAAO,MAAM,yBAAyB,4BAAiB,CAAC;AAqCxD,wBAAsB,8BAA8B,CAClD,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CA6ClB;AAED,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,GAAG,EAAE,MAAM,GACV,MAAM,GAAG,SAAS,CAIpB;AAED,wBAAgB,+BAA+B,CAC7C,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,GAAG,EAAE,MAAM,GACV,MAAM,GAAG,SAAS,CAMpB;AAoKD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,sBAAsB,GAAG,oBAAoB,CA0C5G;AA65CD;;;;;;;;;;;GAWG;AACH,iBAAe,uBAAuB,CAAC,GAAG,EAAE;IAC1C,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,GAAG,KAAK,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;;;;GAiBA;AAED,eAAO,MAAM,kCAAkC,gCAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AAmBA,OAAO,EAA8G,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAkBhK,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAiGrD,OAAO,EAAE,oBAAoB,EAA6B,MAAM,uBAAuB,CAAC;AACxF,OAAO,KAAK,EAAE,sBAAsB,EAAiB,MAAM,wBAAwB,CAAC;AAqPpF,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmClK;AAED,iBAAe,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,MAAe,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA8D3I;AAMD,eAAO,MAAM,uBAAuB,qBAAe,CAAC;AACpD,eAAO,MAAM,yBAAyB,4BAAiB,CAAC;AAqCxD,wBAAsB,8BAA8B,CAClD,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CA6ClB;AAED,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,GAAG,EAAE,MAAM,GACV,MAAM,GAAG,SAAS,CAIpB;AAED,wBAAgB,+BAA+B,CAC7C,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,GAAG,EAAE,MAAM,GACV,MAAM,GAAG,SAAS,CAMpB;AAoKD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,sBAAsB,GAAG,oBAAoB,CA0C5G;AA65CD;;;;;;;;;;;GAWG;AACH,iBAAe,uBAAuB,CAAC,GAAG,EAAE;IAC1C,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,GAAG,KAAK,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;;;;GAiBA;AAED,eAAO,MAAM,kCAAkC,gCAA0B,CAAC;AAy/C1E,wBAAsB,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAidlE"}
|
package/dist/daemon.js
CHANGED
|
@@ -2174,7 +2174,7 @@ async function handleNewTopic(data, ctx) {
|
|
|
2174
2174
|
// chat-granted users (who only pass canTalk) management commands like
|
|
2175
2175
|
// /cd /restart /oncall bind. Previously this gate only fired in oncall chats,
|
|
2176
2176
|
// which left a hole once per-chat grants flow through canTalk.
|
|
2177
|
-
if (!canOperate(larkAppId, chatId, senderOpenId)) {
|
|
2177
|
+
if (!canOperate(larkAppId, chatId, senderOpenId, senderUnionId)) {
|
|
2178
2178
|
await sessionReply(anchor, tr('daemon.cmd_allowed_users_only', { cmd }, localeForBot(larkAppId)), 'text', larkAppId);
|
|
2179
2179
|
return;
|
|
2180
2180
|
}
|
|
@@ -2676,6 +2676,11 @@ async function handleThreadReply(data, ctx) {
|
|
|
2676
2676
|
// Strip leading @<bot> mentions so "@bot /restart" is recognized as a command.
|
|
2677
2677
|
const cmdContent = stripLeadingMentions(content, parsed.mentions);
|
|
2678
2678
|
const threadSenderOpenId = parsed.senderId || data?.sender?.sender_id?.open_id;
|
|
2679
|
+
// Tenant-stable union_id of the thread sender — lets canOperate recognise a
|
|
2680
|
+
// cross-deployment TEAM peer bot (isTeamBot) and grant it daemon-command
|
|
2681
|
+
// operate, parity with same-deployment siblings (option B). undefined for
|
|
2682
|
+
// senders Lark didn't stamp a union_id on → no team-operate, falls back.
|
|
2683
|
+
const threadSenderUnionId = data?.sender?.sender_id?.union_id;
|
|
2679
2684
|
const threadChatId = ctxChatId ?? data?.message?.chat_id;
|
|
2680
2685
|
const clearAgentAttentionForHumanInbound = () => {
|
|
2681
2686
|
if (isForeignBot || isBotSenderType)
|
|
@@ -2797,7 +2802,7 @@ async function handleThreadReply(data, ctx) {
|
|
|
2797
2802
|
}
|
|
2798
2803
|
// canOperate gate for thread-reply daemon commands — required in every chat
|
|
2799
2804
|
// (see spawn-path gate above). Denies chat-granted users management commands.
|
|
2800
|
-
if (!canOperate(larkAppId, effectiveThreadChatId, threadSenderOpenId)) {
|
|
2805
|
+
if (!canOperate(larkAppId, effectiveThreadChatId, threadSenderOpenId, threadSenderUnionId)) {
|
|
2801
2806
|
sessionReply(anchor, tr('daemon.cmd_allowed_users_only', { cmd }, localeForBot(larkAppId)), 'text', larkAppId);
|
|
2802
2807
|
return;
|
|
2803
2808
|
}
|