@kartik.doda/openclaw-plugin-test 1.0.5 → 1.1.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 (45) hide show
  1. package/.skillsignore +5 -0
  2. package/dist/cli/accounts.d.ts +3 -0
  3. package/dist/cli/accounts.d.ts.map +1 -0
  4. package/dist/cli/accounts.js +25 -0
  5. package/dist/cli/accounts.js.map +1 -0
  6. package/dist/cli/bot.d.ts.map +1 -1
  7. package/dist/cli/bot.js +8 -1
  8. package/dist/cli/bot.js.map +1 -1
  9. package/dist/cli/config-updater.d.ts +12 -0
  10. package/dist/cli/config-updater.d.ts.map +1 -1
  11. package/dist/cli/config-updater.js +85 -27
  12. package/dist/cli/config-updater.js.map +1 -1
  13. package/dist/cli/rate-limiter.d.ts +3 -3
  14. package/dist/cli/rate-limiter.d.ts.map +1 -1
  15. package/dist/client/ddp.d.ts +3 -3
  16. package/dist/client/ddp.d.ts.map +1 -1
  17. package/dist/client/ddp.js +2 -1
  18. package/dist/client/ddp.js.map +2 -2
  19. package/dist/config/schema.d.ts +5 -4
  20. package/dist/config/schema.d.ts.map +1 -1
  21. package/dist/config/schema.js +5 -4
  22. package/dist/config/schema.js.map +1 -1
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +20 -0
  25. package/dist/index.js.map +1 -1
  26. package/dist/plugin.d.ts.map +1 -1
  27. package/dist/plugin.js +5 -3
  28. package/dist/plugin.js.map +1 -1
  29. package/dist/service/channel.d.ts +6 -0
  30. package/dist/service/channel.d.ts.map +1 -1
  31. package/dist/service/channel.js +78 -42
  32. package/dist/service/channel.js.map +1 -1
  33. package/dist/service/gateway.d.ts +10 -0
  34. package/dist/service/gateway.d.ts.map +1 -1
  35. package/dist/service/gateway.js +196 -52
  36. package/dist/service/gateway.js.map +1 -1
  37. package/dist/service/inbound.d.ts.map +1 -1
  38. package/dist/service/inbound.js +1 -0
  39. package/dist/service/inbound.js.map +1 -1
  40. package/dist/service/turn-limiter.d.ts +9 -0
  41. package/dist/service/turn-limiter.d.ts.map +1 -0
  42. package/dist/service/turn-limiter.js +33 -0
  43. package/dist/service/turn-limiter.js.map +1 -0
  44. package/openclaw.plugin.json +10 -9
  45. package/package.json +2 -2
@@ -1,3 +1,4 @@
1
+ import { execFileSync } from "node:child_process";
1
2
  import { resolveOpenClawDir, extractQuotedMessageId, DM_SCOPE } from "../utils.js";
2
3
  import { RocketChatClient } from "../client/rest.js";
3
4
  import { parsePluginConfig } from "../config/schema.js";
@@ -10,11 +11,27 @@ import { collectBotUserIdsForServer, collectBotUsernamesForServer } from "../cli
10
11
  import { AccessStore } from "../config/access-store.js";
11
12
  import { appendGroupHistory, getAndClearGroupHistory } from "./group-history.js";
12
13
  import { dispatchInboundEventWithChannelRuntime } from "./inbound.js";
14
+ import { createChannelRunQueue } from "openclaw/plugin-sdk/channel-lifecycle";
15
+ import { acquireTurnSlot, releaseTurnSlot, setMaxConcurrentTurns } from "./turn-limiter.js";
13
16
  const MAX_MESSAGE_LENGTH = 4000;
14
17
  const MAX_ATTACHMENTS = 5;
15
18
  import { activeClients, connectionStatus } from "./runtime-state.js";
16
19
  export { activeClients } from "./runtime-state.js";
17
20
  let nextGeneration = 0;
21
+ const threadRoots = new Map();
22
+ const THREAD_ROOTS_CAP = 2000;
23
+ function recordThreadRoot(messageId, tmid) {
24
+ if (threadRoots.size >= THREAD_ROOTS_CAP) {
25
+ const oldest = threadRoots.keys().next().value;
26
+ if (oldest !== undefined)
27
+ threadRoots.delete(oldest);
28
+ }
29
+ threadRoots.set(messageId, tmid);
30
+ threadRoots.set(tmid, tmid);
31
+ }
32
+ export function lookupThreadRoot(messageId) {
33
+ return threadRoots.get(messageId);
34
+ }
18
35
  let logger = {
19
36
  info: (msg) => console.log(`[RC] ${msg}`),
20
37
  error: (msg) => console.error(`[RC] ${msg}`),
@@ -35,16 +52,18 @@ export function isConfigured(account) {
35
52
  return Boolean(account.auth);
36
53
  }
37
54
  async function handleMessage(ctx, event, client, ddp, accountId, identityUsername, isCommand, commandText) {
38
- const replyTmid = event.tmid ?? undefined;
55
+ const replyTmid = resolveReplyTmid({
56
+ roomType: event.roomType,
57
+ tmid: event.tmid ?? undefined,
58
+ messageId: event.messageId,
59
+ isCommand,
60
+ });
39
61
  const channelRuntime = ctx.channelRuntime;
40
62
  if (!channelRuntime)
41
63
  return;
42
64
  if (!isCommand) {
43
65
  const emoji = PROCESSING_EMOJIS[Math.floor(Math.random() * PROCESSING_EMOJIS.length)];
44
- await (ddp
45
- ?.reactToMessage(event.messageId, emoji)
46
- .catch(() => client.reactToMessage(event.messageId, emoji)) ??
47
- client.reactToMessage(event.messageId, emoji)).catch((err) => logger.error(`[rocketchat:${accountId}] reaction failed: ${err instanceof Error ? err.message : String(err)}`));
66
+ await reactWithFallback(client, ddp, accountId, event.messageId, emoji);
48
67
  await ddp?.sendTyping(event.roomId, true).catch(() => { });
49
68
  }
50
69
  const groupHistory = event.roomType === "direct" ? [] : getAndClearGroupHistory(accountId, event.roomId);
@@ -56,7 +75,7 @@ async function handleMessage(ctx, event, client, ddp, accountId, identityUsernam
56
75
  identityUsername,
57
76
  channelRuntime,
58
77
  client,
59
- deliver: (payload, info) => sendReply(client, ddp, event.roomId, event.messageId, replyTmid, accountId, payload, info, isCommand, commandText),
78
+ deliver: (payload, info) => sendReply(client, ddp, event.roomId, event.messageId, replyTmid, accountId, payload, info, commandText),
60
79
  onRecordError: (error) => {
61
80
  logger.error(`[rocketchat:${accountId}] failed to record inbound session: ${error instanceof Error ? error.message : String(error)}`);
62
81
  },
@@ -227,32 +246,120 @@ function reformatTools(text) {
227
246
  .replace(/\n{3,}/g, "\n\n")
228
247
  .trim();
229
248
  }
249
+ function reformatModel(text) {
250
+ const lines = text.split("\n");
251
+ const out = [];
252
+ let current = "";
253
+ const models = [];
254
+ const NOISE = /^(Auth overview|OAuth|Providers|Profiles|Aliases|Fallbacks|Image model|Image fallbacks|Shell env|Config\s)/i;
255
+ const AUTH = /models\.json|openclaw-agent\.sqlite|effective=|source=|api_key=|oauth=|token=/i;
256
+ for (const raw of lines) {
257
+ const line = raw.trim();
258
+ if (!line)
259
+ continue;
260
+ if (NOISE.test(line) || AUTH.test(line))
261
+ continue;
262
+ const cur = line.match(/^(?:Current|Default)\s*:\s*(\S+)/i);
263
+ if (cur) {
264
+ current = shortModelId(cur[1]);
265
+ continue;
266
+ }
267
+ const listMatch = line.match(/^Configured models\s*\(?\d*\)?:\s*(.+)$/i);
268
+ if (listMatch) {
269
+ for (const m of listMatch[1].split(",")) {
270
+ const t = m.trim();
271
+ if (t)
272
+ models.push(shortModelId(t));
273
+ }
274
+ continue;
275
+ }
276
+ if (/^[\w.\-]+\/[\w.\-]+(?:\/[\w.\-]+)*$/.test(line) || /^-\s+[\w.\-]+\//.test(line)) {
277
+ models.push(shortModelId(line.replace(/^-\s+/, "")));
278
+ continue;
279
+ }
280
+ }
281
+ if (current)
282
+ out.push(`Current: ${current}`);
283
+ if (models.length) {
284
+ out.push("", "Available:");
285
+ for (const m of models)
286
+ out.push(` ${m}`);
287
+ }
288
+ return out.length ? out.join("\n") : text;
289
+ }
230
290
  function reformatCommandReply(command, text) {
231
291
  if (!command || !text)
232
292
  return text;
233
293
  let out = text.replace(OPENCLAW_CMD_RE, "!$1");
234
- // Tidy the model card: show a short model id on the Current line.
294
+ // Tidy the model card: keep the current model + a clean available list.
235
295
  if (command.startsWith("/model")) {
236
- out = out.replace(/^Current:\s*(\S+)/m, (_m, id) => `Current: ${shortModelId(id)}`);
296
+ const modelArg = command.replace(/^\/model\s*/i, "").trim().toLowerCase();
297
+ const wantsList = modelArg === "" || modelArg === "status" || modelArg === "list";
298
+ if (wantsList) {
299
+ try {
300
+ const cli = execFileSync("openclaw", ["models"], {
301
+ encoding: "utf8",
302
+ timeout: 8000,
303
+ });
304
+ out = reformatModel(cli);
305
+ }
306
+ catch {
307
+ out = reformatModel(out);
308
+ }
309
+ }
310
+ else {
311
+ out = reformatModel(out);
312
+ }
237
313
  }
238
314
  if (command.startsWith("/tools")) {
239
315
  out = reformatTools(out);
240
316
  }
317
+ out = stripEmojis(out);
241
318
  return out;
242
319
  }
243
- async function sendReply(client, ddp, roomId, messageId, replyTmid, accountId, payload, info, isCommand, commandText) {
320
+ const EMOJI_RE = /[\u{1F000}-\u{1FAFF}\u{2600}-\u{27BF}\u{2B00}-\u{2BFF}\u{1F1E6}-\u{1F1FF}\u{FE00}-\u{FE0F}\u{2190}-\u{21FF}\u{2300}-\u{23FF}\u{2460}-\u{24FF}\u{25A0}-\u{25FF}\u{2900}-\u{297F}\u{2022}\u{00B7}]/gu;
321
+ function stripEmojis(text) {
322
+ return text.replace(EMOJI_RE, "").replace(/[ \t]{2,}/g, " ").trim();
323
+ }
324
+ const SEND_RETRY_DELAY_MS = 500;
325
+ export async function postMessageWithRetry(client, accountId, roomId, text, tmid) {
326
+ const tmidOpt = tmid ? { tmid } : undefined;
327
+ try {
328
+ return await client.postMessage(roomId, text, tmidOpt);
329
+ }
330
+ catch (err) {
331
+ const reason = err instanceof Error ? err.message : String(err);
332
+ logger.info(`[rocketchat:${accountId}] send failed, retrying in ${SEND_RETRY_DELAY_MS}ms: ${reason}`);
333
+ await new Promise((resolve) => setTimeout(resolve, SEND_RETRY_DELAY_MS));
334
+ return await client.postMessage(roomId, text, tmidOpt);
335
+ }
336
+ }
337
+ export function resolveReplyTmid(params) {
338
+ if (params.tmid)
339
+ return params.tmid;
340
+ if (!params.isCommand)
341
+ return undefined;
342
+ if (params.roomType === "direct")
343
+ return undefined;
344
+ if (params.command === "help")
345
+ return undefined;
346
+ return params.messageId;
347
+ }
348
+ async function reactWithFallback(client, ddp, accountId, messageId, reaction) {
349
+ await (ddp
350
+ ?.reactToMessage(messageId, reaction)
351
+ .catch(() => client.reactToMessage(messageId, reaction)) ??
352
+ client.reactToMessage(messageId, reaction)).catch((err) => logger.error(`[rocketchat:${accountId}] reaction failed: ${err instanceof Error ? err.message : String(err)}`));
353
+ }
354
+ async function sendReply(client, ddp, roomId, messageId, replyTmid, accountId, payload, info, commandText) {
244
355
  if (info.kind !== "final")
245
356
  return;
246
357
  const text = reformatCommandReply(commandText, payload.text ?? "");
247
- if (!isCommand) {
248
- await (ddp
249
- ?.reactToMessage(messageId, ":white_check_mark:")
250
- .catch(() => client.reactToMessage(messageId, ":white_check_mark:")) ??
251
- client.reactToMessage(messageId, ":white_check_mark:")).catch((err) => logger.error(`[rocketchat:${accountId}] reaction failed: ${err instanceof Error ? err.message : String(err)}`));
252
- await ddp?.sendTyping(roomId, false).catch(() => { });
253
- }
254
- const sendMsg = client.postMessage.bind(client);
358
+ await reactWithFallback(client, ddp, accountId, messageId, ":white_check_mark:");
359
+ await ddp?.sendTyping(roomId, false).catch(() => { });
360
+ const sendMsg = (roomId, text, options) => postMessageWithRetry(client, accountId, roomId, text, options?.tmid);
255
361
  const tmidOpt = replyTmid ? { tmid: replyTmid } : undefined;
362
+ logger.info(`[rocketchat:${accountId}] reply tmid=${replyTmid ?? "none"} text="${text.slice(0, 60)}"`);
256
363
  try {
257
364
  if (payload.attachmentPath) {
258
365
  try {
@@ -327,6 +434,13 @@ async function startDdpGateway(ctx, account, identity, client, checkpoint, menti
327
434
  wsBase.protocol = wsBase.protocol === "https:" ? "wss:" : "ws:";
328
435
  const wsUrl = wsBase.toString().replace(/\/+$/, "");
329
436
  const reconnectDelayMs = account.transport.mode === "websocket" ? (account.transport.reconnectDelayMs ?? 2_000) : 2_000;
437
+ const channelLimits = parseChannelConfig(ctx.cfg ?? {}).limits;
438
+ if (channelLimits?.maxConcurrentTurns)
439
+ setMaxConcurrentTurns(channelLimits.maxConcurrentTurns);
440
+ const runQueue = createChannelRunQueue({
441
+ ...(ctx.abortSignal ? { abortSignal: ctx.abortSignal } : {}),
442
+ onError: (err) => logger.error(`[rocketchat:${accountId}] run queue task failed: ${err instanceof Error ? err.message : String(err)}`),
443
+ });
330
444
  const stateData = await checkpoint.read();
331
445
  const seenIds = new Set(stateData.recentMessageIds);
332
446
  const processingMessages = new Set();
@@ -354,8 +468,12 @@ async function startDdpGateway(ctx, account, identity, client, checkpoint, menti
354
468
  authToken: identity.authToken,
355
469
  username: identity.username,
356
470
  reconnectDelayMs,
471
+ maxReconnects: channelLimits?.maxReconnects,
357
472
  onStatus: (status) => {
358
473
  connectionStatus.set(accountId, status);
474
+ if (status === "failed") {
475
+ logger.error(`[rocketchat:${accountId}] connection gave up - bot is dead until daemon restart (run: openclaw daemon restart)`);
476
+ }
359
477
  logger.info(`[rocketchat:${accountId}] ddp status: ${status}`);
360
478
  },
361
479
  onError: (error) => logger.error(`[rocketchat:${accountId}] ddp error: ${error.message}`),
@@ -381,7 +499,7 @@ async function startDdpGateway(ctx, account, identity, client, checkpoint, menti
381
499
  }
382
500
  const sub = { rid: msg.rid, t: roomType ?? "c" };
383
501
  const event = await toInboundEvent(accountId, sub, msg, account.serverUrl, client);
384
- logger.info(`[rocketchat:${accountId}] inbound from ${event.senderName}: "${event.text.slice(0, 80)}"`);
502
+ logger.info(`[rocketchat:${accountId}] inbound from ${event.senderName}: "${event.text.slice(0, 80)}" (tmid=${event.tmid ?? "none"})`);
385
503
  if (event.quotedText) {
386
504
  logger.info(`[rocketchat:${accountId}] quoted context (${event.quotedText.length} chars): "${event.quotedText.slice(0, 120)}"`);
387
505
  }
@@ -399,13 +517,17 @@ async function startDdpGateway(ctx, account, identity, client, checkpoint, menti
399
517
  }
400
518
  return;
401
519
  }
520
+ await markSeen(msg._id);
402
521
  if (isSenderDenied(event.senderName, account.owner, accountId, event.roomId, event.roomType)) {
403
- const sendCmd = client.postMessage.bind(client);
404
- const tmidOpt = event.tmid ? { tmid: event.tmid } : undefined;
405
522
  const ownerLabel = account.owner ? `@${account.owner}` : "the bot owner";
406
523
  const replyText = `You don't have access to use this bot. Contact ${ownerLabel}.`;
407
524
  try {
408
- await sendCmd(event.roomId, replyText, tmidOpt);
525
+ await postMessageWithRetry(client, accountId, event.roomId, replyText, resolveReplyTmid({
526
+ roomType: event.roomType,
527
+ tmid: event.tmid ?? undefined,
528
+ messageId: event.messageId,
529
+ isCommand: true,
530
+ }));
409
531
  }
410
532
  catch (err) {
411
533
  logger.error(`[rocketchat:${accountId}] access denied reply failed: ${err instanceof Error ? err.message : String(err)}`);
@@ -420,6 +542,7 @@ async function startDdpGateway(ctx, account, identity, client, checkpoint, menti
420
542
  serverUrl: account.serverUrl,
421
543
  mentionNames: account.mentionNames,
422
544
  auth: { mode: "token", userId: "", accessToken: "" },
545
+ enabled: true,
423
546
  ...(account.owner ? { owner: account.owner } : {}),
424
547
  },
425
548
  client,
@@ -427,13 +550,28 @@ async function startDdpGateway(ctx, account, identity, client, checkpoint, menti
427
550
  roomId: event.roomId,
428
551
  roomType: event.roomType,
429
552
  ...(ctx.channelRuntime ? { channelRuntime: ctx.channelRuntime } : {}),
553
+ ...(channelLimits
554
+ ? {
555
+ limits: {
556
+ maxAccounts: channelLimits.maxAccounts,
557
+ maxBotsPerServer: channelLimits.maxBotsPerServer,
558
+ botCreationCooldownMs: channelLimits.botCreationCooldownMs,
559
+ },
560
+ }
561
+ : {}),
430
562
  });
431
563
  logger.info(`[rocketchat:${accountId}] matchCommand(${JSON.stringify(event.text)}) -> ${cmdResult.action}`);
432
564
  if (cmdResult.action === "reply") {
433
- const sendCmd = client.postMessage.bind(client);
434
- const tmidOpt = event.tmid ? { tmid: event.tmid } : undefined;
565
+ const tmid = resolveReplyTmid({
566
+ roomType: event.roomType,
567
+ tmid: event.tmid ?? undefined,
568
+ messageId: event.messageId,
569
+ isCommand: true,
570
+ command: cmdResult.command,
571
+ });
435
572
  try {
436
- await sendCmd(event.roomId, cmdResult.replyText, tmidOpt);
573
+ await postMessageWithRetry(client, accountId, event.roomId, cmdResult.replyText, tmid);
574
+ await reactWithFallback(client, connection, accountId, event.messageId, ":white_check_mark:");
437
575
  }
438
576
  catch (err) {
439
577
  logger.error(`[rocketchat:${accountId}] command reply failed: ${err instanceof Error ? err.message : String(err)}`);
@@ -453,24 +591,28 @@ async function startDdpGateway(ctx, account, identity, client, checkpoint, menti
453
591
  if (processingMessages.has(msg._id))
454
592
  return;
455
593
  processingMessages.add(msg._id);
456
- try {
457
- await handleMessage(ctx, event, client, connection, accountId, identity.username, cmdResult.action === "openclaw-command", cmdResult.action === "openclaw-command" ? event.text : null);
458
- }
459
- catch (err) {
460
- const reason = err instanceof Error ? err.message : String(err);
461
- logger.error(`[rocketchat:${accountId}] failed to handle message ${event.messageId}: ${reason}`);
462
- await checkpoint.recordFailure({
463
- messageId: event.messageId,
464
- roomId: event.roomId,
465
- senderName: event.senderName,
466
- sentAt: event.sentAt,
467
- failedAt: new Date().toISOString(),
468
- reason,
469
- });
470
- }
471
- finally {
472
- processingMessages.delete(msg._id);
473
- }
594
+ runQueue.enqueue(event.roomId, async () => {
595
+ await acquireTurnSlot();
596
+ try {
597
+ await handleMessage(ctx, event, client, connection, accountId, identity.username, cmdResult.action === "openclaw-command", cmdResult.action === "openclaw-command" ? event.text : null);
598
+ }
599
+ catch (err) {
600
+ const reason = err instanceof Error ? err.message : String(err);
601
+ logger.error(`[rocketchat:${accountId}] failed to handle message ${event.messageId}: ${reason}`);
602
+ await checkpoint.recordFailure({
603
+ messageId: event.messageId,
604
+ roomId: event.roomId,
605
+ senderName: event.senderName,
606
+ sentAt: event.sentAt,
607
+ failedAt: new Date().toISOString(),
608
+ reason,
609
+ });
610
+ }
611
+ finally {
612
+ releaseTurnSlot();
613
+ processingMessages.delete(msg._id);
614
+ }
615
+ });
474
616
  },
475
617
  });
476
618
  activeClients.set(accountId, { client, generation });
@@ -535,6 +677,8 @@ function shouldSkipMessage(msg, botUserId, seenIds) {
535
677
  }
536
678
  async function toInboundEvent(accountId, sub, msg, serverUrl, client) {
537
679
  const rawAttachments = getMessageAttachmentInputs(msg);
680
+ if (msg.tmid)
681
+ recordThreadRoot(msg._id, msg.tmid);
538
682
  let quotedText;
539
683
  let nextQuotedId = msg.tmid ?? null;
540
684
  if (!nextQuotedId) {
@@ -594,16 +738,6 @@ function mapRoomType(t) {
594
738
  return "group";
595
739
  return "channel";
596
740
  }
597
- const PROCESSING_EMOJIS = [
598
- ":eyes:",
599
- ":thinking:",
600
- ":hourglass:",
601
- ":gear:",
602
- ":robot:",
603
- ":arrows_counterclockwise:",
604
- ":bulb:",
605
- ":mag:",
606
- ];
607
741
  function dedupeMentions(mentions) {
608
742
  return [...new Set(mentions.map((mention) => mention.trim()).filter(Boolean))];
609
743
  }
@@ -618,4 +752,14 @@ function parseChannelConfig(cfg) {
618
752
  function isPluginConfigLike(input) {
619
753
  return Boolean(input && typeof input === "object" && "accounts" in input);
620
754
  }
755
+ const PROCESSING_EMOJIS = [
756
+ ":eyes:",
757
+ ":thinking:",
758
+ ":hourglass:",
759
+ ":gear:",
760
+ ":robot:",
761
+ ":arrows_counterclockwise:",
762
+ ":bulb:",
763
+ ":mag:",
764
+ ];
621
765
  //# sourceMappingURL=gateway.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/service/gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/service/gateway.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"inbound.d.ts","sourceRoot":"","sources":["../../src/service/inbound.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAEnB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,wBAAsB,sCAAsC,CAAC,MAAM,EAAE;IACnE,GAAG,EAAE,kBAAkB,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,YAAY,CAAC;IACpB,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,kBAAkB,CAAC;IACnC,OAAO,CAAC,OAAO,EAAE,oBAAoB,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC5D,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B,GAAG,OAAO,CAAC,IAAI,CAAC,CA2FhB"}
1
+ {"version":3,"file":"inbound.d.ts","sourceRoot":"","sources":["../../src/service/inbound.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAEnB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,wBAAsB,sCAAsC,CAAC,MAAM,EAAE;IACnE,GAAG,EAAE,kBAAkB,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,YAAY,CAAC;IACpB,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,kBAAkB,CAAC;IACnC,OAAO,CAAC,OAAO,EAAE,oBAAoB,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC5D,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B,GAAG,OAAO,CAAC,IAAI,CAAC,CA4FhB"}
@@ -51,6 +51,7 @@ export async function dispatchInboundEventWithChannelRuntime(params) {
51
51
  Surface: "rocketchat",
52
52
  MessageSid: params.event.messageId,
53
53
  MessageSidFull: params.event.messageId,
54
+ ...(params.event.tmid ? { ThreadRootSid: params.event.tmid } : {}),
54
55
  Timestamp: timestamp,
55
56
  OriginatingChannel: "rocketchat",
56
57
  OriginatingTo: to,
@@ -1 +1 @@
1
- {"version":3,"file":"inbound.js","sourceRoot":"","sources":["../../src/service/inbound.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inbound.js","sourceRoot":"","sources":["../../src/service/inbound.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export declare function setMaxConcurrentTurns(next: number): void;
2
+ export declare function acquireTurnSlot(): Promise<void>;
3
+ export declare function releaseTurnSlot(): void;
4
+ export declare function turnLimiterStats(): {
5
+ inflight: number;
6
+ waiting: number;
7
+ limit: number;
8
+ };
9
+ //# sourceMappingURL=turn-limiter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turn-limiter.d.ts","sourceRoot":"","sources":["../../src/service/turn-limiter.ts"],"names":[],"mappings":"AAMA,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CASxD;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAMrD;AAED,wBAAgB,eAAe,IAAI,IAAI,CAOtC;AAED,wBAAgB,gBAAgB,IAAI;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAEvF"}
@@ -0,0 +1,33 @@
1
+ const DEFAULT_MAX_CONCURRENT_TURNS = 8;
2
+ let limit = DEFAULT_MAX_CONCURRENT_TURNS;
3
+ let inflight = 0;
4
+ const waiters = [];
5
+ export function setMaxConcurrentTurns(next) {
6
+ limit = Math.max(1, Math.floor(next));
7
+ while (inflight < limit && waiters.length > 0) {
8
+ const wake = waiters.shift();
9
+ if (wake) {
10
+ inflight++;
11
+ wake();
12
+ }
13
+ }
14
+ }
15
+ export async function acquireTurnSlot() {
16
+ if (inflight < limit) {
17
+ inflight++;
18
+ return;
19
+ }
20
+ await new Promise((resolve) => waiters.push(resolve));
21
+ }
22
+ export function releaseTurnSlot() {
23
+ const wake = waiters.shift();
24
+ if (wake) {
25
+ wake();
26
+ return;
27
+ }
28
+ inflight = Math.max(0, inflight - 1);
29
+ }
30
+ export function turnLimiterStats() {
31
+ return { inflight, waiting: waiters.length, limit };
32
+ }
33
+ //# sourceMappingURL=turn-limiter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turn-limiter.js","sourceRoot":"","sources":["../../src/service/turn-limiter.ts"],"names":[],"mappings":"AAAA,MAAM,4BAA4B,GAAG,CAAC,CAAC;AAEvC,IAAI,KAAK,GAAG,4BAA4B,CAAC;AACzC,IAAI,QAAQ,GAAG,CAAC,CAAC;AACjB,MAAM,OAAO,GAAsB,EAAE,CAAC;AAEtC,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACtC,OAAO,QAAQ,GAAG,KAAK,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,IAAI,EAAE,CAAC;YACT,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,CAAC;QACT,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,IAAI,QAAQ,GAAG,KAAK,EAAE,CAAC;QACrB,QAAQ,EAAE,CAAC;QACX,OAAO;IACT,CAAC;IACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAC7B,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,EAAE,CAAC;QACP,OAAO;IACT,CAAC;IACD,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;AACtD,CAAC"}