@seedcord/core 0.10.0 → 0.11.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 (63) hide show
  1. package/README.md +27 -9
  2. package/dist/CoordinatedShutdown-H5YjZn8A.d.mts +78 -0
  3. package/dist/CoordinatedStartup-CGnJrqcl.mjs +168 -0
  4. package/dist/CoordinatedStartup-CGnJrqcl.mjs.map +1 -0
  5. package/dist/{HmrModuleHandler-DOAtah3j.mjs → HmrModuleHandler-8ZC-UuZh.mjs} +9 -22
  6. package/dist/HmrModuleHandler-8ZC-UuZh.mjs.map +1 -0
  7. package/dist/PluginHost-B8kxLOeb.mjs +245 -0
  8. package/dist/PluginHost-B8kxLOeb.mjs.map +1 -0
  9. package/dist/{Plugin-Dhx_ivqj.d.mts → PluginHost-DB4j8unu.d.mts} +110 -17
  10. package/dist/PluginLifecycle-AhQ46NIr.mjs +158 -0
  11. package/dist/PluginLifecycle-AhQ46NIr.mjs.map +1 -0
  12. package/dist/ServerHost-CtmAhEXn.mjs +168 -0
  13. package/dist/ServerHost-CtmAhEXn.mjs.map +1 -0
  14. package/dist/ServerHost-DYeh0KTk.d.mts +40 -0
  15. package/dist/bindViteEnv-BgFewlZ0.d.mts +11 -0
  16. package/dist/bindViteEnv-DWq5rftJ.mjs +88 -0
  17. package/dist/bindViteEnv-DWq5rftJ.mjs.map +1 -0
  18. package/dist/env-internal.index.d.mts +2 -0
  19. package/dist/env-internal.index.mjs +3 -0
  20. package/dist/hmr.index.d.mts +0 -1
  21. package/dist/hmr.index.mjs +1 -1
  22. package/dist/{cursor-BTU5bGoo.d.mts → index-Du71Xx69.d.mts} +253 -6
  23. package/dist/index.d.mts +19 -84
  24. package/dist/index.mjs +17 -37
  25. package/dist/index.mjs.map +1 -1
  26. package/dist/internal.index.d.mts +186 -22
  27. package/dist/internal.index.mjs +714 -19
  28. package/dist/internal.index.mjs.map +1 -1
  29. package/dist/node-internal.index.d.mts +25 -70
  30. package/dist/node-internal.index.mjs +83 -297
  31. package/dist/node-internal.index.mjs.map +1 -1
  32. package/dist/node.index.d.mts +3 -2
  33. package/dist/node.index.mjs +53 -200
  34. package/dist/node.index.mjs.map +1 -1
  35. package/dist/{phases-D_zQBXga.d.mts → phases-FTM69J3a.d.mts} +4 -4
  36. package/dist/plugin.index.d.mts +2 -2
  37. package/dist/plugin.index.mjs +2 -2
  38. package/dist/publishDefault-D3dAyzZ9.mjs +7 -0
  39. package/dist/publishDefault-D3dAyzZ9.mjs.map +1 -0
  40. package/dist/subscribers-Ce3SWy23.mjs +1913 -0
  41. package/dist/subscribers-Ce3SWy23.mjs.map +1 -0
  42. package/package.json +24 -17
  43. package/dist/Bus-BxPa-Uvp.mjs +0 -866
  44. package/dist/Bus-BxPa-Uvp.mjs.map +0 -1
  45. package/dist/HmrModuleHandler-DOAtah3j.mjs.map +0 -1
  46. package/dist/Pluggable-CwKbLui3.d.mts +0 -162
  47. package/dist/Pluggable-afy2H0Dr.mjs +0 -339
  48. package/dist/Pluggable-afy2H0Dr.mjs.map +0 -1
  49. package/dist/Plugin-CmNW5n6a.mjs +0 -122
  50. package/dist/Plugin-CmNW5n6a.mjs.map +0 -1
  51. package/dist/contextMenuLeaves-COzDYa6c.d.mts +0 -17
  52. package/dist/cursor-CgNBnJfu.mjs +0 -802
  53. package/dist/cursor-CgNBnJfu.mjs.map +0 -1
  54. package/dist/devChannel-CQU7hq7Q.mjs +0 -14
  55. package/dist/devChannel-CQU7hq7Q.mjs.map +0 -1
  56. package/dist/index-B_-EjyvS.d.mts +0 -135
  57. package/dist/publishDefault-BuSZPbjT.mjs +0 -14
  58. package/dist/publishDefault-BuSZPbjT.mjs.map +0 -1
  59. package/dist/slashRouteLeaves-k1hJnXDO.mjs +0 -31
  60. package/dist/slashRouteLeaves-k1hJnXDO.mjs.map +0 -1
  61. package/dist/subscribers-xGy7a7xR.mjs +0 -167
  62. package/dist/subscribers-xGy7a7xR.mjs.map +0 -1
  63. package/dist/types-BG0BimVr.d.mts +0 -13
@@ -1,18 +1,37 @@
1
- import { A as RegisteredCount, B as InteractionMetadataKey, C as AckState, D as AckTrace, E as sendTarget, F as CommandMetadataKey, G as WebhookUrlMetadataKey, H as InteractionRouteKeys, I as EventMetadataKey, K as Notice, L as EventMiddlewareMetadataKey, M as VerifyWebhooks, N as PublishDefault, O as RegisterDefaults, R as GatedMetadataKey, S as reportedWrite, T as checkAckLegality, U as MiddlewareKind, V as InteractionMiddlewareMetadataKey, W as SubscribeMetadataKey, a as StoredSubscriberCtor, c as registrationFor, d as DefaultSubscriptions, f as DispatchOutcome, i as Bus, j as UnregisterSubscriber, k as RegisterSubscriber, o as SubscriberRegistration, s as busLoggerOf, w as ReplyMethod, x as ReplyTelemetry, z as InteractionKind } from "./phases-D_zQBXga.mjs";
2
- import { A as serializeReply, B as AutocompleteRouteBrand, C as Gate, F as AnyMiddlewareCtor, G as MiddlewareKindsBrand, H as ComponentKindBrand, I as InteractionMiddlewareMetadata, K as SlashRouteBrand, M as EventDispatchResult, P as HandlerResult, U as ContextMenuKindBrand, V as ComponentDefsBrand, W as ContextMenuNamesBrand, X as BuilderComponent, _ as pickNotice, at as SlashRouteEntry, c as FocusedField, et as CacheFor, i as AutocompletableNames, it as SlashRegistry, j as DispatchResult, k as SerializedReply, lt as NamesFor, m as PermissionNames, n as PageCursor, nt as RouteCache, o as ChoiceValueOf, ot as ContextMenuKind, q as CommandMeta, r as pageCursor, rt as SlashOption, s as EntryFor, st as MenuCacheFor, t as PAGE_MAX, tt as OptionKind, v as GateFitsWith, w as GateContextBase, z as interactionMiddlewareMetaOf } from "./cursor-BTU5bGoo.mjs";
3
- import { n as DeployResult, t as CommandBuilder } from "./types-BG0BimVr.mjs";
4
- import { i as Initializeable, o as PluginArgs, s as PluginCtor } from "./Plugin-Dhx_ivqj.mjs";
5
- import { n as contextMenuLeaves, t as ContextMenuLeaves } from "./contextMenuLeaves-COzDYa6c.mjs";
1
+ import { t as bindEnv } from "./bindViteEnv-BgFewlZ0.mjs";
2
+ import { A as RegisteredCount, B as InteractionMetadataKey, C as AckState, D as AckTrace, E as sendTarget, F as CommandMetadataKey, G as WebhookUrlMetadataKey, H as InteractionRouteKeys, I as EventMetadataKey, K as Notice, L as EventMiddlewareMetadataKey, M as VerifyWebhooks, N as PublishDefault, O as RegisterDefaults, R as GatedMetadataKey, S as reportedWrite, T as checkAckLegality, U as MiddlewareKind, V as InteractionMiddlewareMetadataKey, W as SubscribeMetadataKey, a as StoredSubscriberCtor, c as registrationFor, d as DefaultSubscriptions, f as DispatchOutcome, i as Bus, j as UnregisterSubscriber, k as RegisterSubscriber, o as SubscriberRegistration, r as CoreBase, s as busLoggerOf, w as ReplyMethod, x as ReplyTelemetry, z as InteractionKind } from "./phases-FTM69J3a.mjs";
3
+ import { $ as SlashRouteBrand, A as Gate, At as CacheFor, Ct as CommandMeta, Et as BuilderComponent, Ft as SlashRouteEntry, H as AnyMiddlewareCtor, I as SerializedReply, It as ContextMenuKind, J as ComponentDefsBrand, K as interactionMiddlewareMetaOf, L as serializeReply, Lt as MenuCacheFor, Mt as RouteCache, Nt as SlashOption, Pt as SlashRegistry, Q as MiddlewareKindsBrand, R as DispatchResult, St as resolveDeployTarget, T as GateFitsWith, U as InteractionMiddlewareMetadata, V as HandlerResult, X as ContextMenuKindBrand, Y as ComponentKindBrand, Z as ContextMenuNamesBrand, _t as ScopeId, bt as scopeIdsOf, c as PageCursor, ct as CommandRef, dt as commandRefOf, f as ChoiceValueOf, ft as indexById, gt as GLOBAL_ID, h as ResolvedEmoji, ht as DeployResult, j as GateContextBase, jt as OptionKind, l as pageCursor, lt as LinkedCommands, m as FocusedField, mt as CommandBuilder, ot as installLinks, p as EntryFor, pt as linkCommands, q as AutocompleteRouteBrand, s as PAGE_MAX, st as warnLinks, u as AutocompletableNames, ut as commandKey, vt as commandsRoute, w as pickNotice, x as PermissionNames, xt as skippedNote, yt as globalFirst, z as EventDispatchResult, zt as NamesFor } from "./index-Du71Xx69.mjs";
4
+ import { a as FixedScope, c as PluginArgs, i as sealAttachments, l as PluginCtor, o as Initializeable, r as attachmentsOf, t as Attachment } from "./PluginHost-DB4j8unu.mjs";
5
+ import { n as CoordinatedStartup, t as CoordinatedShutdown } from "./CoordinatedShutdown-H5YjZn8A.mjs";
6
6
  import "reflect-metadata";
7
7
  import { AnyCustomId, DecodedParams } from "@seedcord/custom-id";
8
8
  import { ContextMenuCommandBuilder, SlashCommandBuilder } from "@discordjs/builders";
9
- import { ChannelType } from "discord-api-types/v10";
9
+ import { APIApplicationCommand, ChannelType, RESTGetCurrentApplicationResult, RESTPostAPIApplicationCommandsJSONBody } from "discord-api-types/v10";
10
10
  import { SeedcordErrorCode } from "@seedcord/errors";
11
- import { SeedcordError } from "@seedcord/errors/internal";
11
+ import { BotToken, SeedcordError } from "@seedcord/errors/internal";
12
12
  import { Logger } from "@seedcord/logger";
13
- import { DevChannel, SeedcordCliEvents, SeedcordFrameworkEvents } from "@seedcord/types/internal";
14
- import { BotColor, DeferOpts, EpochMs, HmrAware, ReplyResponse, SendOpts } from "@seedcord/types";
13
+ import { REST } from "@discordjs/rest";
14
+ import { DeployedHashes, DevChannel, SeedcordCliEvents, SeedcordFrameworkEvents, WireError } from "@seedcord/types/internal";
15
+ import { BotColor, DeferOpts, EpochMs, ErrorsConfig, HmrAware, HmrUpdateEvent, ILogger, LogRecord, ReplyResponse, SendOpts } from "@seedcord/types";
15
16
  import { Constructor, IsNever, Promisable } from "type-fest";
17
+ //#region src/subscribers/SubscriberLoader.d.ts
18
+ export declare class SubscriberLoader implements Initializeable, HmrAware {
19
+ private readonly bus;
20
+ private readonly directory;
21
+ private isInitialized;
22
+ private readonly hmrHandler?;
23
+ constructor(bus: Bus, directory: string | null);
24
+ /** @internal */
25
+ init(): Promise<void>;
26
+ /** @internal */
27
+ onHmr(event: HmrUpdateEvent): Promise<void>;
28
+ private load;
29
+ private registerSubscriber;
30
+ private unregisterSubscriber;
31
+ private getArtifacts;
32
+ private isSubscriber;
33
+ }
34
+ //#endregion
16
35
  //#region src/dispatch/MiddlewareRegistry.d.ts
17
36
  /**
18
37
  * A decorated middleware reduced to what the registry orders and filters on. An absent `keys` puts the
@@ -49,8 +68,6 @@ export declare class MiddlewareRegistry<Ctor extends AnyMiddlewareCtor, Key exte
49
68
  /**
50
69
  * Adds a decorated middleware class and returns what it registered with. Returns `undefined` for an
51
70
  * undecorated class or one already registered.
52
- *
53
- * @throws A **SeedcordError** If another class with the same name is registered.
54
71
  */
55
72
  register(ctor: Ctor): MiddlewareRegistration<Key> | undefined;
56
73
  unregister(ctor: Ctor): void;
@@ -61,9 +78,33 @@ export declare class MiddlewareRegistry<Ctor extends AnyMiddlewareCtor, Key exte
61
78
  //#region src/components/botColorHolder.d.ts
62
79
  export declare function bindBotColor(read: () => BotColor | undefined): void;
63
80
  //#endregion
81
+ //#region src/notices/logUnknownFault.d.ts
82
+ export declare function logUnknownFault(logger: Logger, uuid: string, error: Error, errors: ErrorsConfig | undefined): void;
83
+ //#endregion
84
+ //#region src/lifecycle/PluginLifecycle.d.ts
85
+ export declare class PluginLifecycle {
86
+ private readonly startup;
87
+ private readonly shutdown;
88
+ private readonly logger;
89
+ private readonly completedInits;
90
+ private readonly disposePhases;
91
+ private readonly timedOutInits;
92
+ private attachments;
93
+ private registered;
94
+ constructor(startup: Pick<CoordinatedStartup, 'addTask'>, shutdown: Pick<CoordinatedShutdown, 'addTask'>);
95
+ register(attachments: readonly Attachment[]): void;
96
+ rollback(): Promise<void>;
97
+ afterTimedOutInits(run: () => void): void;
98
+ private runInits;
99
+ private disposeWhenInitResolves;
100
+ private registerReadyTask;
101
+ private registerDisposeTask;
102
+ private runDisposals;
103
+ private disposeCompleted;
104
+ }
105
+ //#endregion
64
106
  //#region src/decorators/interactionRoutes.d.ts
65
107
  type RoutableConstructor = new (...args: never[]) => unknown;
66
- export declare function areRoutes(routes: unknown): routes is string[];
67
108
  export declare function interactionRoutesOf(constructor: RoutableConstructor): [InteractionKind, string[]][];
68
109
  export declare function storeInteractionRoute(route: InteractionKind, routes: string | readonly string[], constructor: RoutableConstructor): void;
69
110
  export declare function storeComponentRoute(route: InteractionKind, defs: readonly AnyCustomId[], constructor: RoutableConstructor): void;
@@ -93,6 +134,124 @@ export declare function guardedAccessor<Value>(accessor: string, storage: Record
93
134
  //#region src/miscellaneous/emojiConfig.d.ts
94
135
  export declare function isEmojiTuple(value: unknown): value is readonly [string, string];
95
136
  //#endregion
137
+ //#region src/miscellaneous/currentApplication.d.ts
138
+ export declare function currentApplication(rest: Pick<REST, 'get'>): Promise<RESTGetCurrentApplicationResult>;
139
+ //#endregion
140
+ //#region src/miscellaneous/readBotToken.d.ts
141
+ export declare function readBotToken(): BotToken;
142
+ //#endregion
143
+ //#region src/miscellaneous/resolveEmojis.d.ts
144
+ type EmojiRest = Pick<REST, 'get'>;
145
+ export declare function resolveEmojis(rest: EmojiRest, applicationId: string, configured: Readonly<Record<string, unknown>>): Promise<Record<string, ResolvedEmoji>>;
146
+ //#endregion
147
+ //#region src/bakedIds.d.ts
148
+ export declare const BAKED_IDS_KEY = "seedcord:core:baked-ids";
149
+ interface BakedIds {
150
+ readonly publicKey: string;
151
+ readonly emojis: Readonly<Record<string, Pick<ResolvedEmoji, 'name' | 'id' | 'animated'>>>;
152
+ readonly commands: LinkedCommands['commands'];
153
+ readonly contextMenus: LinkedCommands['contextMenus'];
154
+ }
155
+ //#endregion
156
+ //#region src/commands/contextMenuLeaves.d.ts
157
+ interface ContextMenuLeaves {
158
+ readonly user: Set<string>;
159
+ readonly message: Set<string>;
160
+ }
161
+ export declare function contextMenuLeaves(commands: Iterable<RESTPostAPIApplicationCommandsJSONBody>): ContextMenuLeaves;
162
+ //#endregion
163
+ //#region src/commands/CommandRegistry.d.ts
164
+ interface RouteWarnings {
165
+ warnUnhandledRoutes(leaves: Iterable<string>): void;
166
+ warnUnhandledContextMenuRoutes(leaves: ContextMenuLeaves): void;
167
+ }
168
+ interface DeployHooks {
169
+ routes?: RouteWarnings | undefined;
170
+ check?: (commands: CommandBuilder[]) => void;
171
+ }
172
+ export declare const COMMAND_DEPLOY_TIMEOUT_MS = 75000;
173
+ /**
174
+ * Scans the command directory, builds each command, and PUTs the global and guild scopes to Discord.
175
+ *
176
+ * @internal
177
+ */
178
+ export declare class CommandRegistry implements Initializeable, HmrAware {
179
+ private readonly core;
180
+ private readonly logger;
181
+ private isInitialised;
182
+ readonly scopedCommands: Map<ScopeId, CommandBuilder[]>;
183
+ private readonly ctorToCommand;
184
+ private loading;
185
+ private readonly loadedCommands;
186
+ private readonly hmrHandler?;
187
+ private readonly pendingEvents;
188
+ private readonly injector;
189
+ private readonly lastDeploy;
190
+ private readonly reporter;
191
+ private readonly dir;
192
+ private readonly configuredGuilds;
193
+ constructor(core: CoreBase);
194
+ private getArtifacts;
195
+ /** @internal */
196
+ init(): Promise<void>;
197
+ private reportLoad;
198
+ /** @internal */
199
+ refresh(shouldRefresh?: boolean): Promise<void>;
200
+ /** @internal */
201
+ onHmr(event: HmrUpdateEvent): Promise<void>;
202
+ private loadCommands;
203
+ private registerCommand;
204
+ private unregisterCommand;
205
+ /** @internal */
206
+ deploy(signal: AbortSignal, { routes, check }: DeployHooks): Promise<void>;
207
+ /** @internal */
208
+ setCommands(signal?: AbortSignal): Promise<DeployResult>;
209
+ private commandBodies;
210
+ private allCommands;
211
+ private routeLeaves;
212
+ private contextMenuLeaves;
213
+ }
214
+ //#endregion
215
+ //#region src/commands/putCommands.d.ts
216
+ type CommandBody = RESTPostAPIApplicationCommandsJSONBody;
217
+ type CommandScopes = ReadonlyMap<ScopeId, readonly CommandBody[]>;
218
+ interface PutCommandsOptions {
219
+ readonly rest: Pick<REST, 'put' | 'on' | 'off'>;
220
+ readonly applicationId: string;
221
+ readonly logger: Pick<ILogger, 'warn'>;
222
+ readonly signal?: AbortSignal | undefined;
223
+ readonly onDeployed?: (scope: ScopeId, commands: readonly CommandBody[]) => void;
224
+ }
225
+ export declare function putCommands(scopes: CommandScopes, options: PutCommandsOptions): Promise<DeployResult>;
226
+ //#endregion
227
+ //#region src/commands/readCommands.d.ts
228
+ interface ReadCommandsOptions {
229
+ readonly rest: Pick<REST, 'get'>;
230
+ readonly applicationId: string;
231
+ readonly signal?: AbortSignal | undefined;
232
+ }
233
+ export declare function readCommandsAt(scope: ScopeId, { rest, applicationId, signal }: ReadCommandsOptions): Promise<Map<string, APIApplicationCommand>>;
234
+ export declare function readCommands(scopes: Iterable<ScopeId>, options: ReadCommandsOptions): Promise<DeployResult>;
235
+ //#endregion
236
+ //#region src/commands/planDeploy.d.ts
237
+ type ScopeHashes = DeployedHashes['scopes'];
238
+ interface DeployPlan {
239
+ hashes: ScopeHashes;
240
+ skippedHashes: ScopeHashes;
241
+ toPut: CommandScopes;
242
+ skipped: ScopeId[];
243
+ onDiscord: DeployResult;
244
+ }
245
+ export declare function planDeploy(scopes: CommandScopes, last: ScopeHashes | undefined, readUnchanged: (scopes: ScopeId[]) => Promise<DeployResult>): Promise<DeployPlan>;
246
+ //#endregion
247
+ //#region src/commands/guildSummaries.d.ts
248
+ interface GuildSummary {
249
+ id: string;
250
+ name: string;
251
+ }
252
+ type ReadRest = Pick<REST, 'get'>;
253
+ export declare function guildSummaries(rest: ReadRest, guildIds: Iterable<string>, knownNames?: ReadonlyMap<string, string>): Promise<GuildSummary[]>;
254
+ //#endregion
96
255
  //#region src/commands/isCommandClass.d.ts
97
256
  /** @internal */
98
257
  type CommandCtor = Constructor<BuilderComponent<'command' | 'context_menu'>, never[]>;
@@ -110,18 +269,18 @@ export declare function isCommandClass(value: unknown): value is CommandCtor;
110
269
  export declare function slashRouteLeaves(commands: Iterable<SlashCommandBuilder | ContextMenuCommandBuilder>): Set<string>;
111
270
  //#endregion
112
271
  //#region src/hmr/devChannel.d.ts
272
+ type CliChannel = DevChannel<SeedcordFrameworkEvents, SeedcordCliEvents>;
113
273
  /** @internal */
114
- export declare function setDevChannel(next: DevChannel<SeedcordFrameworkEvents, SeedcordCliEvents> | undefined): void;
274
+ export declare function setDevChannel(next: CliChannel | undefined): void;
115
275
  /** @internal */
116
- export declare function getDevChannel(): DevChannel<SeedcordFrameworkEvents, SeedcordCliEvents> | undefined;
276
+ export declare function getDevChannel(): CliChannel | undefined;
117
277
  //#endregion
118
278
  //#region src/hmr/HmrManager.d.ts
279
+ export declare function connectDevChannel(): CliChannel | undefined;
119
280
  export declare class HmrManager {
120
281
  private readonly logger;
121
282
  private readonly listeners;
122
- /** @internal */
123
- init(): void;
124
- /** @internal */
283
+ init(channel: CliChannel | undefined): void;
125
284
  register(listener: HmrAware): void;
126
285
  private handleUpdate;
127
286
  }
@@ -130,10 +289,19 @@ export declare class HmrManager {
130
289
  interface RawHot {
131
290
  send(event: string, data?: unknown): void;
132
291
  on(event: string, cb: (data: unknown) => void): void;
292
+ off(event: string, cb: (data: unknown) => void): void;
133
293
  }
134
294
  /** @internal */
135
295
  export declare function wrapHot<TSend, TRecv>(hot: RawHot): DevChannel<TSend, TRecv>;
136
296
  //#endregion
297
+ //#region src/hmr/wire.d.ts
298
+ export declare function toWireError(thrown: unknown): WireError;
299
+ export declare function fromWireError({ name, message, stack, code, cause, errors }: WireError): Error;
300
+ export declare function fromDevLogLine(line: string): LogRecord | undefined;
301
+ //#endregion
302
+ //#region src/hmr/forwardLogsToCli.d.ts
303
+ export declare function forwardLogsToCli(): void;
304
+ //#endregion
137
305
  //#region src/notices/index.d.ts
138
306
  export declare abstract class GateNotice extends Notice {
139
307
  render(): ReplyResponse;
@@ -178,10 +346,6 @@ export declare class HasDangerousPermissions extends Notice {
178
346
  render(): ReplyResponse;
179
347
  }
180
348
  //#endregion
181
- //#region src/stops/asError.d.ts
182
- /** @internal */
183
- export declare function asError(caught: unknown): Error;
184
- //#endregion
185
349
  //#region src/stops/NoticeCard.d.ts
186
350
  export declare class NoticeCard extends BuilderComponent<'container'> {
187
351
  constructor(description: string, title?: string);
@@ -347,5 +511,5 @@ export declare function eventResultFor(stopped: {
347
511
  */
348
512
  export declare function runAfter<Result>(ran: readonly Afterable<Result>[], result: Result, logger: Logger): Promise<void>;
349
513
  //#endregion
350
- export { type AckState, AckTrace, type AutocompletableNames, AutocompleteRouteBrand, type CacheFor, type ChoiceValueOf, type CommandBuilder, type CommandCtor, type CommandMeta, CommandMetadataKey, ComponentDefsBrand, ComponentKindBrand, ContextMenuKindBrand, type ContextMenuLeaves, ContextMenuNamesBrand, type DecodedComponentRoute, type DefaultSubscriptions, type DeployResult, type EntryFor, EventMetadataKey, EventMiddlewareMetadataKey, type FocusedField, type GateFitsWith, type GateObserver, GatedMetadataKey, type HasComponentDefs, type Initializeable, InteractionMetadataKey, type InteractionMiddlewareMetadata, InteractionMiddlewareMetadataKey, InteractionRouteKeys, type MatchArms, type MenuCacheFor, MiddlewareKindsBrand, type MiddlewareRegistration, type MiddlewareRegistrationOf, type NamesFor, type OptionKind, type OptionLens, PAGE_MAX, type PageCursor, PermissionNames, type PluginArgs, type PluginCtor, PublishDefault, RegisterDefaults, RegisterSubscriber, RegisteredCount, type ReplyMethod, type ReplyTelemetry, type RoutableConstructor, type RouteCache, type SerializedReply, type SingleParams, type SlashOption, type SlashOptions, SlashRouteBrand, type SlashRouteEntry, type SlowGateMonitor, type StoredSubscriberCtor, SubscribeMetadataKey, type SubscriberRegistration, UnregisterSubscriber, VerifyWebhooks, WebhookUrlMetadataKey, busLoggerOf, checkAckLegality, contextMenuLeaves, interactionMiddlewareMetaOf, pageCursor, pickNotice, registrationFor, reportedWrite, sendTarget, serializeReply };
514
+ export { type AckState, AckTrace, type AutocompletableNames, AutocompleteRouteBrand, type BakedIds, type CacheFor, type ChoiceValueOf, type CommandBody, type CommandBuilder, type CommandCtor, type CommandMeta, CommandMetadataKey, type CommandRef, type CommandScopes, ComponentDefsBrand, ComponentKindBrand, ContextMenuKindBrand, type ContextMenuLeaves, ContextMenuNamesBrand, CoordinatedStartup, type DecodedComponentRoute, type DefaultSubscriptions, type DeployResult, type EntryFor, EventMetadataKey, EventMiddlewareMetadataKey, FixedScope, type FocusedField, GLOBAL_ID, type GateFitsWith, type GateObserver, GatedMetadataKey, type GuildSummary, type HasComponentDefs, type Initializeable, InteractionMetadataKey, type InteractionMiddlewareMetadata, InteractionMiddlewareMetadataKey, InteractionRouteKeys, type LinkedCommands, type MatchArms, type MenuCacheFor, MiddlewareKindsBrand, type MiddlewareRegistration, type MiddlewareRegistrationOf, type NamesFor, type OptionKind, type OptionLens, PAGE_MAX, type PageCursor, PermissionNames, type PluginArgs, type PluginCtor, PublishDefault, RegisterDefaults, RegisterSubscriber, RegisteredCount, type ReplyMethod, type ReplyTelemetry, type RoutableConstructor, type RouteCache, type ScopeId, type SerializedReply, type SingleParams, type SlashOption, type SlashOptions, SlashRouteBrand, type SlashRouteEntry, type SlowGateMonitor, type StoredSubscriberCtor, SubscribeMetadataKey, type SubscriberRegistration, UnregisterSubscriber, VerifyWebhooks, WebhookUrlMetadataKey, attachmentsOf, bindEnv, busLoggerOf, checkAckLegality, commandKey, commandRefOf, commandsRoute, globalFirst, indexById, installLinks, interactionMiddlewareMetaOf, linkCommands, pageCursor, pickNotice, registrationFor, reportedWrite, resolveDeployTarget, scopeIdsOf, sealAttachments, sendTarget, serializeReply, skippedNote, warnLinks };
351
515
  //# sourceMappingURL=internal.index.d.mts.map