botmux 2.51.1 → 2.53.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.
Files changed (165) hide show
  1. package/README.en.md +22 -265
  2. package/README.md +21 -296
  3. package/dist/adapters/backend/session-backend-selector.d.ts +5 -1
  4. package/dist/adapters/backend/session-backend-selector.d.ts.map +1 -1
  5. package/dist/adapters/backend/session-backend-selector.js +15 -1
  6. package/dist/adapters/backend/session-backend-selector.js.map +1 -1
  7. package/dist/adapters/backend/tmux-backend.d.ts.map +1 -1
  8. package/dist/adapters/backend/tmux-backend.js +3 -0
  9. package/dist/adapters/backend/tmux-backend.js.map +1 -1
  10. package/dist/adapters/backend/types.d.ts +22 -0
  11. package/dist/adapters/backend/types.d.ts.map +1 -1
  12. package/dist/adapters/backend/types.js +7 -1
  13. package/dist/adapters/backend/types.js.map +1 -1
  14. package/dist/adapters/backend/zellij-backend.d.ts +132 -0
  15. package/dist/adapters/backend/zellij-backend.d.ts.map +1 -0
  16. package/dist/adapters/backend/zellij-backend.js +375 -0
  17. package/dist/adapters/backend/zellij-backend.js.map +1 -0
  18. package/dist/adapters/backend/zellij-observe-backend.d.ts +62 -0
  19. package/dist/adapters/backend/zellij-observe-backend.d.ts.map +1 -0
  20. package/dist/adapters/backend/zellij-observe-backend.js +218 -0
  21. package/dist/adapters/backend/zellij-observe-backend.js.map +1 -0
  22. package/dist/adapters/cli/claude-code.d.ts +39 -5
  23. package/dist/adapters/cli/claude-code.d.ts.map +1 -1
  24. package/dist/adapters/cli/claude-code.js +53 -31
  25. package/dist/adapters/cli/claude-code.js.map +1 -1
  26. package/dist/adapters/cli/registry.d.ts +2 -1
  27. package/dist/adapters/cli/registry.d.ts.map +1 -1
  28. package/dist/adapters/cli/registry.js +3 -1
  29. package/dist/adapters/cli/registry.js.map +1 -1
  30. package/dist/adapters/cli/seed.d.ts +29 -0
  31. package/dist/adapters/cli/seed.d.ts.map +1 -0
  32. package/dist/adapters/cli/seed.js +63 -0
  33. package/dist/adapters/cli/seed.js.map +1 -0
  34. package/dist/adapters/cli/types.d.ts +17 -1
  35. package/dist/adapters/cli/types.d.ts.map +1 -1
  36. package/dist/bot-registry.d.ts +31 -1
  37. package/dist/bot-registry.d.ts.map +1 -1
  38. package/dist/bot-registry.js +31 -0
  39. package/dist/bot-registry.js.map +1 -1
  40. package/dist/cli.d.ts.map +1 -1
  41. package/dist/cli.js +37 -27
  42. package/dist/cli.js.map +1 -1
  43. package/dist/config.d.ts +7 -1
  44. package/dist/config.d.ts.map +1 -1
  45. package/dist/config.js +8 -0
  46. package/dist/config.js.map +1 -1
  47. package/dist/core/ask-hook/registry.d.ts.map +1 -1
  48. package/dist/core/ask-hook/registry.js +4 -0
  49. package/dist/core/ask-hook/registry.js.map +1 -1
  50. package/dist/core/command-handler.d.ts +4 -1
  51. package/dist/core/command-handler.d.ts.map +1 -1
  52. package/dist/core/command-handler.js +100 -8
  53. package/dist/core/command-handler.js.map +1 -1
  54. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  55. package/dist/core/dashboard-ipc-server.js +37 -0
  56. package/dist/core/dashboard-ipc-server.js.map +1 -1
  57. package/dist/core/dispatch.d.ts +33 -0
  58. package/dist/core/dispatch.d.ts.map +1 -1
  59. package/dist/core/dispatch.js +26 -0
  60. package/dist/core/dispatch.js.map +1 -1
  61. package/dist/core/session-discovery.d.ts +13 -4
  62. package/dist/core/session-discovery.d.ts.map +1 -1
  63. package/dist/core/session-discovery.js +5 -5
  64. package/dist/core/session-discovery.js.map +1 -1
  65. package/dist/core/session-manager.d.ts +10 -0
  66. package/dist/core/session-manager.d.ts.map +1 -1
  67. package/dist/core/session-manager.js +43 -18
  68. package/dist/core/session-manager.js.map +1 -1
  69. package/dist/core/types.d.ts +5 -2
  70. package/dist/core/types.d.ts.map +1 -1
  71. package/dist/core/types.js.map +1 -1
  72. package/dist/core/worker-pool.d.ts +1 -1
  73. package/dist/core/worker-pool.d.ts.map +1 -1
  74. package/dist/core/worker-pool.js +22 -9
  75. package/dist/core/worker-pool.js.map +1 -1
  76. package/dist/core/zellij-adopt-discovery.d.ts +28 -0
  77. package/dist/core/zellij-adopt-discovery.d.ts.map +1 -0
  78. package/dist/core/zellij-adopt-discovery.js +255 -0
  79. package/dist/core/zellij-adopt-discovery.js.map +1 -0
  80. package/dist/core/zellij-session-discovery.d.ts +73 -0
  81. package/dist/core/zellij-session-discovery.d.ts.map +1 -0
  82. package/dist/core/zellij-session-discovery.js +259 -0
  83. package/dist/core/zellij-session-discovery.js.map +1 -0
  84. package/dist/daemon.d.ts +3 -0
  85. package/dist/daemon.d.ts.map +1 -1
  86. package/dist/daemon.js +145 -13
  87. package/dist/daemon.js.map +1 -1
  88. package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
  89. package/dist/dashboard/web/bot-defaults.js +114 -0
  90. package/dist/dashboard/web/bot-defaults.js.map +1 -1
  91. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  92. package/dist/dashboard/web/i18n.js +23 -1
  93. package/dist/dashboard/web/i18n.js.map +1 -1
  94. package/dist/dashboard/web/sessions.d.ts.map +1 -1
  95. package/dist/dashboard/web/sessions.js +1 -0
  96. package/dist/dashboard/web/sessions.js.map +1 -1
  97. package/dist/dashboard/web/workflows.js +1 -1
  98. package/dist/dashboard/web/workflows.js.map +1 -1
  99. package/dist/dashboard-web/app.js +449 -426
  100. package/dist/dashboard.js +20 -0
  101. package/dist/dashboard.js.map +1 -1
  102. package/dist/i18n/en.d.ts.map +1 -1
  103. package/dist/i18n/en.js +15 -1
  104. package/dist/i18n/en.js.map +1 -1
  105. package/dist/i18n/zh.d.ts.map +1 -1
  106. package/dist/i18n/zh.js +16 -2
  107. package/dist/i18n/zh.js.map +1 -1
  108. package/dist/im/lark/card-builder.d.ts +8 -3
  109. package/dist/im/lark/card-builder.d.ts.map +1 -1
  110. package/dist/im/lark/card-builder.js +74 -5
  111. package/dist/im/lark/card-builder.js.map +1 -1
  112. package/dist/im/lark/card-handler.d.ts.map +1 -1
  113. package/dist/im/lark/card-handler.js +72 -10
  114. package/dist/im/lark/card-handler.js.map +1 -1
  115. package/dist/im/lark/event-dispatcher.d.ts +12 -0
  116. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  117. package/dist/im/lark/event-dispatcher.js +39 -31
  118. package/dist/im/lark/event-dispatcher.js.map +1 -1
  119. package/dist/im/lark/grant-command.d.ts +26 -0
  120. package/dist/im/lark/grant-command.d.ts.map +1 -1
  121. package/dist/im/lark/grant-command.js +142 -3
  122. package/dist/im/lark/grant-command.js.map +1 -1
  123. package/dist/im/lark/grant-pending.d.ts +7 -4
  124. package/dist/im/lark/grant-pending.d.ts.map +1 -1
  125. package/dist/im/lark/grant-pending.js +12 -6
  126. package/dist/im/lark/grant-pending.js.map +1 -1
  127. package/dist/services/codex-app-threads.d.ts +20 -0
  128. package/dist/services/codex-app-threads.d.ts.map +1 -0
  129. package/dist/services/codex-app-threads.js +165 -0
  130. package/dist/services/codex-app-threads.js.map +1 -0
  131. package/dist/services/grant-prefs-store.d.ts +23 -0
  132. package/dist/services/grant-prefs-store.d.ts.map +1 -0
  133. package/dist/services/grant-prefs-store.js +94 -0
  134. package/dist/services/grant-prefs-store.js.map +1 -0
  135. package/dist/services/grant-store.d.ts +34 -2
  136. package/dist/services/grant-store.d.ts.map +1 -1
  137. package/dist/services/grant-store.js +160 -9
  138. package/dist/services/grant-store.js.map +1 -1
  139. package/dist/services/quota-dedup.d.ts +33 -0
  140. package/dist/services/quota-dedup.d.ts.map +1 -0
  141. package/dist/services/quota-dedup.js +67 -0
  142. package/dist/services/quota-dedup.js.map +1 -0
  143. package/dist/setup/bot-config-editor.d.ts +1 -1
  144. package/dist/setup/bot-config-editor.d.ts.map +1 -1
  145. package/dist/setup/bot-config-editor.js +5 -4
  146. package/dist/setup/bot-config-editor.js.map +1 -1
  147. package/dist/setup/ensure-zellij.d.ts +48 -0
  148. package/dist/setup/ensure-zellij.d.ts.map +1 -0
  149. package/dist/setup/ensure-zellij.js +93 -0
  150. package/dist/setup/ensure-zellij.js.map +1 -0
  151. package/dist/types.d.ts +9 -3
  152. package/dist/types.d.ts.map +1 -1
  153. package/dist/utils/anchor-serializer.d.ts +3 -2
  154. package/dist/utils/anchor-serializer.d.ts.map +1 -1
  155. package/dist/utils/anchor-serializer.js +20 -5
  156. package/dist/utils/anchor-serializer.js.map +1 -1
  157. package/dist/utils/transient-snapshot.js +2 -2
  158. package/dist/utils/transient-snapshot.js.map +1 -1
  159. package/dist/worker.js +124 -30
  160. package/dist/worker.js.map +1 -1
  161. package/dist/workflows/attempt-resume.d.ts +1 -1
  162. package/dist/workflows/attempt-resume.d.ts.map +1 -1
  163. package/dist/workflows/attempt-resume.js +1 -1
  164. package/dist/workflows/attempt-resume.js.map +1 -1
  165. package/package.json +1 -1
@@ -19,7 +19,8 @@ import { BOTMUX_REQUIRED_SCOPES, buildScopeDeepLink } from '../../setup/verify-p
19
19
  import { tryHandleGrantCommand } from './grant-command.js';
20
20
  import { buildGrantCard } from './card-builder.js';
21
21
  import { openPending, isThrottled } from './grant-pending.js';
22
- import { localeForBot } from '../../i18n/index.js';
22
+ import { localeForBot, t } from '../../i18n/index.js';
23
+ import { chatQuotaKey, globalQuotaKey } from '../../services/grant-store.js';
23
24
  // ─── Bot identity ─────────────────────────────────────────────────────────
24
25
  /** Set the bot's open_id. Callers should also call writeBotInfoFile() to persist. */
25
26
  export function setBotOpenId(larkAppId, id) {
@@ -369,6 +370,13 @@ export async function tryHandleIntroduceCommand(larkAppId, message, senderOpenId
369
370
  if (!INTRODUCE_RE.test(stripped))
370
371
  return false;
371
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
+ }
372
380
  const selfOpenId = getBot(larkAppId).botOpenId;
373
381
  const rawMentions = message.mentions ?? [];
374
382
  const all = rawMentions
@@ -441,21 +449,16 @@ export function isBotMentioned(larkAppId, message, _senderOpenId) {
441
449
  catch { /* ignore parse errors */ }
442
450
  return false;
443
451
  }
444
- // ─── Permission gates ────────────────────────────────────────────────────
445
- //
446
- // Two gates:
447
- // canTalk — may address the bot in this chat (prompts, thread replies)
448
- // canOperate may trigger state-changing actions (card buttons, daemon
449
- // slash commands like /cd /restart /close /oncall)
450
- //
451
- // Non-oncall chats: both fall back to the bot's allowedUsers.
452
- // Oncall-bound chats: talking is open to everyone in the group; operating
453
- // still requires allowedUsers (single source of truth — no per-chat owners).
454
- //
455
- // Oncall is a chat-level concept: `isChatOncallBoundForAnyBot` returns true
456
- // when ANY bot (this one or a sibling in another daemon) has the chat bound,
457
- // so an unbound sibling doesn't fall back to allowedUsers and reply
458
- // "⚠️ 无操作权限" 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
+ }
459
462
  /** per-chat per-user 授权命中判断(仅用于 canTalk —— 不给管理命令权)。 */
460
463
  function hasChatGrant(larkAppId, chatId, openId) {
461
464
  return !!chatId && !!openId && !!getBot(larkAppId).config.chatGrants?.[chatId]?.includes(openId);
@@ -465,31 +468,36 @@ function hasGlobalGrant(larkAppId, openId) {
465
468
  return !!openId && !!getBot(larkAppId).config.globalGrants?.includes(openId);
466
469
  }
467
470
  export function canTalk(larkAppId, chatId, senderOpenId) {
468
- if (chatId && isChatOncallBoundForAnyBot(chatId))
469
- return true;
470
- if (isKnownPeerBot(config.session.dataDir, larkAppId, senderOpenId))
471
- return true;
472
- if (hasChatGrant(larkAppId, chatId, senderOpenId))
473
- return true;
474
- // 全局对话授权(talk-only,人/bot 通用):命中即在任意群放行,与 chatGrants 同级、不授 operate。
475
- if (hasGlobalGrant(larkAppId, senderOpenId))
476
- return true;
471
+ return evaluateTalk(larkAppId, chatId, senderOpenId).allowed;
472
+ }
473
+ export function evaluateTalk(larkAppId, chatId, senderOpenId) {
477
474
  const bot = getBot(larkAppId);
478
475
  // allowedChatGroups 是"talk-open 的 chat_id 列表":当前消息来自其中之一即放行(仅 canTalk)。
479
476
  // 成员关系隐含在"能在该 chat 发言"里 —— 退群者发不了言自动失权,新人进群即生效,无需成员快照。
480
- if (chatId && bot.config.allowedChatGroups?.includes(chatId))
481
- return true;
482
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' };
483
486
  // globalGrants 与 allowedChatGroups 同样确立"有白名单"语义:只配 globalGrants 也算限制态,
484
487
  // 不能 fall through 到"全开放"。
485
488
  const hasAllowlist = allowedUsers.length > 0
486
489
  || (bot.config.allowedChatGroups?.length ?? 0) > 0
487
490
  || (bot.config.globalGrants?.length ?? 0) > 0;
488
491
  if (!hasAllowlist)
489
- return true;
490
- if (!senderOpenId)
491
- return false;
492
- return allowedUsers.includes(senderOpenId);
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' };
493
501
  }
494
502
  export function canOperate(larkAppId, _chatId, senderOpenId) {
495
503
  const bot = getBot(larkAppId);
@@ -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":"AAAA;;;;GAIG;AACH,OAAO,KAAK,IAAI,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,0BAA0B,EAAE,cAAc,EAAiB,MAAM,uBAAuB,CAAC;AACtH,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAsB,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACzH,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAC/F,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE7E,6EAA6E;AAE7E,qFAAqF;AACrF,MAAM,UAAU,YAAY,CAAC,SAAiB,EAAE,EAAU;IACxD,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC;AACnC,CAAC;AAED;;0EAE0E;AAC1E,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IACjD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAIlE,IAAI,QAAQ,GAAmB,EAAE,CAAC;IAClC,IAAI,CAAC;QACH,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;IAErC,8DAA8D;IAC9D,MAAM,GAAG,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC5C,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,IAAI,KAAK,CAAC,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC;IAED,kCAAkC;IAClC,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,EAAE,CAAC;QAC7B,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE;YAC1B,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS;YAC7B,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI;YAC9B,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI;YAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK;SACtB,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AAC7E,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,SAAiB;IACpD,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9B,IAAI,GAAG,CAAC,SAAS;QAAE,OAAO,CAAC,gBAAgB;IAE3C,uEAAuE;IACvE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,uEAAuE,EAAE;QACpG,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;KAC7F,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAS,CAAC;IAC/C,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,sCAAsC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,+CAA+C,EAAE;QAC1E,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,SAAS,CAAC,mBAAmB,EAAE,EAAE;KACtE,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,EAAS,CAAC;IAC3C,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC;IACpC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC;IACtC,IAAI,MAAM,EAAE,CAAC;QACX,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC;QACvB,IAAI,OAAO;YAAE,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,EAAE;AACF,oDAAoD;AACpD,gEAAgE;AAChE,0DAA0D;AAC1D,uDAAuD;AACvD,+CAA+C;AAC/C,MAAM;AACN,EAAE;AACF,2CAA2C;AAC3C,mEAAmE;AACnE,0DAA0D;AAC1D,sBAAsB;AACtB,EAAE;AACF,+CAA+C;AAC/C,oDAAoD;AACpD,6CAA6C;AAC7C,mCAAmC;AAEnC,MAAM,qBAAqB,GAAG,8CAA8C,CAAC;AAC7E,MAAM,iBAAiB,GAAG,qCAAqC,CAAC;AAEhE,SAAS,cAAc,CAAC,GAAa;IACnC,OAAO,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,SAAiB,EAAE,WAAmB,EAAE,OAAe,EAAE,UAAkB;IAChG,IAAI,CAAC;QACH,MAAM,eAAe,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS,oBAAoB,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,UAAU,EAAE,CAAC,CAAC;IACnG,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS,8BAA8B,UAAU,KAAK,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;IAC/F,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,SAAiB;IACzD,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,uEAAuE,EAAE;YACpG,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;SAC7F,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAS,CAAC;QAC/C,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,sDAAsD,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC;YAClG,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,KAAK,CACzB,gEAAgE,GAAG,CAAC,MAAM,CAAC,SAAS,aAAa,EACjG,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,SAAS,CAAC,mBAAmB,EAAE,EAAE,EAAE,CAC1E,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,EAAS,CAAC;QAE7C,qDAAqD;QACrD,sDAAsD;QACtD,wCAAwC;QACxC,0BAA0B;QAC1B,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,iBAAiB,GAAG,8BAA8B,GAAG,CAAC,MAAM,CAAC,SAAS,WAAW,kBAAkB,CAAC,iBAAiB,CAAC,oCAAoC,CAAC;YACjK,MAAM,aAAa,GAAG,8BAA8B,GAAG,CAAC,MAAM,CAAC,SAAS,WAAW,kBAAkB,CAAC,qBAAqB,CAAC,oCAAoC,CAAC;YACjK,MAAM,CAAC,IAAI,CACT,IAAI,SAAS,oCAAoC,iBAAiB,QAAQ;gBAC1E,qCAAqC,qBAAqB,SAAS,iBAAiB,EAAE,CACvF,CAAC;YACF,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS,4DAA4D,CAAC,CAAC;gBACvF,OAAO;YACT,CAAC;YACD,MAAM,EAAE,GACN,uBAAuB,GAAG,CAAC,OAAO,IAAI,SAAS,iEAAiE;gBAChH,qCAAqC;gBACrC,SAAS,iBAAiB,mBAAmB,iBAAiB,MAAM;gBACpE,qBAAqB,qBAAqB,4CAA4C,aAAa,MAAM;gBACzG,uDAAuD;gBACvD,6EAA6E,CAAC;YAChF,MAAM,OAAO,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,2CAA2C,CAAC,CAAC;YACvF,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,gDAAgD,QAAQ,CAAC,IAAI,QAAQ,QAAQ,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;YACtH,OAAO;QACT,CAAC;QACD,iDAAiD;QACjD,2DAA2D;QAC3D,MAAM,SAAS,GACb,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM;eACvB,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM;eAClC,QAAQ,CAAC,IAAI,EAAE,MAAM;eACrB,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,+EAA+E,CAAC,CAAC;YAC3G,OAAO;QACT,CAAC;QACD,MAAM,aAAa,GAAG,IAAI,GAAG,CAC3B,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAa,CACrF,CAAC;QAEF,wEAAwE;QACxE,0EAA0E;QAC1E,oEAAoE;QACpE,yCAAyC;QACzC,MAAM,eAAe,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACrG,MAAM,eAAe,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAEtG,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS,kCAAkC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,WAAW,CAAC,CAAC;YAC7H,OAAO;QACT,CAAC;QAED,qEAAqE;QACrE,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChF,MAAM,CAAC,KAAK,CACV,IAAI,SAAS,QAAQ,eAAe,CAAC,MAAM,UAAU,WAAW,GAAG;YACnE,mFAAmF,CACpF,CAAC;QACF,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS,+FAA+F,CAAC,CAAC;YAC1H,OAAO;QACT,CAAC;QACD,MAAM,aAAa,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACjD,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,IAAI,WAAW,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAClG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACf,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC;YAC9C,CAAC,CAAC,0BAA0B,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,QAAQ,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACrJ,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,EAAE,GACN,wBAAwB,GAAG,CAAC,OAAO,IAAI,SAAS,QAAQ,eAAe,CAAC,MAAM,YAAY;YAC1F,uCAAuC;YACvC,GAAG,aAAa,MAAM;YACtB,mDAAmD,aAAa,EAAE,CAAC;QACrE,MAAM,OAAO,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,mBAAmB,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7G,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,0BAA0B,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC;AAED,6EAA6E;AAC7E,EAAE;AACF,2EAA2E;AAC3E,8EAA8E;AAC9E,yEAAyE;AAEzE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,YAAY;AACtD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAsE,CAAC;AAErG,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,SAAiB,EAAE,MAAc;IACnE,MAAM,QAAQ,GAAG,GAAG,SAAS,IAAI,MAAM,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,GAAG,cAAc,EAAE,CAAC;QAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;IACpE,CAAC;IACD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAClD,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC5G,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,oEAAoE;QACpE,uEAAuE;QACvE,MAAM,CAAC,KAAK,CAAC,gCAAgC,MAAM,0BAA0B,GAAG,EAAE,CAAC,CAAC;QACpF,IAAI,MAAM;YAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC9E,0EAA0E;QAC1E,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,EAAE;AACF,2EAA2E;AAC3E,8EAA8E;AAC9E,yCAAyC;AACzC,EAAE;AACF,yEAAyE;AACzE,wEAAwE;AACxE,0EAA0E;AAC1E,kDAAkD;AAElD,+FAA+F;AAC/F,MAAM,UAAU,qBAAqB,CAAC,OAAe,EAAE,SAAiB;IACtE,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtC,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,eAAe,SAAS,OAAO,CAAC,CAAC;QAC1D,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,GAA2B,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YAC3E,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IACxB,OAAO,GAAG,CAAC;AACb,CAAC;AAED;6EAC6E;AAC7E,MAAM,UAAU,cAAc,CAAC,OAAe,EAAE,SAAiB,EAAE,YAAgC;IACjG,IAAI,CAAC,YAAY;QAAE,OAAO,KAAK,CAAC;IAChC,KAAK,MAAM,MAAM,IAAI,qBAAqB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACxE,IAAI,MAAM,KAAK,YAAY;YAAE,OAAO,IAAI,CAAC;IAC3C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;iEACiE;AACjE,MAAM,UAAU,uBAAuB,CACrC,OAAe,EACf,SAAiB,EACjB,YAAiE;IAEjE,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEvD,2CAA2C;IAC3C,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACjD,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,MAAM,OAAO,GAAsC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/F,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,IAAI,CAAC,CAAC,OAAO;oBAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IACxB,IAAI,aAAa,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO;IAErC,gCAAgC;IAChC,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,eAAe,SAAS,OAAO,CAAC,CAAC;IAC1D,IAAI,QAAQ,GAA2B,EAAE,CAAC;IAC1C,IAAI,CAAC;QACH,IAAI,UAAU,CAAC,EAAE,CAAC;YAAE,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAExB,sDAAsD;IACtD,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC;QAC7B,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM;YAAE,SAAS;QAC/B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAAE,SAAS;QACrD,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,MAAM;YAAE,SAAS;QACxC,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;QACxB,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;gBAAE,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAClE,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YAC5D,MAAM,CAAC,KAAK,CAAC,qCAAqC,SAAS,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC9F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,0CAA0C,GAAG,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;AACH,CAAC;AAED,4EAA4E;AAC5E,EAAE;AACF,gDAAgD;AAChD,qDAAqD;AACrD,+DAA+D;AAC/D,gEAAgE;AAChE,mBAAmB;AACnB,EAAE;AACF,sDAAsD;AACtD,4CAA4C;AAE5C;;;;6CAI6C;AAC7C,MAAM,YAAY,GAAG,uBAAuB,CAAC;AAE7C;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,SAAiB,EACjB,OAAY,EACZ,YAAgC;IAEhC,MAAM,IAAI,GAAG,4BAA4B,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,wEAAwE;IACxE,oEAAoE;IACpE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC5E,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/C,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,qBAAqB,YAAY,IAAI,SAAS,qBAAqB,CAAC,CAAC;IAE/F,IAAI,uBAAuB,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC;QAC9E,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;QACpC,MAAM,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC;YAC/D,IAAI,EAAE,CAAC,CAAC,sBAAsB,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,GAAG,CAAC;SAC5D,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,GAAG,EAAE,CAAC,CAAC,CAAC;QAClF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC;IAC/C,MAAM,WAAW,GAAwD,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;IAChG,MAAM,GAAG,GAAG,WAAW;SACpB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;SAC/D,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;IAC3D,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,mDAAmD,CAAC,CAAC;QAC/E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,OAAiB,CAAC;IACzC,sDAAsD;IACtD,uDAAuD;IACvD,+DAA+D;IAC/D,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CACzH,CAAC;IACF,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,IAAI,CAAC;QACH,yEAAyE;QACzE,uEAAuE;QACvE,0BAA0B;QAC1B,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IACnF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS,kDAAkD,GAAG,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM;QACjC,CAAC,CAAC,WAAW,YAAY,CAAC,MAAM,QAAQ,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACvF,CAAC,CAAC,6CAA6C,CAAC;IAClD,IAAI,CAAC;QACH,MAAM,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS,4BAA4B,GAAG,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,4EAA4E;AAE5E,sDAAsD;AACtD,MAAM,UAAU,cAAc,CAAC,SAAiB,EAAE,OAAY,EAAE,aAAiC;IAC/F,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC;IAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,uEAAuE;QACvE,uEAAuE;QACvE,yEAAyE;QACzE,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,sDAAsD,CAAC,CAAC;QAClF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,0EAA0E;IAC1E,MAAM,QAAQ,GAAU,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC/C,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,KAAK,SAAS,CAAC,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2EAA2E;IAC3E,oFAAoF;IACpF,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC;QACxD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;YAClC,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;oBAAE,SAAS;gBACxC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;oBAC7B,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;wBAAE,OAAO,IAAI,CAAC;gBACnE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;IAErC,OAAO,KAAK,CAAC;AACf,CAAC;AAoCD,MAAM,UAAU,uBAAuB,CACrC,SAAiB,EACjB,MAA0B,EAC1B,YAAgC;IAEhC,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9B,IAAI,GAAG,CAAC,MAAM,CAAC,qBAAqB,KAAK,IAAI;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACzE,MAAM,EAAE,GAAG,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IACzD,IAAI,EAAE,CAAC,MAAM,KAAK,WAAW,IAAI,EAAE,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QAC7D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC;IAC9C,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC5B,CAAC;AAED,wDAAwD;AACxD,SAAS,YAAY,CAAC,SAAiB,EAAE,MAA0B,EAAE,MAA0B;IAC7F,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;AACnG,CAAC;AAED,6DAA6D;AAC7D,SAAS,cAAc,CAAC,SAAiB,EAAE,MAA0B;IACnE,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,SAAiB,EAAE,MAA0B,EAAE,YAAgC;IACrG,OAAO,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,OAAO,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,SAAiB,EAAE,MAA0B,EAAE,YAAgC;IAC1G,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9B,wEAAwE;IACxE,uDAAuD;IACvD,MAAM,YAAY,GAAG,GAAG,CAAC,oBAAoB,CAAC;IAC9C,IAAI,YAAY,IAAI,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IACzG,IAAI,MAAM,IAAI,0BAA0B,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC7F,IAAI,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC9G,IAAI,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAEnH,uEAAuE;IACvE,0BAA0B;IAC1B,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC;WACvC,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;WAC/C,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,CAAC,YAAY;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAE5D,IAAI,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC;QAClD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,MAAO,EAAE,YAAa,CAAC,EAAE,CAAC;IAChG,CAAC;IACD,mEAAmE;IACnE,IAAI,cAAc,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC;QAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,CAAC,YAAa,CAAC,EAAE,CAAC;IAC3F,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,SAAiB,EAAE,OAA2B,EAAE,YAAgC;IACzG,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9B,6DAA6D;IAC7D,wDAAwD;IACxD,0DAA0D;IAC1D,6DAA6D;IAC7D,uBAAuB;IACvB,IAAI,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IACjF,MAAM,YAAY,GAAG,GAAG,CAAC,oBAAoB,CAAC;IAC9C,wEAAwE;IACxE,6EAA6E;IAC7E,sEAAsE;IACtE,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC;WACvC,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;WAC/C,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IAC/B,OAAO,CAAC,CAAC,YAAY,IAAI,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AAC/D,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,yBAAyB,CACtC,SAAiB,EAAE,OAAY,EAAE,MAAc,EAAE,eAAmC;IAEpF,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK,IAAI,CAAC,eAAe;QAAE,OAAO;IACvC,IAAI,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC;QAAE,OAAO;IAC5D,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,KAAK,eAAe,CAAC,EAAE,IAAI;WAC5F,eAAe,CAAC;IACrB,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,cAAc,CACzB,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAClH,YAAY,CAAC,SAAS,CAAC,CACxB,CAAC;IACF,MAAM,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,aAAa,CAAC;SACnE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,GAAG,EAAE,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,4EAA4E;AAE5E;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,SAAiB,EAAE,OAAY,EAAE,MAAc,EAAE,YAAgC;IAEjF,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IAE3D,MAAM,CAAC,KAAK,CAAC,yCAAyC,SAAS,eAAe,SAAS,EAAE,CAAC,CAAC;IAC3F,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC;IAC/C,CAAC;IAED,oEAAoE;IACpE,6EAA6E;IAC7E,mBAAmB;IACnB,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACvE,MAAM,CAAC,KAAK,CAAC,qBAAqB,SAAS,gBAAgB,QAAQ,EAAE,CAAC,CAAC;QACvE,IAAI,SAAS,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;YACpC,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AA8CD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,4BAA4B,CAAC,OAAY;IACvD,IAAI,CAAC,OAAO,EAAE,OAAO;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxC,2EAA2E;QAC3E,0EAA0E;QAC1E,sEAAsE;QACtE,iEAAiE;QACjE,8CAA8C;QAC9C,IAAI,OAAO,GAAG,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClC,IAAI,IAAI,GAAW,GAAG,CAAC,IAAI,CAAC;YAC5B,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,CAAC;YACnC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;oBACzB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;wBACtB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC9C,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,+EAA+E;QAC/E,uEAAuE;QACvE,2EAA2E;QAC3E,MAAM,KAAK,GAAG,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,CAAC;QAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;YAClC,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;oBAAE,SAAS;gBACnC,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;oBACxB,IAAI,IAAI,EAAE,GAAG,KAAK,MAAM,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC1D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACxB,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAClD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,8BAA8B,CAAC,CAAC;IAC1C,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,4BAA4B,CAC1C,OAAqD,EACrD,OAAY,EACZ,SAAiB;IAEjB,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IAC3C,MAAM,OAAO,GAAG,4BAA4B,CAAC,OAAO,CAAC,CAAC;IACtD,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC/E,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IACvD,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC;IACzB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;+BAgB+B;AAC/B,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,SAAiB,EACjB,OAAY;IAEZ,MAAM,MAAM,GAAuB,OAAO,CAAC,OAAO,CAAC;IACnD,MAAM,QAAQ,GAAuB,OAAO,CAAC,SAAS,CAAC;IACvD,IAAI,MAAM,IAAI,QAAQ;QAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAEnE,MAAM,QAAQ,GAAW,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC;IACtD,MAAM,SAAS,GAAW,OAAO,CAAC,UAAU,CAAC;IAC7C,MAAM,MAAM,GAAW,OAAO,CAAC,OAAO,CAAC;IAEvC,oDAAoD;IACpD,mCAAmC;IACnC,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvB,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAChD,CAAC;IAED,sEAAsE;IACtE,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAClD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAChD,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC3C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,SAAiB,EAAE,aAAqB,EAAE,QAAuB;IACxG,MAAM,eAAe,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC;QAC5D,mEAAmE;QACnE,2EAA2E;QAC3E,0EAA0E;QAC1E,6BAA6B,EAAE,KAAK,EAAE,IAAS,EAAE,EAAE;YACjD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAuB,IAAI,EAAE,OAAO,CAAC;gBACjD,MAAM,cAAc,GAAuB,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC;gBACtE,IAAI,CAAC,MAAM;oBAAE,OAAO;gBACpB,MAAM,CAAC,IAAI,CAAC,qCAAqC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,MAAM,CAAC,cAAc,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;gBACjI,MAAM,QAAQ,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;YACrE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,mCAAmC,GAAG,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QACD,qBAAqB,EAAE,KAAK,EAAE,IAAS,EAAE,EAAE;YACzC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAChE,0BAA0B;gBAC1B,6EAA6E;gBAC7E,wEAAwE;gBACxE,4EAA4E;gBAC5E,yEAAyE;gBACzE,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC;oBAAE,OAAO,MAAM,CAAC;gBAC3D,IAAI,MAAM;oBAAE,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;YAC7D,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;YACrD,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,uBAAuB,EAAE,KAAK,EAAE,IAAS,EAAE,EAAE;YAC3C,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC3B,IAAI,CAAC,OAAO;oBAAE,OAAO;gBAErB,2DAA2D;gBAC3D,sEAAsE;gBACtE,IAAI,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;oBACjC,uBAAuB,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC/E,CAAC;gBAED,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;gBAC/B,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAoB,CAAC;gBACpF,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;gBAErC,uEAAuE;gBACvE,sEAAsE;gBACtE,sEAAsE;gBACtE,oEAAoE;gBACpE,EAAE;gBACF,gDAAgD;gBAChD,uCAAuC;gBACvC,0DAA0D;gBAC1D,iEAAiE;gBACjE,MAAM;gBACN,MAAM,UAAU,GAAG,MAAM,EAAE,WAAW,CAAC;gBACvC,MAAM,eAAe,GAAG,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,KAAK,CAAC;gBACrE,IAAI,eAAe,EAAE,CAAC;oBACpB,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC;oBAC/C,MAAM,aAAa,GAAG,YAAY,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC;oBACnE,uDAAuD;oBACvD,IAAI,aAAa,EAAE,CAAC;wBAClB,IAAI,CAAC;4BACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;4BACjD,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,QAAQ;gCAAE,OAAO;wBAC7C,CAAC;wBAAC,MAAM,CAAC;4BACP,OAAO;wBACT,CAAC;wBACD,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;wBACpD,mEAAmE;wBACnE,sEAAsE;wBACtE,6DAA6D;wBAC7D,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CACjC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;6BACpF,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAC,CAAC;wBACtE,OAAO;oBACT,CAAC;oBACD,6CAA6C;oBAC7C,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC;wBAAE,OAAO;oBAC3D,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;oBACpD,uEAAuE;oBACvE,sEAAsE;oBACtE,oEAAoE;oBACpE,+DAA+D;oBAC/D,kEAAkE;oBAClE,EAAE;oBACF,+DAA+D;oBAC/D,mDAAmD;oBACnD,6DAA6D;oBAC7D,yDAAyD;oBACzD,oDAAoD;oBACpD,EAAE;oBACF,+CAA+C;oBAC/C,0DAA0D;oBAC1D,wCAAwC;oBACxC,EAAE;oBACF,6DAA6D;oBAC7D,2DAA2D;oBAC3D,0CAA0C;oBAC1C,0CAA0C;oBAC1C,IAAI,GAAG,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,EAAE,CAAC;wBAChE,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,KAAK,CAAC;wBAC9E,IAAI,CAAC,WAAW;+BACT,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC;+BAChE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC;+BAC9C,CAAC,cAAc,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC;4BAChD,OAAO;wBACT,CAAC;oBACH,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,uCAAuC,GAAG,CAAC,KAAK,iCAAiC,CAAC,CAAC;oBAC/F,sEAAsE;oBACtE,qEAAqE;oBACrE,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CACjC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;yBACpF,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,GAAG,EAAE,CAAC,CAAC,CAAC;oBACrE,OAAO;gBACT,CAAC;gBAED,MAAM,YAAY,GAAG,MAAM,EAAE,SAAS,EAAE,OAA6B,CAAC;gBACtE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;gBAE3D,qEAAqE;gBACrE,oEAAoE;gBACpE,gEAAgE;gBAChE,mCAAmC;gBACnC,IAAI,MAAM,yBAAyB,CAAC,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC;oBACtE,OAAO;gBACT,CAAC;gBAED,gEAAgE;gBAChE,2BAA2B;gBAC3B,IAAI,MAAM,qBAAqB,CAAC,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC;oBAClE,OAAO;gBACT,CAAC;gBAED,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;gBAE3C,kEAAkE;gBAClE,8DAA8D;gBAC9D,qEAAqE;gBACrE,sEAAsE;gBACtE,mCAAmC;gBACnC,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;oBAC1C,MAAM,CAAC,IAAI,CACT,0EAA0E;wBAC1E,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG;wBACpE,QAAQ,QAAQ,SAAS,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG;wBACpE,UAAU,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAC7D,CAAC;gBACJ,CAAC;gBAED,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAExD,iEAAiE;gBACjE,qEAAqE;gBACrE,oEAAoE;gBACpE,qEAAqE;gBACrE,8DAA8D;gBAC9D,sEAAsE;gBACtE,iEAAiE;gBACjE,kCAAkC;gBAClC,EAAE;gBACF,mEAAmE;gBACnE,qEAAqE;gBACrE,mEAAmE;gBACnE,6CAA6C;gBAC7C,IACE,OAAO,CAAC,KAAK,KAAK,QAAQ;oBAC1B,OAAO,CAAC,MAAM,KAAK,SAAS;oBAC5B,CAAC,OAAO,CAAC,SAAS;oBAClB,QAAQ,KAAK,OAAO,EACpB,CAAC;oBACD,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC/E,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;wBAC1B,MAAM,CAAC,IAAI,CACT,yBAAyB,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,wCAAwC;4BACxF,iBAAiB,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAC5D,CAAC;wBACF,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC;wBACvB,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;oBAC1B,CAAC;gBACH,CAAC;gBAED,gEAAgE;gBAChE,qEAAqE;gBACrE,kEAAkE;gBAClE,oEAAoE;gBACpE,sEAAsE;gBACtE,MAAM,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC;gBACzC,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;gBAE3C,gEAAgE;gBAChE,sEAAsE;gBACtE,oCAAoC;gBACpC,IAAI,4BAA4B,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;oBAC9D,MAAM,CAAC,IAAI,CAAC,kCAAkC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,6BAA6B,CAAC,CAAC;gBACzG,CAAC;gBAED,IAAI,WAAW,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,KAAK,CAAC;gBAEhF,6DAA6D;gBAC7D,uEAAuE;gBACvE,uEAAuE;gBACvE,iEAAiE;gBACjE,qEAAqE;gBACrE,sEAAsE;gBACtE,oEAAoE;gBACpE,8DAA8D;gBAC9D,sEAAsE;gBACtE,wEAAwE;gBACxE,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM,IAAI,WAAW,EAAE,CAAC;oBAC5C,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC/E,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;wBAC1B,MAAM,CAAC,IAAI,CACT,yBAAyB,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,wCAAwC;4BACxF,uDAAuD,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CACnG,CAAC;wBACF,IAAI,CAAC;4BAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;wBAAC,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACtE,MAAM,CAAC,IAAI,CAAC,sCAAsC,GAAG,EAAE,CAAC,CAAC;wBAC3D,CAAC;wBACD,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC;wBACzB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;wBAC3B,kEAAkE;wBAClE,2DAA2D;wBAC3D,WAAW,GAAG,KAAK,CAAC;oBACtB,CAAC;gBACH,CAAC;gBAED,0DAA0D;gBAC1D,6DAA6D;gBAC7D,EAAE;gBACF,2DAA2D;gBAC3D,+CAA+C;gBAC/C,2DAA2D;gBAC3D,6CAA6C;gBAC7C,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;oBACzB,IAAI,KAAK,GAAmD,IAAI,CAAC;oBACjE,IAAI,WAAW;wBAAE,KAAK,GAAG,MAAM,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;oBAChE,MAAM,KAAK,GAAG,WAAW,IAAI,SAAS,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC;oBACjG,IAAI,CAAC,KAAK,EAAE,CAAC;wBACX,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;wBACvF,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;4BAC7B,6CAA6C;4BAC7C,6CAA6C;4BAC7C,MAAM,yBAAyB,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;4BAC1E,MAAM,CAAC,KAAK,CAAC,iDAAiD,YAAY,4BAA4B,CAAC,CAAC;4BACxG,OAAO;wBACT,CAAC;wBACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;4BACxB,8DAA8D;4BAC9D,gEAAgE;4BAChE,oEAAoE;4BACpE,+DAA+D;4BAC/D,MAAM,SAAS,GAAG,yBAAyB,CAAC;gCAC1C,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,mBAAmB,KAAK,IAAI;gCAC9D,KAAK,EAAE,kBAAkB;gCACzB,MAAM,EAAE,mBAAmB;gCAC3B,SAAS;gCACT,QAAQ;gCACR,WAAW;6BACZ,CAAC,CAAC;4BACH,IAAI,CAAC,SAAS,EAAE,CAAC;gCACf,MAAM,CAAC,KAAK,CAAC,gDAAgD,SAAS,EAAE,CAAC,CAAC;gCAC1E,OAAO;4BACT,CAAC;4BACD,MAAM,CAAC,IAAI,CAAC,oBAAoB,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;wBACzG,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,IAAI,CAAC,SAAS,EAAE,CAAC;oBACtB,MAAM,CAAC,KAAK,CAAC,+CAA+C,YAAY,EAAE,CAAC,CAAC;oBAC5E,OAAO;gBACT,CAAC;gBAED,MAAM,GAAG,GAAmB,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CAAC;gBACnF,mEAAmE;gBACnE,uEAAuE;gBACvE,yEAAyE;gBACzE,yEAAyE;gBACzE,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW;oBAC7C,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC;oBACvC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;qBACpC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAC,CAAC;YACxE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,iBAAiB;IACjB,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC;QACjC,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,aAAa;QACxB,yEAAyE;QACzE,2EAA2E;QAC3E,6DAA6D;QAC7D,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI;KAC/E,CAAC,CAAC;IAEH,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC;IACpC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAEvC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -10,6 +10,32 @@ 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
+ };
26
+ /**
27
+ * 本 bot 是否「只是作为 /grant、/revoke 的目标」被 @(@ 出现在命令词之后),
28
+ * 而不是被前导 @ 点名执行命令的操作 bot。命中(仅目标)返回 true,调用方应静默放手——
29
+ * 否则异主目标 bot 会误回 owner_only、同主目标 bot 会把自己剔空后误开整群授权。
30
+ *
31
+ * text 与 post(富文本)两种消息形态都覆盖,二者入口都能命中 /grant(见 event-dispatcher
32
+ * 的 extractMessageTextForRouting / isBotMentioned),所以 guard 必须同时兜住:
33
+ * - text:{"text":"@_user_1 /grant @_user_2"},@ 是占位符 key;用「key 后不接数字」的
34
+ * 边界锁定整 token,规避 @_user_1 / @_user_10 这类 key 前缀歧义。
35
+ * - post:@ 是独立的 `at` 节点(不在 text 里、mentions 可能为空),按文档节点顺序比较
36
+ * 本 bot 的 `at` 节点与含命令词的 text 节点的先后。
37
+ */
38
+ export declare function isGrantTargetOnly(message: any, botOpenId: string | undefined): boolean;
13
39
  /** 返回 true 表示已拦截(不再进入路由/spawn)。 */
14
40
  export declare function tryHandleGrantCommand(larkAppId: string, message: any, senderOpenId: string | undefined): Promise<boolean>;
15
41
  //# 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,CA+FlB"}
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,CAatH;AAuBD,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;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CA4BtF;AAED,mCAAmC;AACnC,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS,GAChE,OAAO,CAAC,OAAO,CAAC,CA0HlB"}
@@ -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';
@@ -26,12 +26,126 @@ export function parseGrantTargets(message, botOpenId) {
26
26
  seen.add(oid);
27
27
  out.push({ openId: oid, name: x.name ?? oid });
28
28
  }
29
+ // post(富文本)消息的 message.mentions 常为空,@ 落在 inline `at` 节点里。不回退的话
30
+ // `@Operator /grant @Target` 的富文本会解析出 0 目标 → 落进裸 /grant 分支误开整群授权。
31
+ if (out.length === 0)
32
+ return parsePostAtMentions(message, botOpenId);
33
+ return out;
34
+ }
35
+ /** 从 post inline `at` 节点取非本 bot 的目标(user_name 兜 name),按 user_id 去重、保持顺序。 */
36
+ function parsePostAtMentions(message, botOpenId) {
37
+ const seen = new Set();
38
+ const out = [];
39
+ let content;
40
+ try {
41
+ content = JSON.parse(message?.content ?? '{}');
42
+ }
43
+ catch {
44
+ return out;
45
+ }
46
+ const inner = content?.zh_cn ?? content?.en_us ?? content;
47
+ if (!Array.isArray(inner?.content))
48
+ return out;
49
+ for (const para of inner.content) {
50
+ if (!Array.isArray(para))
51
+ continue;
52
+ for (const node of para) {
53
+ if (node?.tag !== 'at')
54
+ continue;
55
+ const oid = node.user_id;
56
+ if (!oid || oid === botOpenId || seen.has(oid))
57
+ continue;
58
+ seen.add(oid);
59
+ out.push({ openId: oid, name: node.user_name ?? oid });
60
+ }
61
+ }
29
62
  return out;
30
63
  }
31
64
  /** 取第一个非本 bot 的目标(单目标场景的便捷封装)。 */
32
65
  export function parseGrantTarget(message, botOpenId) {
33
66
  return parseGrantTargets(message, botOpenId)[0];
34
67
  }
68
+ /** 把文本里所有 `@<name>` mention token 去掉(split/join,防正则注入),归一空白后 trim。 */
69
+ export function stripAllMentions(text, mentions) {
70
+ let s = text;
71
+ for (const m of mentions ?? []) {
72
+ const name = m?.name;
73
+ if (typeof name === 'string' && name.length)
74
+ s = s.split(`@${name}`).join(' ');
75
+ }
76
+ return s.replace(/\s+/g, ' ').trim();
77
+ }
78
+ /**
79
+ * 解析 `/grant @x [N]` 里可选的消息额度 N。`text` 已 stripLeadingMentions(去开头 @bot),
80
+ * 这里把剩余所有 `@<name>` mention 也剥掉,剩下应只是 `/grant` 或 `/grant <token>`。
81
+ * N 必须是唯一尾部正整数 token;0 / 负数 / 小数 / 多余尾巴 → { ok:false }(调用方回 usage)。
82
+ */
83
+ export function parseGrantQuota(text, mentions) {
84
+ const mm = /^\/grant(?:\s+(\S+))?$/i.exec(stripAllMentions(text, mentions));
85
+ if (!mm)
86
+ return { ok: false }; // 多余尾巴 / 解析不出
87
+ const tok = mm[1];
88
+ if (tok === undefined)
89
+ return { ok: true, quota: undefined }; // 无数字
90
+ if (!/^\d+$/.test(tok))
91
+ return { ok: false }; // 负号 / 小数 / 非数字
92
+ const n = parseInt(tok, 10);
93
+ if (n <= 0)
94
+ return { ok: false }; // \d+ 已保证整数,仅需挡 0
95
+ return { ok: true, quota: n };
96
+ }
97
+ function escapeRe(s) {
98
+ return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
99
+ }
100
+ /**
101
+ * 本 bot 是否「只是作为 /grant、/revoke 的目标」被 @(@ 出现在命令词之后),
102
+ * 而不是被前导 @ 点名执行命令的操作 bot。命中(仅目标)返回 true,调用方应静默放手——
103
+ * 否则异主目标 bot 会误回 owner_only、同主目标 bot 会把自己剔空后误开整群授权。
104
+ *
105
+ * text 与 post(富文本)两种消息形态都覆盖,二者入口都能命中 /grant(见 event-dispatcher
106
+ * 的 extractMessageTextForRouting / isBotMentioned),所以 guard 必须同时兜住:
107
+ * - text:{"text":"@_user_1 /grant @_user_2"},@ 是占位符 key;用「key 后不接数字」的
108
+ * 边界锁定整 token,规避 @_user_1 / @_user_10 这类 key 前缀歧义。
109
+ * - post:@ 是独立的 `at` 节点(不在 text 里、mentions 可能为空),按文档节点顺序比较
110
+ * 本 bot 的 `at` 节点与含命令词的 text 节点的先后。
111
+ */
112
+ export function isGrantTargetOnly(message, botOpenId) {
113
+ if (!botOpenId)
114
+ return false;
115
+ let content;
116
+ try {
117
+ content = JSON.parse(message?.content ?? '{}');
118
+ }
119
+ catch {
120
+ return false;
121
+ }
122
+ if (typeof content?.text === 'string') {
123
+ const key = (message?.mentions ?? []).find((m) => m?.id?.open_id === botOpenId)?.key;
124
+ if (!key)
125
+ return false;
126
+ const cmdIdx = content.text.search(/\/(?:grant|revoke)\b/i);
127
+ const keyMatch = new RegExp(`${escapeRe(key)}(?!\\d)`).exec(content.text);
128
+ const myIdx = keyMatch ? keyMatch.index : -1;
129
+ return cmdIdx >= 0 && myIdx > cmdIdx;
130
+ }
131
+ const inner = content?.zh_cn ?? content?.en_us ?? content;
132
+ if (Array.isArray(inner?.content)) {
133
+ let seq = 0, cmdSeq = -1, mySeq = -1;
134
+ for (const para of inner.content) {
135
+ if (!Array.isArray(para))
136
+ continue;
137
+ for (const node of para) {
138
+ if (cmdSeq < 0 && node?.tag === 'text' && /\/(?:grant|revoke)\b/i.test(node.text ?? ''))
139
+ cmdSeq = seq;
140
+ if (mySeq < 0 && node?.tag === 'at' && node.user_id === botOpenId)
141
+ mySeq = seq;
142
+ seq++;
143
+ }
144
+ }
145
+ return cmdSeq >= 0 && mySeq > cmdSeq;
146
+ }
147
+ return false;
148
+ }
35
149
  /** 返回 true 表示已拦截(不再进入路由/spawn)。 */
36
150
  export async function tryHandleGrantCommand(larkAppId, message, senderOpenId) {
37
151
  const rawText = extractMessageTextForRouting(message);
@@ -44,6 +158,14 @@ export async function tryHandleGrantCommand(larkAppId, message, senderOpenId) {
44
158
  const isRevoke = /^\/revoke(\s|$)/i.test(text);
45
159
  if (!isGrant && !isRevoke)
46
160
  return false;
161
+ // 本 bot 只是作为 /grant、/revoke 的【目标】被 @(`@OperatorBot /grant @ThisBot`,
162
+ // 常见于 owner 用 `/grant @bot` 授权另一个 bot 在本群协作)→ 这条命令是发给前导 @ 的
163
+ // 操作 bot 的,本 bot 的 daemon 必须放手:既不能回 owner_only(异主 bot 会误报「仅 owner
164
+ // 可使用 /grant」),也不能把自己从 targets 剔空后误判成裸 /grant 给整群开授权。
165
+ if (isGrantTargetOnly(message, getBotOpenId(larkAppId))) {
166
+ logger.debug(`[grant:${larkAppId}] ignoring /grant|/revoke where this bot is only a target`);
167
+ return true; // 拦截(不喂 CLI),但不回复、不改授权——命令属于操作 bot
168
+ }
47
169
  // 多 bot 群:必须明确 @ 当前 bot 才由本 daemon 处理;否则吞掉(不喂 CLI)。
48
170
  if (!isBotMentioned(larkAppId, message, senderOpenId))
49
171
  return true;
@@ -66,6 +188,15 @@ export async function tryHandleGrantCommand(larkAppId, message, senderOpenId) {
66
188
  .catch(err => logger.debug(`grant usage reply failed: ${err}`));
67
189
  return true;
68
190
  }
191
+ // 无 @目标时只接受"整群"意图:精确 `/grant`(空尾巴)或 `/grant all`。带其它 token
192
+ // (尤其 `/grant 5` —— owner 漏 @ 人却写了额度数字)绝不当成整群授权打开 talk,回 usage,
193
+ // 避免把"给某人 5 条额度"误执行成"对全群开放对话"。
194
+ const rest = stripAllMentions(text, message?.mentions ?? []).replace(/^\/(grant|revoke)\b/i, '').trim();
195
+ if (rest !== '' && rest.toLowerCase() !== 'all') {
196
+ await replyMessage(larkAppId, messageId, t(isGrant ? 'cmd.grant.bad_quota' : 'cmd.revoke.usage', undefined, loc))
197
+ .catch(err => logger.debug(`grant no-target guard reply failed: ${err}`));
198
+ return true;
199
+ }
69
200
  let txt;
70
201
  if (isGrant) {
71
202
  const r = await addAllowedChatGroup(larkAppId, chatId);
@@ -116,8 +247,16 @@ export async function tryHandleGrantCommand(larkAppId, message, senderOpenId) {
116
247
  logger.info(`[grant:${larkAppId}] revoke ${targets.length} target(s) in ${chatId}`);
117
248
  return true;
118
249
  }
119
- // /grant 弹一张卡(owner 主动态),列出全部目标;owner 点一次范围按钮即对全部生效。
120
- const nonce = openPendingMulti(larkAppId, chatId, targets.map(tgt => tgt.openId));
250
+ // 解析可选额度:`/grant @x 5`(多目标时对每人各 N 条)。显式数字恒生效;无数字取 messageQuota.defaultLimit(未配=无限)。
251
+ const pq = parseGrantQuota(text, message?.mentions ?? []);
252
+ if (!pq.ok) {
253
+ await replyMessage(larkAppId, messageId, t('cmd.grant.bad_quota', undefined, loc))
254
+ .catch(err => logger.debug(`grant bad_quota reply failed: ${err}`));
255
+ return true;
256
+ }
257
+ const quota = pq.quota ?? getBot(larkAppId).config.messageQuota?.defaultLimit;
258
+ // /grant → 弹一张卡(owner 主动态),列出全部目标;owner 点一次范围按钮即对全部生效。额度(若有)对每个目标各自挂在 pending 上。
259
+ const nonce = openPendingMulti(larkAppId, chatId, targets.map(tgt => tgt.openId), quota);
121
260
  const card = buildGrantCard({ ownerOpenId: owner, targets, chatId, nonce, mode: 'owner' }, loc);
122
261
  await replyMessage(larkAppId, messageId, card, 'interactive')
123
262
  .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;AACrE,OAAO,EAAE,cAAc,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACzG,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C;;iEAEiE;AACjE,MAAM,UAAU,iBAAiB,CAAC,OAAY,EAAE,SAA6B;IAC3E,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,GAAG,GAA4C,EAAE,CAAC;IACxD,KAAK,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC;QAC3B,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QACzD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,kCAAkC;AAClC,MAAM,UAAU,gBAAgB,CAAC,OAAY,EAAE,SAA6B;IAC1E,OAAO,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,mCAAmC;AACnC,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,SAAiB,EAAE,OAAY,EAAE,YAAgC;IAEjE,MAAM,OAAO,GAAG,4BAA4B,CAAC,OAAO,CAAC,CAAC;IACtD,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,2DAA2D;IAC3D,gDAAgD;IAChD,MAAM,IAAI,GAAG,oBAAoB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAExC,oDAAoD;IACpD,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IAEnE,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IACrC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAE/B,YAAY;IACZ,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,CAAC,YAAY,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;QAC5C,MAAM,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,uBAAuB,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;aACpH,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,GAAG,EAAE,CAAC,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;IAEpE,wEAAwE;IACxE,iEAAiE;IACjE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,kBAAkB,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;iBAC1G,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,GAAG,EAAE,CAAC,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,GAAW,CAAC;QAChB,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,GAAG,MAAM,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACvD,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE;gBACT,CAAC,CAAC,CAAC,CAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC;gBACvD,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,wBAAwB,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QACzG,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,MAAM,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC1D,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE;gBACT,CAAC,CAAC,CAAC,CAAC,wBAAwB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC;gBACxD,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QACxG,CAAC;QACD,MAAM,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC;aAC1C,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,GAAG,EAAE,CAAC,CAAC,CAAC;QACvE,MAAM,CAAC,IAAI,CAAC,UAAU,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,eAAe,MAAM,EAAE,CAAC,CAAC;QACzF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,kCAAkC;QAClC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3D,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACV,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,gBAAgB;wBACtC,CAAC,CAAC,CAAC,CAAC,uBAAuB,EAAE,SAAS,EAAE,GAAG,CAAC;wBAC5C,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;gBACzD,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,gBAAgB;wBACtC,CAAC,CAAC,CAAC,CAAC,6BAA6B,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC;wBAC3D,CAAC,CAAC,CAAC,CAAC,yBAAyB,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC/E,CAAC;gBACD,SAAS;YACX,CAAC;YACD,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,8BAA8B,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE;mBAC5O,CAAC,CAAC,uBAAuB,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;YAChD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;gBAC7B,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC;gBACtD,CAAC,CAAC,CAAC,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC;YAC9B,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACV,CAAC,CAAC,GAAG,CAAC,CAAC,yBAAyB,EAAE,SAAS,EAAE,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3E,MAAM,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC;aAC1C,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAC,CAAC;QAC7D,MAAM,CAAC,IAAI,CAAC,UAAU,SAAS,YAAY,OAAO,CAAC,MAAM,iBAAiB,MAAM,EAAE,CAAC,CAAC;QACpF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uDAAuD;IACvD,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAClF,MAAM,IAAI,GAAG,cAAc,CACzB,EAAE,WAAW,EAAE,KAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAC9D,GAAG,CACJ,CAAC;IACF,MAAM,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,CAAC;SAC1D,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAC,CAAC;IACjE,MAAM,CAAC,IAAI,CAAC,UAAU,SAAS,2BAA2B,OAAO,CAAC,MAAM,iBAAiB,MAAM,EAAE,CAAC,CAAC;IACnG,OAAO,IAAI,CAAC;AACd,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
- export declare function openPendingMulti(larkAppId: string, chatId: string, targets: string[]): string;
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,yBAAyB;AACzB,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAErF;AAED;sDACsD;AACtD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAK7F;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"}
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
- export function openPendingMulti(larkAppId, chatId, targets) {
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,yBAAyB;AACzB,MAAM,UAAU,WAAW,CAAC,SAAiB,EAAE,MAAc,EAAE,MAAc;IAC3E,OAAO,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACvD,CAAC;AAED;sDACsD;AACtD,MAAM,UAAU,gBAAgB,CAAC,SAAiB,EAAE,MAAc,EAAE,OAAiB;IACnF,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,KAAK,MAAM,MAAM,IAAI,OAAO;QAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IACzG,OAAO,KAAK,CAAC;AACf,CAAC;AAED,sCAAsC;AACtC,MAAM,UAAU,UAAU,CAAC,SAAiB,EAAE,MAAc,EAAE,MAAc,EAAE,KAAa;IACzF,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC;AAC3D,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,YAAY,CAAC,SAAiB,EAAE,MAAc,EAAE,MAAc;IAC5E,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,UAAU,CAAC,SAAiB,EAAE,MAAc,EAAE,MAAc;IAC1E,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACjF,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,WAAW,CAAC,SAAiB,EAAE,MAAc,EAAE,MAAc;IAC3E,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACrB,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,gBAAgB,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,aAAa,KAAW,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC"}
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,mEAAmE;AACnE,MAAM,UAAU,WAAW,CAAC,SAAiB,EAAE,MAAc,EAAE,MAAc,EAAE,KAAc;IAC3F,OAAO,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;AAC9D,CAAC;AAED;;4CAE4C;AAC5C,MAAM,UAAU,gBAAgB,CAAC,SAAiB,EAAE,MAAc,EAAE,OAAiB,EAAE,KAAc;IACnG,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,KAAK,MAAM,MAAM,IAAI,OAAO;QAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAChH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,eAAe,CAAC,SAAiB,EAAE,MAAc,EAAE,MAAc;IAC/E,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1D,CAAC;AAED,sCAAsC;AACtC,MAAM,UAAU,UAAU,CAAC,SAAiB,EAAE,MAAc,EAAE,MAAc,EAAE,KAAa;IACzF,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC;AAC3D,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,YAAY,CAAC,SAAiB,EAAE,MAAc,EAAE,MAAc;IAC5E,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,UAAU,CAAC,SAAiB,EAAE,MAAc,EAAE,MAAc;IAC1E,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACjF,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,WAAW,CAAC,SAAiB,EAAE,MAAc,EAAE,MAAc;IAC3E,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACrB,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,gBAAgB,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,aAAa,KAAW,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ export interface CodexAppThreadSummary {
2
+ threadId: string;
3
+ name?: string;
4
+ preview: string;
5
+ cwd: string;
6
+ updatedAtMs?: number;
7
+ createdAtMs?: number;
8
+ path?: string;
9
+ source?: string;
10
+ status?: string;
11
+ }
12
+ export interface ListCodexAppThreadsOptions {
13
+ codexBin?: string;
14
+ cwd?: string;
15
+ limit?: number;
16
+ searchTerm?: string;
17
+ timeoutMs?: number;
18
+ }
19
+ export declare function listCodexAppThreads(opts?: ListCodexAppThreadsOptions): Promise<CodexAppThreadSummary[]>;
20
+ //# sourceMappingURL=codex-app-threads.d.ts.map