@seedcord/gateway 0.1.0-next.6 → 0.1.1-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +43 -42
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +52 -28
- package/dist/index.mjs +43 -42
- package/dist/index.mjs.map +1 -1
- package/package.json +15 -15
package/dist/index.cjs
CHANGED
|
@@ -20,7 +20,7 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
20
20
|
}
|
|
21
21
|
return to;
|
|
22
22
|
};
|
|
23
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
23
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp(target, "default", {
|
|
24
24
|
value: mod,
|
|
25
25
|
enumerable: true
|
|
26
26
|
}) : target, mod));
|
|
@@ -549,6 +549,18 @@ var InteractionMiddleware = class extends BaseHandler {
|
|
|
549
549
|
|
|
550
550
|
//#endregion
|
|
551
551
|
//#region src/bot/ReplySender.ts
|
|
552
|
+
function isReplyFile(file) {
|
|
553
|
+
return typeof file === "object" && "data" in file && ArrayBuffer.isView(file.data);
|
|
554
|
+
}
|
|
555
|
+
function toDjsFile(file) {
|
|
556
|
+
if (!isReplyFile(file)) return file;
|
|
557
|
+
return {
|
|
558
|
+
attachment: Buffer.from(file.data),
|
|
559
|
+
name: file.name,
|
|
560
|
+
...file.description !== void 0 && { description: file.description },
|
|
561
|
+
...file.title !== void 0 && { title: file.title }
|
|
562
|
+
};
|
|
563
|
+
}
|
|
552
564
|
function seedState(interaction) {
|
|
553
565
|
if (interaction.deferred && interaction.ephemeral === null) return "deferred-update";
|
|
554
566
|
if (interaction.replied) return "replied";
|
|
@@ -562,10 +574,10 @@ function seedState(interaction) {
|
|
|
562
574
|
var ReplySender = class extends _seedcord_core_internal.BaseReplySender {
|
|
563
575
|
interaction;
|
|
564
576
|
constructor(interaction, routeId, bus) {
|
|
565
|
-
super(routeId,
|
|
577
|
+
super(routeId, {
|
|
566
578
|
bus,
|
|
567
579
|
interactionId: interaction.id
|
|
568
|
-
});
|
|
580
|
+
}, seedState(interaction));
|
|
569
581
|
this.interaction = interaction;
|
|
570
582
|
}
|
|
571
583
|
async writeReply(response, opts) {
|
|
@@ -631,7 +643,7 @@ var ReplySender = class extends _seedcord_core_internal.BaseReplySender {
|
|
|
631
643
|
components: reply.components,
|
|
632
644
|
flags,
|
|
633
645
|
...reply.allowedMentions && { allowedMentions: reply.allowedMentions },
|
|
634
|
-
...reply.files && { files:
|
|
646
|
+
...reply.files && { files: reply.files.map(toDjsFile) }
|
|
635
647
|
};
|
|
636
648
|
}
|
|
637
649
|
editOptions(response) {
|
|
@@ -640,7 +652,7 @@ var ReplySender = class extends _seedcord_core_internal.BaseReplySender {
|
|
|
640
652
|
components: reply.components,
|
|
641
653
|
flags: discord_js.MessageFlags.IsComponentsV2,
|
|
642
654
|
...reply.allowedMentions && { allowedMentions: reply.allowedMentions },
|
|
643
|
-
...reply.files && { files:
|
|
655
|
+
...reply.files && { files: reply.files.map(toDjsFile) }
|
|
644
656
|
};
|
|
645
657
|
}
|
|
646
658
|
updateOptions(response) {
|
|
@@ -649,7 +661,7 @@ var ReplySender = class extends _seedcord_core_internal.BaseReplySender {
|
|
|
649
661
|
components: reply.components,
|
|
650
662
|
flags: discord_js.MessageFlags.IsComponentsV2,
|
|
651
663
|
...reply.allowedMentions && { allowedMentions: reply.allowedMentions },
|
|
652
|
-
...reply.files && { files:
|
|
664
|
+
...reply.files && { files: reply.files.map(toDjsFile) }
|
|
653
665
|
};
|
|
654
666
|
}
|
|
655
667
|
createdMessage(result) {
|
|
@@ -1505,7 +1517,7 @@ function interactionKind(interaction) {
|
|
|
1505
1517
|
|
|
1506
1518
|
//#endregion
|
|
1507
1519
|
//#region src/bot/handleEventFault.ts
|
|
1508
|
-
const logger$1 = new _seedcord_logger.Logger("
|
|
1520
|
+
const logger$1 = new _seedcord_logger.Logger("Faults", { channel: "errors" });
|
|
1509
1521
|
/**
|
|
1510
1522
|
* The event controller boundary. Reports a throw from an event handler and never replies, since a
|
|
1511
1523
|
* generic event has no reply target. A {@link Silence} or a non-reporting {@link Notice} stops quietly, a
|
|
@@ -1607,11 +1619,11 @@ var EventDispatcher = class {
|
|
|
1607
1619
|
utils.summary("Loaded", {
|
|
1608
1620
|
"event handlers": this.loadedHandlers.length,
|
|
1609
1621
|
middlewares: this.loadedMiddlewares.length
|
|
1610
|
-
});
|
|
1611
|
-
if (this.loadedMiddlewares.length > 0) utils.block("Loaded event middlewares", utils.entries(this.loadedMiddlewares));
|
|
1622
|
+
}, "debug");
|
|
1623
|
+
if (this.loadedMiddlewares.length > 0) utils.block("Loaded event middlewares", utils.entries(this.loadedMiddlewares), "debug");
|
|
1612
1624
|
const perEvent = {};
|
|
1613
1625
|
for (const [event, handlers] of this.eventMap) perEvent[event] = handlers.length;
|
|
1614
|
-
utils.block("Loaded event handlers", [...utils.entries(this.loadedHandlers), ...utils.counts(perEvent)]);
|
|
1626
|
+
utils.block("Loaded event handlers", [...utils.entries(this.loadedHandlers), ...utils.counts(perEvent)], "debug");
|
|
1615
1627
|
}
|
|
1616
1628
|
async loadHandlers(dir) {
|
|
1617
1629
|
await (0, _seedcord_utils_node.traverseDirectory)(dir, (fullPath, relativePath, imported) => {
|
|
@@ -1661,14 +1673,10 @@ var EventDispatcher = class {
|
|
|
1661
1673
|
...metadata.events && { events: metadata.events }
|
|
1662
1674
|
});
|
|
1663
1675
|
this.middlewares.sort((a, b) => a.priority - b.priority);
|
|
1664
|
-
if (this.loading) {
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
});
|
|
1669
|
-
return;
|
|
1670
|
-
}
|
|
1671
|
-
this.logger.utils.registration(`${middlewareCtor.name} ${_seedcord_logger.paint.mute(`(${metadata.priority})`)}`, relativePath, "event middleware");
|
|
1676
|
+
if (this.loading) this.loadedMiddlewares.push({
|
|
1677
|
+
name: `${middlewareCtor.name} (${metadata.priority})`,
|
|
1678
|
+
from: (0, _seedcord_utils.formatFilePath)(relativePath)
|
|
1679
|
+
});
|
|
1672
1680
|
}
|
|
1673
1681
|
async runMiddlewares(eventName, args) {
|
|
1674
1682
|
for (const { ctor, events } of this.middlewares) {
|
|
@@ -1714,7 +1722,6 @@ var EventDispatcher = class {
|
|
|
1714
1722
|
name: handlerClass.name,
|
|
1715
1723
|
from
|
|
1716
1724
|
});
|
|
1717
|
-
else this.logger.utils.registration(handlerClass.name, from);
|
|
1718
1725
|
}
|
|
1719
1726
|
attachToClient() {
|
|
1720
1727
|
for (const [eventName] of this.eventMap) this.attachListener(eventName);
|
|
@@ -1763,7 +1770,8 @@ var EventDispatcher = class {
|
|
|
1763
1770
|
try {
|
|
1764
1771
|
this.logger.debug(`Processing ${_seedcord_logger.paint.mint.bold(eventName)} with ${_seedcord_logger.paint.mute(ctor.name)}`);
|
|
1765
1772
|
const handler = new ctor(args, this.core, eventName);
|
|
1766
|
-
|
|
1773
|
+
const eventCtx = eventGateContext(eventName, args, this.core);
|
|
1774
|
+
await (0, _seedcord_core_internal.runHandlerGates)(ctor, eventCtx);
|
|
1767
1775
|
await handler.execute();
|
|
1768
1776
|
} catch (caught) {
|
|
1769
1777
|
handleEventFault(caught, String(eventName), ctor.name, args, this.core);
|
|
@@ -1801,7 +1809,7 @@ var UnhandledAutocomplete = class extends AutocompleteHandler {
|
|
|
1801
1809
|
*
|
|
1802
1810
|
* @internal
|
|
1803
1811
|
*/
|
|
1804
|
-
const HARMLESS_API_CODES = new Set([
|
|
1812
|
+
const HARMLESS_API_CODES = /* @__PURE__ */ new Set([
|
|
1805
1813
|
discord_js.RESTJSONErrorCodes.UnknownInteraction,
|
|
1806
1814
|
discord_js.RESTJSONErrorCodes.InteractionHasAlreadyBeenAcknowledged,
|
|
1807
1815
|
discord_js.RESTJSONErrorCodes.UnknownMessage
|
|
@@ -1809,7 +1817,7 @@ const HARMLESS_API_CODES = new Set([
|
|
|
1809
1817
|
|
|
1810
1818
|
//#endregion
|
|
1811
1819
|
//#region src/bot/handleInteractionFault.ts
|
|
1812
|
-
const logger = new _seedcord_logger.Logger("
|
|
1820
|
+
const logger = new _seedcord_logger.Logger("Faults", { channel: "errors" });
|
|
1813
1821
|
/**
|
|
1814
1822
|
* The interaction controller boundary. Sorts a throw from any handler-lifecycle phase into the right
|
|
1815
1823
|
* user reply plus the right bus event. When a handler is built its sender is passed in, so the boundary
|
|
@@ -1977,8 +1985,8 @@ var InteractionDispatcher = class {
|
|
|
1977
1985
|
utils.summary("Loaded", {
|
|
1978
1986
|
"interaction handlers": this.loadedHandlers.length,
|
|
1979
1987
|
middlewares: this.loadedMiddlewares.length
|
|
1980
|
-
});
|
|
1981
|
-
if (this.loadedMiddlewares.length > 0) utils.block("Loaded middlewares", utils.entries(this.loadedMiddlewares));
|
|
1988
|
+
}, "debug");
|
|
1989
|
+
if (this.loadedMiddlewares.length > 0) utils.block("Loaded middlewares", utils.entries(this.loadedMiddlewares), "debug");
|
|
1982
1990
|
utils.block("Loaded interaction handlers", [...utils.entries(this.loadedHandlers), ...utils.counts({
|
|
1983
1991
|
slash: this.slashMap.size,
|
|
1984
1992
|
buttons: this.buttonMap.size,
|
|
@@ -1991,7 +1999,7 @@ var InteractionDispatcher = class {
|
|
|
1991
1999
|
"message menus": this.messageContextMenuMap.size,
|
|
1992
2000
|
"user menus": this.userContextMenuMap.size,
|
|
1993
2001
|
autocomplete: this.autocompleteMap.size
|
|
1994
|
-
})]);
|
|
2002
|
+
})], "debug");
|
|
1995
2003
|
}
|
|
1996
2004
|
async loadHandlers(dir) {
|
|
1997
2005
|
await (0, _seedcord_utils_node.traverseDirectory)(dir, (fullPath, relativePath, imported) => {
|
|
@@ -2021,14 +2029,10 @@ var InteractionDispatcher = class {
|
|
|
2021
2029
|
priority: metadata.priority
|
|
2022
2030
|
});
|
|
2023
2031
|
this.middlewares.sort((a, b) => a.priority - b.priority);
|
|
2024
|
-
if (this.loading) {
|
|
2025
|
-
|
|
2026
|
-
|
|
2027
|
-
|
|
2028
|
-
});
|
|
2029
|
-
return;
|
|
2030
|
-
}
|
|
2031
|
-
this.logger.utils.registration(`${middlewareCtor.name} ${_seedcord_logger.paint.mute(`(${metadata.priority})`)}`, relativePath, "middleware");
|
|
2032
|
+
if (this.loading) this.loadedMiddlewares.push({
|
|
2033
|
+
name: `${middlewareCtor.name} (${metadata.priority})`,
|
|
2034
|
+
from: (0, _seedcord_utils.formatFilePath)(relativePath)
|
|
2035
|
+
});
|
|
2032
2036
|
}
|
|
2033
2037
|
isHandlerClass(obj) {
|
|
2034
2038
|
if (typeof obj !== "function") return false;
|
|
@@ -2061,7 +2065,6 @@ var InteractionDispatcher = class {
|
|
|
2061
2065
|
name: handlerClass.name,
|
|
2062
2066
|
from
|
|
2063
2067
|
});
|
|
2064
|
-
else this.logger.utils.registration(handlerClass.name, from);
|
|
2065
2068
|
}
|
|
2066
2069
|
/** @internal For use in dev mode */
|
|
2067
2070
|
async onHmr(event) {
|
|
@@ -2121,7 +2124,7 @@ var InteractionDispatcher = class {
|
|
|
2121
2124
|
const report = (outcome) => {
|
|
2122
2125
|
if (reported) return;
|
|
2123
2126
|
reported = true;
|
|
2124
|
-
|
|
2127
|
+
(0, _seedcord_core_internal.reportDispatch)(this.core.bus, {
|
|
2125
2128
|
routeId,
|
|
2126
2129
|
interactionId: interaction.id,
|
|
2127
2130
|
kind,
|
|
@@ -2129,7 +2132,7 @@ var InteractionDispatcher = class {
|
|
|
2129
2132
|
startedAt,
|
|
2130
2133
|
fallback: !matched,
|
|
2131
2134
|
queuedMs
|
|
2132
|
-
})
|
|
2135
|
+
});
|
|
2133
2136
|
};
|
|
2134
2137
|
let sender;
|
|
2135
2138
|
try {
|
|
@@ -2211,9 +2214,7 @@ var InteractionDispatcher = class {
|
|
|
2211
2214
|
case interaction.isAutocomplete():
|
|
2212
2215
|
await this.handleAutocomplete(interaction);
|
|
2213
2216
|
break;
|
|
2214
|
-
default:
|
|
2215
|
-
this.logger.warn(`Unhandled interaction type: ${interaction.type}`);
|
|
2216
|
-
break;
|
|
2217
|
+
default: this.logger.warn(`Unhandled interaction type: ${interaction.type}`);
|
|
2217
2218
|
}
|
|
2218
2219
|
}
|
|
2219
2220
|
async handleSlashCommand(interaction) {
|
|
@@ -2254,7 +2255,7 @@ var InteractionDispatcher = class {
|
|
|
2254
2255
|
};
|
|
2255
2256
|
|
|
2256
2257
|
//#endregion
|
|
2257
|
-
//#region \0@oxc-project+runtime@0.
|
|
2258
|
+
//#region \0@oxc-project+runtime@0.142.0/helpers/esm/decorate.js
|
|
2258
2259
|
function __decorate(decorators, target, key, desc) {
|
|
2259
2260
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
2260
2261
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -2369,7 +2370,7 @@ __decorate([(0, envapt_legacy.Envapt)("DISCORD_BOT_TOKEN", { converter: (raw) =>
|
|
|
2369
2370
|
//#endregion
|
|
2370
2371
|
//#region src/version.ts
|
|
2371
2372
|
/** Package version */
|
|
2372
|
-
const version = "0.1.
|
|
2373
|
+
const version = "0.1.1-next.0";
|
|
2373
2374
|
|
|
2374
2375
|
//#endregion
|
|
2375
2376
|
//#region src/Seedcord.ts
|
|
@@ -2421,7 +2422,7 @@ var Seedcord = class Seedcord extends _seedcord_core_node_internal.Pluggable {
|
|
|
2421
2422
|
}
|
|
2422
2423
|
static reset() {
|
|
2423
2424
|
super.reset();
|
|
2424
|
-
_seedcord_logger.LoggerChannelRegistry.instance.
|
|
2425
|
+
_seedcord_logger.LoggerChannelRegistry.instance.configure({});
|
|
2425
2426
|
}
|
|
2426
2427
|
registerStartupTasks() {
|
|
2427
2428
|
if (envapt.Envapter.isDevelopment || envapt.Envapter.isTest) this.registerHmrAwareModules();
|