@seedcord/core 0.1.0-next.6 → 0.1.0-next.7

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 (53) hide show
  1. package/dist/{AutocompleteOptions-eKhIe6Qt.d.mts → AutocompleteOptions-DLp_B8as.d.mts} +61 -112
  2. package/dist/HmrModuleHandler-3sNgKHdf.mjs +163 -0
  3. package/dist/HmrModuleHandler-3sNgKHdf.mjs.map +1 -0
  4. package/dist/HmrModuleHandler-CTBng7wV.cjs +170 -0
  5. package/dist/HmrModuleHandler-CTBng7wV.cjs.map +1 -0
  6. package/dist/Plugin-3rlH0uxH.d.mts +620 -0
  7. package/dist/{Plugin-C2-VHrsX.cjs → Plugin-Cgp1a0uQ.cjs} +13 -4
  8. package/dist/Plugin-Cgp1a0uQ.cjs.map +1 -0
  9. package/dist/{Plugin-PcdPjAzc.mjs → Plugin-j9GYdroS.mjs} +13 -4
  10. package/dist/Plugin-j9GYdroS.mjs.map +1 -0
  11. package/dist/{permissions-DSW_EZfN.cjs → Silence-DiP95iwD.cjs} +38 -307
  12. package/dist/Silence-DiP95iwD.cjs.map +1 -0
  13. package/dist/{permissions-RVCBhL2n.mjs → Silence-dbC2slOB.mjs} +35 -238
  14. package/dist/Silence-dbC2slOB.mjs.map +1 -0
  15. package/dist/basic-D7bDlgSP.d.mts +10 -0
  16. package/dist/hmr.index.cjs +2 -164
  17. package/dist/hmr.index.mjs +2 -162
  18. package/dist/index-Dueqztyy.d.mts +142 -0
  19. package/dist/index.cjs +50 -72
  20. package/dist/index.cjs.map +1 -1
  21. package/dist/index.d.mts +7 -5
  22. package/dist/index.mjs +8 -35
  23. package/dist/index.mjs.map +1 -1
  24. package/dist/internal.index.cjs +262 -74
  25. package/dist/internal.index.cjs.map +1 -1
  26. package/dist/internal.index.d.mts +68 -4
  27. package/dist/internal.index.mjs +216 -35
  28. package/dist/internal.index.mjs.map +1 -1
  29. package/dist/node-internal.index.cjs +123 -52
  30. package/dist/node-internal.index.cjs.map +1 -1
  31. package/dist/node-internal.index.d.mts +67 -2158
  32. package/dist/node-internal.index.mjs +124 -54
  33. package/dist/node-internal.index.mjs.map +1 -1
  34. package/dist/plugin.index.cjs +1 -1
  35. package/dist/plugin.index.d.mts +1 -1
  36. package/dist/plugin.index.mjs +1 -1
  37. package/dist/publishDefault-CCf1azzW.mjs +264 -0
  38. package/dist/publishDefault-CCf1azzW.mjs.map +1 -0
  39. package/dist/publishDefault-l0NQ-SHo.cjs +353 -0
  40. package/dist/publishDefault-l0NQ-SHo.cjs.map +1 -0
  41. package/dist/subscribers-B1G6_LlK.cjs +517 -0
  42. package/dist/subscribers-B1G6_LlK.cjs.map +1 -0
  43. package/dist/subscribers-DYqFVP1X.mjs +480 -0
  44. package/dist/subscribers-DYqFVP1X.mjs.map +1 -0
  45. package/package.json +7 -6
  46. package/dist/Plugin-C2-VHrsX.cjs.map +0 -1
  47. package/dist/Plugin-CNyRKDHT.d.mts +0 -226
  48. package/dist/Plugin-PcdPjAzc.mjs.map +0 -1
  49. package/dist/hmr.index.cjs.map +0 -1
  50. package/dist/hmr.index.mjs.map +0 -1
  51. package/dist/is-never-Ddaba1Su.d.mts +0 -58
  52. package/dist/permissions-DSW_EZfN.cjs.map +0 -1
  53. package/dist/permissions-RVCBhL2n.mjs.map +0 -1
@@ -1,21 +1,21 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
2
  const require_rolldown_runtime = require('./rolldown-runtime-C_NdSu1c.cjs');
3
- const require_permissions = require('./permissions-DSW_EZfN.cjs');
3
+ const require_publishDefault = require('./publishDefault-l0NQ-SHo.cjs');
4
+ const require_Silence = require('./Silence-DiP95iwD.cjs');
4
5
  const require_devChannel = require('./devChannel-CoCmAVDx.cjs');
5
6
  require("reflect-metadata");
6
7
  let _seedcord_errors = require("@seedcord/errors");
7
8
  let _seedcord_errors_internal = require("@seedcord/errors/internal");
8
- let discord_api_types_v10 = require("discord-api-types/v10");
9
9
  let _discordjs_builders = require("@discordjs/builders");
10
10
  let _seedcord_logger = require("@seedcord/logger");
11
11
  let _seedcord_utils = require("@seedcord/utils");
12
- let envapt = require("envapt");
13
12
  let chalk = require("chalk");
14
13
  chalk = require_rolldown_runtime.__toESM(chalk, 1);
14
+ let envapt = require("envapt");
15
15
 
16
16
  //#region src/gates/runGates.ts
17
17
  function routeIdOf(handlerCtor) {
18
- for (const [kind, key] of Object.entries(require_permissions.InteractionRouteKeys)) {
18
+ for (const [kind, key] of Object.entries(require_publishDefault.InteractionRouteKeys)) {
19
19
  const routes = Reflect.getMetadata(key, handlerCtor);
20
20
  if (routes?.length) return `${kind}:${routes.join(",")}`;
21
21
  }
@@ -24,7 +24,7 @@ function routeIdOf(handlerCtor) {
24
24
  async function timedCheck(gate, ctx, observe) {
25
25
  const start = performance.now();
26
26
  try {
27
- await require_permissions.runCheck(gate, ctx);
27
+ await require_Silence.runCheck(gate, ctx);
28
28
  } finally {
29
29
  observe(gate.name, performance.now() - start);
30
30
  }
@@ -36,14 +36,14 @@ async function timedCheck(gate, ctx, observe) {
36
36
  */
37
37
  async function runGates(gates, ctx, observe) {
38
38
  try {
39
- for (const gate of gates) await (observe ? timedCheck(gate, ctx, observe) : require_permissions.runCheck(gate, ctx));
40
- await require_permissions.runCommits(ctx);
39
+ for (const gate of gates) await (observe ? timedCheck(gate, ctx, observe) : require_Silence.runCheck(gate, ctx));
40
+ await require_Silence.runCommits(ctx);
41
41
  } finally {
42
- require_permissions.discardCommits(ctx);
42
+ require_Silence.discardCommits(ctx);
43
43
  }
44
44
  }
45
45
  async function runHandlerGates(handlerCtor, ctx, routeId, observe) {
46
- const gates = Reflect.getMetadata(require_permissions.GatedMetadataKey, handlerCtor);
46
+ const gates = Reflect.getMetadata(require_publishDefault.GatedMetadataKey, handlerCtor);
47
47
  if (!gates) return;
48
48
  await runGates(gates, {
49
49
  ...ctx,
@@ -56,7 +56,7 @@ async function runHandlerGates(handlerCtor, ctx, routeId, observe) {
56
56
  const SLOW_GATE_MS = 750;
57
57
  let gateLogger;
58
58
  function logger() {
59
- gateLogger ??= new _seedcord_logger.Logger("Gates");
59
+ gateLogger ??= new _seedcord_logger.Logger("Gates", { channel: "gates" });
60
60
  return gateLogger;
61
61
  }
62
62
  function slowGateMonitor() {
@@ -131,27 +131,20 @@ var HmrManager = class {
131
131
  }
132
132
  };
133
133
 
134
+ //#endregion
135
+ //#region src/stops/asError.ts
136
+ /** @internal */
137
+ function asError(caught) {
138
+ return Error.isError(caught) ? caught : new Error(String(caught), { cause: caught });
139
+ }
140
+
134
141
  //#endregion
135
142
  //#region src/pagination/cursor.ts
136
143
  const PAGE_MAX = 1e6;
137
144
  const SLOT_MAX = 4;
138
145
  /** Build the page cursor for a paginator. */
139
146
  function pageCursor(prefix) {
140
- return new require_permissions.CustomId(prefix).int("page", 0, PAGE_MAX).int("slot", 0, SLOT_MAX);
141
- }
142
-
143
- //#endregion
144
- //#region src/reply/flags.ts
145
- /** IsComponentsV2 is unconditional, every framework reply is v2. */
146
- function sendFlags(opts) {
147
- let flags = discord_api_types_v10.MessageFlags.IsComponentsV2;
148
- if (opts?.ephemeral ?? true) flags |= discord_api_types_v10.MessageFlags.Ephemeral;
149
- if (opts?.silent) flags |= discord_api_types_v10.MessageFlags.SuppressNotifications;
150
- return flags;
151
- }
152
- /** A deferral carries no content, so only Ephemeral applies. */
153
- function deferFlags(opts) {
154
- return opts?.ephemeral ?? true ? discord_api_types_v10.MessageFlags.Ephemeral : 0;
147
+ return new require_Silence.CustomId(prefix).int("page", 0, PAGE_MAX).int("slot", 0, SLOT_MAX);
155
148
  }
156
149
 
157
150
  //#endregion
@@ -251,6 +244,60 @@ var AckTrace = class extends Error {
251
244
  }
252
245
  };
253
246
 
247
+ //#endregion
248
+ //#region src/reply/responseReport.ts
249
+ /** @internal */
250
+ function publishResponse(telemetry, report) {
251
+ if (!telemetry) return;
252
+ telemetry.bus[require_publishDefault.PublishDefault]("responseAttempted", {
253
+ routeId: report.routeId,
254
+ interactionId: telemetry.interactionId,
255
+ method: report.method,
256
+ outcome: report.outcome,
257
+ durationMs: performance.now() - report.startedAt,
258
+ messageId: report.messageId,
259
+ ...report.error && { error: report.error }
260
+ });
261
+ }
262
+ /**
263
+ * Runs a write that returns no message and publishes whichever arm it takes.
264
+ *
265
+ * @internal
266
+ */
267
+ async function reportedWrite(telemetry, routeId, method, write) {
268
+ const startedAt = performance.now();
269
+ const result = await attemptWrite(telemetry, routeId, method, startedAt, write);
270
+ publishResponse(telemetry, {
271
+ routeId,
272
+ method,
273
+ startedAt,
274
+ outcome: "sent",
275
+ messageId: null
276
+ });
277
+ return result;
278
+ }
279
+ /**
280
+ * Runs a wire write and publishes the `failed` arm when it throws, since the caller's success report
281
+ * sits after the write and a throw skips it.
282
+ *
283
+ * @internal
284
+ */
285
+ async function attemptWrite(telemetry, routeId, method, startedAt, write) {
286
+ try {
287
+ return await write();
288
+ } catch (caught) {
289
+ publishResponse(telemetry, {
290
+ routeId,
291
+ method,
292
+ startedAt,
293
+ outcome: "failed",
294
+ messageId: null,
295
+ error: asError(caught)
296
+ });
297
+ throw caught;
298
+ }
299
+ }
300
+
254
301
  //#endregion
255
302
  //#region src/reply/translateSerialization.ts
256
303
  const MAX_DEPTH = 8;
@@ -395,28 +442,49 @@ function serializeReply(response, routeId) {
395
442
  */
396
443
  var BaseReplySender = class {
397
444
  routeId;
445
+ telemetry;
398
446
  state;
399
447
  sent = /* @__PURE__ */ new Set();
400
448
  ackedBy;
401
- constructor(routeId, initialState = "unacked") {
449
+ constructor(routeId, initialState = "unacked", telemetry) {
402
450
  this.routeId = routeId;
451
+ this.telemetry = telemetry;
403
452
  this.state = initialState;
404
453
  }
454
+ report(method, startedAt, outcome, messageId) {
455
+ publishResponse(this.telemetry, {
456
+ routeId: this.routeId,
457
+ method,
458
+ startedAt,
459
+ outcome,
460
+ messageId
461
+ });
462
+ }
463
+ async attempt(method, startedAt, write) {
464
+ return await attemptWrite(this.telemetry, this.routeId, method, startedAt, write);
465
+ }
405
466
  async reply(response, opts) {
406
467
  this.checkLegality("reply");
407
- const created = await this.writeReply(response, opts);
468
+ const startedAt = performance.now();
469
+ const created = await this.attempt("reply", startedAt, () => this.writeReply(response, opts));
408
470
  this.transition("reply", "replied");
409
- return this.remember(this.requireMessage(created, "reply"));
471
+ const message = this.remember(this.requireMessage(created, "reply"));
472
+ this.report("reply", startedAt, "sent", message.id);
473
+ return message;
410
474
  }
411
475
  async defer(opts) {
412
476
  this.checkLegality("defer");
413
- await this.writeDefer(opts);
477
+ const startedAt = performance.now();
478
+ await this.attempt("defer", startedAt, () => this.writeDefer(opts));
414
479
  this.transition("defer", "deferred-reply");
480
+ this.report("defer", startedAt, "sent", null);
415
481
  }
416
482
  async deferUpdate() {
417
483
  this.checkLegality("deferUpdate");
418
- await this.writeDeferUpdate();
484
+ const startedAt = performance.now();
485
+ await this.attempt("deferUpdate", startedAt, () => this.writeDeferUpdate());
419
486
  this.transition("deferUpdate", "deferred-update");
487
+ this.report("deferUpdate", startedAt, "sent", null);
420
488
  }
421
489
  /**
422
490
  * After a deferUpdate the state stays deferred-update, so the rewrite repeats. The returned message
@@ -425,31 +493,51 @@ var BaseReplySender = class {
425
493
  */
426
494
  async update(response) {
427
495
  this.checkLegality("update");
428
- if (this.state === "deferred-update") return await this.editOriginal(response);
429
- const created = await this.writeUpdate(response);
496
+ const startedAt = performance.now();
497
+ if (this.state === "deferred-update") {
498
+ const edited = await this.attempt("update", startedAt, () => this.editOriginal(response));
499
+ this.report("update", startedAt, "sent", edited.id);
500
+ return edited;
501
+ }
502
+ const created = await this.attempt("update", startedAt, () => this.writeUpdate(response));
430
503
  this.transition("update", "replied");
431
- return this.remember(this.requireMessage(created, "update"));
504
+ const message = this.remember(this.requireMessage(created, "update"));
505
+ this.report("update", startedAt, "sent", message.id);
506
+ return message;
432
507
  }
433
508
  async followUp(response, opts) {
434
509
  this.checkLegality("followUp");
435
- const created = await this.writeFollowUp(response, opts);
436
- return this.remember(created);
510
+ const startedAt = performance.now();
511
+ const created = await this.attempt("followUp", startedAt, () => this.writeFollowUp(response, opts));
512
+ const message = this.remember(created);
513
+ this.report("followUp", startedAt, "sent", message.id);
514
+ return message;
437
515
  }
438
516
  async edit(targetOrResponse, maybeResponse) {
439
517
  this.checkLegality("edit");
440
- if (maybeResponse === void 0) return await this.editOriginal(targetOrResponse);
518
+ const startedAt = performance.now();
519
+ if (maybeResponse === void 0) {
520
+ const edited = await this.attempt("edit", startedAt, () => this.editOriginal(targetOrResponse));
521
+ this.report("edit", startedAt, "sent", edited.id);
522
+ return edited;
523
+ }
441
524
  const target = targetOrResponse;
442
525
  if (!this.sent.has(target.id)) throw new _seedcord_errors_internal.SeedcordError(_seedcord_errors.SeedcordErrorCode.ReplyForeignEditTarget, [
443
526
  "edit",
444
527
  target.id,
445
528
  this.routeId
446
529
  ]);
447
- return this.remember(await this.writeEditTarget(target.id, maybeResponse));
530
+ const written = await this.attempt("edit", startedAt, () => this.writeEditTarget(target.id, maybeResponse));
531
+ const message = this.remember(written);
532
+ this.report("edit", startedAt, "sent", message.id);
533
+ return message;
448
534
  }
449
535
  async delete(target) {
450
536
  this.checkLegality("delete");
537
+ const startedAt = performance.now();
451
538
  if (target === void 0) {
452
- await this.writeDeleteOriginal();
539
+ await this.attempt("delete", startedAt, () => this.writeDeleteOriginal());
540
+ this.report("delete", startedAt, "sent", null);
453
541
  return;
454
542
  }
455
543
  if (!this.sent.has(target.id)) throw new _seedcord_errors_internal.SeedcordError(_seedcord_errors.SeedcordErrorCode.ReplyForeignEditTarget, [
@@ -457,8 +545,9 @@ var BaseReplySender = class {
457
545
  target.id,
458
546
  this.routeId
459
547
  ]);
460
- await this.writeDeleteTarget(target.id);
548
+ await this.attempt("delete", startedAt, () => this.writeDeleteTarget(target.id));
461
549
  this.sent.delete(target.id);
550
+ this.report("delete", startedAt, "sent", null);
462
551
  }
463
552
  /** Routes to the verb the current ack state permits. Every state has a route, so the illegal-ack throw is unreachable. */
464
553
  async send(response, opts) {
@@ -478,8 +567,10 @@ var BaseReplySender = class {
478
567
  const name = modal.constructor?.name;
479
568
  throw translateSerializationError(error, !name || name === "Object" ? "modal" : name, 0, this.routeId);
480
569
  }
481
- await this.writeModal(data);
570
+ const startedAt = performance.now();
571
+ await this.attempt("showModal", startedAt, () => this.writeModal(data));
482
572
  this.transition("showModal", "replied");
573
+ this.report("showModal", startedAt, "sent", null);
483
574
  }
484
575
  serialize(response) {
485
576
  return serializeReply(response, this.routeId);
@@ -507,55 +598,152 @@ var BaseReplySender = class {
507
598
  guardModalSource() {}
508
599
  };
509
600
 
601
+ //#endregion
602
+ //#region src/subscribers/FaultThrottle.ts
603
+ /**
604
+ * Drops duplicate fault reports inside a fixed window, so a recurring fault (a database outage on a
605
+ * hot path) reports once per window and never floods the webhook.
606
+ *
607
+ * @internal
608
+ */
609
+ var FaultThrottle = class FaultThrottle {
610
+ windowMs;
611
+ now;
612
+ static perCore = /* @__PURE__ */ new WeakMap();
613
+ /**
614
+ * The throttle for one bot instance.
615
+ *
616
+ * @internal
617
+ */
618
+ static for(core) {
619
+ let throttle = FaultThrottle.perCore.get(core);
620
+ if (!throttle) {
621
+ throttle = new FaultThrottle();
622
+ FaultThrottle.perCore.set(core, throttle);
623
+ }
624
+ return throttle;
625
+ }
626
+ lastReportedAt = /* @__PURE__ */ new Map();
627
+ constructor(windowMs = 6e4, now = () => Date.now()) {
628
+ this.windowMs = windowMs;
629
+ this.now = now;
630
+ }
631
+ /** Evicts the entry for this key if it has aged out. */
632
+ shouldReport(key) {
633
+ const last = this.lastReportedAt.get(key);
634
+ if (last === void 0) return true;
635
+ if (this.now() - last < this.windowMs) return false;
636
+ this.lastReportedAt.delete(key);
637
+ return true;
638
+ }
639
+ markReported(key) {
640
+ this.lastReportedAt.set(key, this.now());
641
+ }
642
+ clear() {
643
+ this.lastReportedAt.clear();
644
+ }
645
+ };
646
+
647
+ //#endregion
648
+ //#region src/dispatch/dispatchReport.ts
649
+ /**
650
+ * Classifies a caught stop for `interactionDispatched` so a gate and a
651
+ * handler label the same stop identically.
652
+ *
653
+ * @internal
654
+ */
655
+ function outcomeFor(caught) {
656
+ if (caught instanceof require_Silence.Silence) return "refused";
657
+ if (caught instanceof require_Silence.Notice) return caught.report ? "failed" : "refused";
658
+ return "failed";
659
+ }
660
+ /**
661
+ * Discord's interaction creation to now, read from the snowflake. Called at dispatch entry, since
662
+ * a later read would count the handler run into the queue time as well.
663
+ *
664
+ * @internal
665
+ */
666
+ function queuedMsFor(interactionId) {
667
+ try {
668
+ return Date.now() - (0, _seedcord_utils.timestampFromSnowflake)(interactionId);
669
+ } catch {
670
+ return 0;
671
+ }
672
+ }
673
+ /**
674
+ * Builds the `interactionDispatched` payload both transports publish, so the two clocks are read the
675
+ * same way on each.
676
+ *
677
+ * @internal
678
+ */
679
+ function dispatchedPayload(report) {
680
+ return {
681
+ routeId: report.routeId,
682
+ interactionId: report.interactionId,
683
+ kind: report.kind,
684
+ outcome: report.outcome,
685
+ fallback: report.fallback,
686
+ durationMs: performance.now() - report.startedAt,
687
+ queuedMs: report.queuedMs
688
+ };
689
+ }
690
+
510
691
  //#endregion
511
692
  exports.AckTrace = AckTrace;
512
693
  exports.BaseReplySender = BaseReplySender;
513
- exports.CommandMetadataKey = require_permissions.CommandMetadataKey;
514
- exports.ComponentDefsKey = require_permissions.ComponentDefsKey;
515
- exports.EventMetadataKey = require_permissions.EventMetadataKey;
516
- exports.GateNotice = require_permissions.GateNotice;
517
- exports.GatedMetadataKey = require_permissions.GatedMetadataKey;
694
+ exports.CommandMetadataKey = require_publishDefault.CommandMetadataKey;
695
+ exports.ComponentDefsKey = require_Silence.ComponentDefsKey;
696
+ exports.EventMetadataKey = require_publishDefault.EventMetadataKey;
697
+ exports.FaultThrottle = FaultThrottle;
698
+ exports.GateNotice = require_Silence.GateNotice;
699
+ exports.GatedMetadataKey = require_publishDefault.GatedMetadataKey;
518
700
  exports.HmrManager = HmrManager;
519
- exports.InteractionMetadataKey = require_permissions.InteractionMetadataKey;
520
- exports.InteractionRouteKeys = require_permissions.InteractionRouteKeys;
521
- exports.InteractionRoutes = require_permissions.InteractionRoutes;
522
- exports.MiddlewareMetadataKey = require_permissions.MiddlewareMetadataKey;
523
- exports.MissingPermissions = require_permissions.MissingPermissions;
524
- exports.MissingRole = require_permissions.MissingRole;
525
- exports.NeedsAny = require_permissions.NeedsAny;
526
- exports.NotAllowed = require_permissions.NotAllowed;
527
- exports.NotInDm = require_permissions.NotInDm;
528
- exports.NotInGuild = require_permissions.NotInGuild;
529
- exports.NotOwner = require_permissions.NotOwner;
530
- exports.NoticeCard = require_permissions.NoticeCard;
531
- exports.OnCooldown = require_permissions.OnCooldown;
701
+ exports.InteractionMetadataKey = require_publishDefault.InteractionMetadataKey;
702
+ exports.InteractionRouteKeys = require_publishDefault.InteractionRouteKeys;
703
+ exports.InteractionRoutes = require_publishDefault.InteractionRoutes;
704
+ exports.MiddlewareMetadataKey = require_publishDefault.MiddlewareMetadataKey;
705
+ exports.MissingPermissions = require_Silence.MissingPermissions;
706
+ exports.MissingRole = require_Silence.MissingRole;
707
+ exports.NeedsAny = require_Silence.NeedsAny;
708
+ exports.NotAllowed = require_Silence.NotAllowed;
709
+ exports.NotInDm = require_Silence.NotInDm;
710
+ exports.NotInGuild = require_Silence.NotInGuild;
711
+ exports.NotOwner = require_Silence.NotOwner;
712
+ exports.NoticeCard = require_Silence.NoticeCard;
713
+ exports.OnCooldown = require_Silence.OnCooldown;
532
714
  exports.PAGE_MAX = PAGE_MAX;
533
- exports.PermissionNames = require_permissions.PermissionNames;
534
- exports.SubscribeMetadataKey = require_permissions.SubscribeMetadataKey;
535
- exports.WebhookUrlMetadataKey = require_permissions.WebhookUrlMetadataKey;
536
- exports.areRoutes = require_permissions.areRoutes;
715
+ exports.PermissionNames = require_Silence.PermissionNames;
716
+ exports.PublishDefault = require_publishDefault.PublishDefault;
717
+ exports.SubscribeMetadataKey = require_publishDefault.SubscribeMetadataKey;
718
+ exports.WebhookUrlMetadataKey = require_publishDefault.WebhookUrlMetadataKey;
719
+ exports.areRoutes = require_Silence.areRoutes;
720
+ exports.asError = asError;
537
721
  exports.checkAckLegality = checkAckLegality;
538
- exports.contextMenuRouteOf = require_permissions.contextMenuRouteOf;
539
- exports.decodeComponentRoute = require_permissions.decodeComponentRoute;
540
- exports.decodeFor = require_permissions.decodeFor;
541
- exports.deferFlags = deferFlags;
722
+ exports.contextMenuRouteOf = require_Silence.contextMenuRouteOf;
723
+ exports.decodeComponentRoute = require_Silence.decodeComponentRoute;
724
+ exports.decodeFor = require_Silence.decodeFor;
725
+ exports.deferFlags = require_publishDefault.deferFlags;
726
+ exports.dispatchedPayload = dispatchedPayload;
542
727
  exports.getDevChannel = require_devChannel.getDevChannel;
543
- exports.interactionRoutesOf = require_permissions.interactionRoutesOf;
728
+ exports.interactionRoutesOf = require_Silence.interactionRoutesOf;
729
+ exports.outcomeFor = outcomeFor;
544
730
  exports.pageCursor = pageCursor;
545
- exports.pickNotice = require_permissions.pickNotice;
546
- exports.prefixOf = require_permissions.prefixOf;
731
+ exports.pickNotice = require_Silence.pickNotice;
732
+ exports.prefixOf = require_Silence.prefixOf;
733
+ exports.queuedMsFor = queuedMsFor;
734
+ exports.reportedWrite = reportedWrite;
547
735
  exports.routeIdOf = routeIdOf;
548
736
  exports.runGates = runGates;
549
737
  exports.runHandlerGates = runHandlerGates;
550
- exports.selectMenuRouteOf = require_permissions.selectMenuRouteOf;
551
- exports.sendFlags = sendFlags;
738
+ exports.selectMenuRouteOf = require_Silence.selectMenuRouteOf;
739
+ exports.sendFlags = require_publishDefault.sendFlags;
552
740
  exports.sendTarget = sendTarget;
553
741
  exports.serializeReply = serializeReply;
554
- exports.setBotColor = require_permissions.setBotColor;
742
+ exports.setBotColor = require_publishDefault.setBotColor;
555
743
  exports.setDevChannel = require_devChannel.setDevChannel;
556
744
  exports.slowGateMonitor = slowGateMonitor;
557
- exports.storeComponentRoute = require_permissions.storeComponentRoute;
558
- exports.storeInteractionRoute = require_permissions.storeInteractionRoute;
745
+ exports.storeComponentRoute = require_Silence.storeComponentRoute;
746
+ exports.storeInteractionRoute = require_Silence.storeInteractionRoute;
559
747
  exports.translateSerializationError = translateSerializationError;
560
748
  exports.wrapHot = wrapHot;
561
749
  //# sourceMappingURL=internal.index.cjs.map