@seedcord/core 0.3.0 → 0.4.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/{Bus-DcuUtOEL.mjs → Bus-BVwmKc-A.mjs} +51 -17
- package/dist/Bus-BVwmKc-A.mjs.map +1 -0
- package/dist/Pluggable-Cf5-WWmW.mjs +280 -0
- package/dist/Pluggable-Cf5-WWmW.mjs.map +1 -0
- package/dist/Pluggable-DFNUIlJM.d.mts +148 -0
- package/dist/{Plugin-Bkeqcjy6.mjs → Plugin-C6oMqWf8.mjs} +32 -7
- package/dist/Plugin-C6oMqWf8.mjs.map +1 -0
- package/dist/Plugin-CG9pWbPF.d.mts +193 -0
- package/dist/{cursor-DKKKUa_7.d.mts → cursor-BcRfmTSo.d.mts} +27 -140
- package/dist/{cursor-Cv1Ui6gZ.mjs → cursor-GBUYz3jk.mjs} +377 -176
- package/dist/cursor-GBUYz3jk.mjs.map +1 -0
- package/dist/{index-uBwh8r7x.d.mts → index-ZzdQafFv.d.mts} +2 -2
- package/dist/index.d.mts +132 -19
- package/dist/index.mjs +186 -19
- package/dist/index.mjs.map +1 -1
- package/dist/internal.index.d.mts +11 -4
- package/dist/internal.index.mjs +8 -455
- package/dist/internal.index.mjs.map +1 -1
- package/dist/node-internal.index.d.mts +10 -146
- package/dist/node-internal.index.mjs +43 -470
- package/dist/node-internal.index.mjs.map +1 -1
- package/dist/node.index.d.mts +2 -0
- package/dist/node.index.mjs +256 -0
- package/dist/node.index.mjs.map +1 -0
- package/dist/{Plugin-B6iRzm3g.d.mts → phases-F8yvPd60.d.mts} +111 -207
- package/dist/plugin.index.d.mts +2 -2
- package/dist/plugin.index.mjs +1 -1
- package/dist/publishDefault-D826XXDQ.mjs +14 -0
- package/dist/publishDefault-D826XXDQ.mjs.map +1 -0
- package/dist/{slashRouteLeaves-De1SxqnX.mjs → slashRouteLeaves-CbYRwqMY.mjs} +10 -2
- package/dist/slashRouteLeaves-CbYRwqMY.mjs.map +1 -0
- package/dist/subscribers-CGGQkUfM.mjs +139 -0
- package/dist/subscribers-CGGQkUfM.mjs.map +1 -0
- package/package.json +14 -8
- package/dist/Bus-DcuUtOEL.mjs.map +0 -1
- package/dist/Plugin-Bkeqcjy6.mjs.map +0 -1
- package/dist/cursor-Cv1Ui6gZ.mjs.map +0 -1
- package/dist/slashRouteLeaves-De1SxqnX.mjs.map +0 -1
- package/dist/subscribers-DuHg-bGT.mjs +0 -3
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { t as Constructor } from "./basic-Dng__Ena.mjs";
|
|
2
|
+
import { b as Notice, r as CoreBase, z as InteractionRoutes } from "./phases-F8yvPd60.mjs";
|
|
3
3
|
import "reflect-metadata";
|
|
4
4
|
import { ActionRowBuilder, ButtonBuilder, ChannelSelectMenuBuilder, CheckboxBuilder, CheckboxGroupBuilder, CheckboxGroupOptionBuilder, ContainerBuilder, ContextMenuCommandBuilder, EmbedBuilder, FileBuilder, FileUploadBuilder, LabelBuilder, MediaGalleryBuilder, MentionableSelectMenuBuilder, ModalBuilder, RadioGroupBuilder, RadioGroupOptionBuilder, RoleSelectMenuBuilder, SectionBuilder, SeparatorBuilder, SlashCommandBuilder, SlashCommandSubcommandBuilder, SlashCommandSubcommandGroupBuilder, StringSelectMenuBuilder, StringSelectMenuOptionBuilder, TextDisplayBuilder, TextInputBuilder, UserSelectMenuBuilder } from "@discordjs/builders";
|
|
5
|
-
import { APIMessageTopLevelComponent,
|
|
6
|
-
import {
|
|
5
|
+
import { APIMessageTopLevelComponent, ApplicationCommandType, ChannelType, Snowflake } from "discord-api-types/v10";
|
|
6
|
+
import { ReplyResponse } from "@seedcord/types";
|
|
7
7
|
//#region src/registries/ContextMenuRegistry.d.ts
|
|
8
8
|
/** The two context-menu command kinds Discord defines. */
|
|
9
9
|
type ContextMenuKind = ApplicationCommandType.User | ApplicationCommandType.Message;
|
|
@@ -95,73 +95,6 @@ type CacheOf<Route extends keyof SlashRegistry> = [Route] extends [never] ? unde
|
|
|
95
95
|
cache: infer Cache;
|
|
96
96
|
} ? Cache : undefined;
|
|
97
97
|
//#endregion
|
|
98
|
-
//#region src/commands/CommandInjector.d.ts
|
|
99
|
-
/** What {@link Commands} resolves to for one slash route. */
|
|
100
|
-
interface CommandInfo {
|
|
101
|
-
/** The clickable `</config set:id>` mention. A route whose id did not resolve falls back to `/config set`. */
|
|
102
|
-
readonly mention: string;
|
|
103
|
-
/** The deployed command id. Absent when the command deployed to two or more guilds. */
|
|
104
|
-
readonly id?: string;
|
|
105
|
-
/** The full route, e.g. `config/set`. */
|
|
106
|
-
readonly route: string;
|
|
107
|
-
/** The route's own description, taken from the subcommand for a nested route. */
|
|
108
|
-
readonly description: string;
|
|
109
|
-
}
|
|
110
|
-
/** Each registered slash route mapped to its deployed command. */
|
|
111
|
-
type InjectedCommandMap = { [K in keyof SlashRegistry]: CommandInfo; };
|
|
112
|
-
/**
|
|
113
|
-
* The bot's deployed slash commands, keyed by {@link SlashRegistry}. Filled by
|
|
114
|
-
* {@link CommandInjector} after each deploy, and a read before that throws.
|
|
115
|
-
*
|
|
116
|
-
* @example
|
|
117
|
-
* ```ts
|
|
118
|
-
* import { Commands } from '@seedcord/gateway';
|
|
119
|
-
*
|
|
120
|
-
* await this.reply(`Try ${Commands['config/set'].mention}`);
|
|
121
|
-
*
|
|
122
|
-
* // a help listing
|
|
123
|
-
* const lines = Object.values(Commands).map((c) => `${c.mention} ${c.description}`);
|
|
124
|
-
* ```
|
|
125
|
-
*/
|
|
126
|
-
declare const Commands: InjectedCommandMap;
|
|
127
|
-
/** What {@link ContextMenus} resolves to for one context-menu command. */
|
|
128
|
-
interface ContextMenuInfo {
|
|
129
|
-
/** The deployed command id. Absent when the command deployed to two or more guilds. */
|
|
130
|
-
readonly id?: string;
|
|
131
|
-
/** The name shown in Discord's right-click menu. */
|
|
132
|
-
readonly name: string;
|
|
133
|
-
readonly kind: ContextMenuKind;
|
|
134
|
-
}
|
|
135
|
-
/** Deployed context-menu commands, split by kind because Discord scopes name uniqueness per command type. */
|
|
136
|
-
interface InjectedContextMenuMap {
|
|
137
|
-
readonly user: { [K in keyof UserContextMenuRegistry]: ContextMenuInfo; };
|
|
138
|
-
readonly message: { [K in keyof MessageContextMenuRegistry]: ContextMenuInfo; };
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* The bot's deployed context-menu commands. Filled by {@link CommandInjector} after each deploy, and a read
|
|
142
|
-
* before that throws.
|
|
143
|
-
*
|
|
144
|
-
* @example
|
|
145
|
-
* ```ts
|
|
146
|
-
* import { ContextMenus } from '@seedcord/gateway';
|
|
147
|
-
*
|
|
148
|
-
* const id = ContextMenus.user['View Profile'].id;
|
|
149
|
-
* ```
|
|
150
|
-
*/
|
|
151
|
-
declare const ContextMenus: InjectedContextMenuMap;
|
|
152
|
-
/** @internal */
|
|
153
|
-
declare class CommandInjector {
|
|
154
|
-
private readonly logger;
|
|
155
|
-
inject(deploy: DeployResult, all: readonly CommandBuilder[]): void;
|
|
156
|
-
private injectMenus;
|
|
157
|
-
private indexByKey;
|
|
158
|
-
private indexGuilds;
|
|
159
|
-
private resolveId;
|
|
160
|
-
private toMention;
|
|
161
|
-
private toPlain;
|
|
162
|
-
private clear;
|
|
163
|
-
}
|
|
164
|
-
//#endregion
|
|
165
98
|
//#region src/components/builderTypes.d.ts
|
|
166
99
|
/**
|
|
167
100
|
* Available Discord.js builder classes for use with BuilderComponent for commands, embeds, modals, etc.
|
|
@@ -430,6 +363,8 @@ interface CustomIdField<Decoded> {
|
|
|
430
363
|
readonly max?: number;
|
|
431
364
|
/** The allowed values, for a oneOf field. */
|
|
432
365
|
readonly choices?: readonly string[];
|
|
366
|
+
/** Whether this field also carries null. */
|
|
367
|
+
readonly nullable?: boolean;
|
|
433
368
|
/** Phantom only, carries the decoded type and is never set at runtime. */
|
|
434
369
|
readonly decoded?: Decoded;
|
|
435
370
|
}
|
|
@@ -447,6 +382,16 @@ type CustomIdShape = Record<string, CustomIdField<unknown>>;
|
|
|
447
382
|
type DecodedParams<Shape extends CustomIdShape> = { [Name in keyof Shape]: Shape[Name] extends CustomIdField<infer Decoded> ? Decoded : never; };
|
|
448
383
|
//#endregion
|
|
449
384
|
//#region src/customId/CustomId.d.ts
|
|
385
|
+
/** Per-field options every {@link CustomId} chain method takes. */
|
|
386
|
+
interface FieldOptions<Nullable extends boolean = boolean> {
|
|
387
|
+
/**
|
|
388
|
+
* Whether the field also carries null. A nullable field costs one extra slot on the wire.
|
|
389
|
+
*
|
|
390
|
+
* @defaultValue `false`
|
|
391
|
+
*/
|
|
392
|
+
nullable?: Nullable;
|
|
393
|
+
}
|
|
394
|
+
type Nullish<Decoded, Nullable extends boolean> = Nullable extends true ? Decoded | null : Decoded;
|
|
450
395
|
/** Strip the layout hash off the routeKey to recover the stable prefix the controller routes by. @internal */
|
|
451
396
|
declare function prefixOf(wire: string): string;
|
|
452
397
|
/**
|
|
@@ -488,7 +433,7 @@ declare class CustomId<Prefix extends string, Shape extends CustomIdShape = {}>
|
|
|
488
433
|
* new CustomId('ban').snowflake('userId');
|
|
489
434
|
* ```
|
|
490
435
|
*/
|
|
491
|
-
snowflake<Name extends string>(name: Name): CustomId<Prefix, Shape & Record<Name, CustomIdField<Snowflake
|
|
436
|
+
snowflake<Name extends string, const Nullable extends boolean = false>(name: Name, opts?: FieldOptions<Nullable>): CustomId<Prefix, Shape & Record<Name, CustomIdField<Nullish<Snowflake, Nullable>>>>;
|
|
492
437
|
/**
|
|
493
438
|
* Add a UUID field, decoded as a lowercase uuid string.
|
|
494
439
|
*
|
|
@@ -497,7 +442,7 @@ declare class CustomId<Prefix extends string, Shape extends CustomIdShape = {}>
|
|
|
497
442
|
* new CustomId('ticket').uuid('ticketId');
|
|
498
443
|
* ```
|
|
499
444
|
*/
|
|
500
|
-
uuid<Name extends string>(name: Name): CustomId<Prefix, Shape & Record<Name, CustomIdField<string
|
|
445
|
+
uuid<Name extends string, const Nullable extends boolean = false>(name: Name, opts?: FieldOptions<Nullable>): CustomId<Prefix, Shape & Record<Name, CustomIdField<Nullish<string, Nullable>>>>;
|
|
501
446
|
/**
|
|
502
447
|
* Add an integer field with no bounds, for a value up to 2^53.
|
|
503
448
|
*
|
|
@@ -506,7 +451,7 @@ declare class CustomId<Prefix extends string, Shape extends CustomIdShape = {}>
|
|
|
506
451
|
* new CustomId('shop').int('amount');
|
|
507
452
|
* ```
|
|
508
453
|
*/
|
|
509
|
-
int<Name extends string>(name: Name): CustomId<Prefix, Shape & Record<Name, CustomIdField<number
|
|
454
|
+
int<Name extends string, const Nullable extends boolean = false>(name: Name, opts?: FieldOptions<Nullable>): CustomId<Prefix, Shape & Record<Name, CustomIdField<Nullish<number, Nullable>>>>;
|
|
510
455
|
/**
|
|
511
456
|
* Add an integer field bounded by min and max, so it packs into fewer characters on the wire.
|
|
512
457
|
*
|
|
@@ -515,7 +460,7 @@ declare class CustomId<Prefix extends string, Shape extends CustomIdShape = {}>
|
|
|
515
460
|
* new CustomId('paginate').int('page', 1, 50);
|
|
516
461
|
* ```
|
|
517
462
|
*/
|
|
518
|
-
int<Name extends string>(name: Name, min: number, max: number): CustomId<Prefix, Shape & Record<Name, CustomIdField<number
|
|
463
|
+
int<Name extends string, const Nullable extends boolean = false>(name: Name, min: number, max: number, opts?: FieldOptions<Nullable>): CustomId<Prefix, Shape & Record<Name, CustomIdField<Nullish<number, Nullable>>>>;
|
|
519
464
|
/**
|
|
520
465
|
* Add a boolean flag.
|
|
521
466
|
*
|
|
@@ -524,7 +469,7 @@ declare class CustomId<Prefix extends string, Shape extends CustomIdShape = {}>
|
|
|
524
469
|
* new CustomId('settings').bool('silent');
|
|
525
470
|
* ```
|
|
526
471
|
*/
|
|
527
|
-
bool<Name extends string>(name: Name): CustomId<Prefix, Shape & Record<Name, CustomIdField<boolean
|
|
472
|
+
bool<Name extends string, const Nullable extends boolean = false>(name: Name, opts?: FieldOptions<Nullable>): CustomId<Prefix, Shape & Record<Name, CustomIdField<Nullish<boolean, Nullable>>>>;
|
|
528
473
|
/**
|
|
529
474
|
* Add a field that is one value from a fixed list, decoded as the literal union. No `as const` needed.
|
|
530
475
|
*
|
|
@@ -533,7 +478,7 @@ declare class CustomId<Prefix extends string, Shape extends CustomIdShape = {}>
|
|
|
533
478
|
* new CustomId('poll').oneOf('choice', ['yes', 'no', 'abstain']);
|
|
534
479
|
* ```
|
|
535
480
|
*/
|
|
536
|
-
oneOf<Name extends string, const Choices extends NonEmptyTuple<string
|
|
481
|
+
oneOf<Name extends string, const Choices extends NonEmptyTuple<string>, const Nullable extends boolean = false>(name: Name, choices: Choices, opts?: FieldOptions<Nullable>): CustomId<Prefix, Shape & Record<Name, CustomIdField<Nullish<Choices[number], Nullable>>>>;
|
|
537
482
|
/**
|
|
538
483
|
* Add a free short text field. Avoid it where possible. It cannot be packed, which makes it the most
|
|
539
484
|
* expensive field on the wire.
|
|
@@ -543,7 +488,7 @@ declare class CustomId<Prefix extends string, Shape extends CustomIdShape = {}>
|
|
|
543
488
|
* new CustomId('note').str('message');
|
|
544
489
|
* ```
|
|
545
490
|
*/
|
|
546
|
-
str<Name extends string>(name: Name): CustomId<Prefix, Shape & Record<Name, CustomIdField<string
|
|
491
|
+
str<Name extends string, const Nullable extends boolean = false>(name: Name, opts?: FieldOptions<Nullable>): CustomId<Prefix, Shape & Record<Name, CustomIdField<Nullish<string, Nullable>>>>;
|
|
547
492
|
/**
|
|
548
493
|
* Mint a wire string from values. Throws if a value is out of its field's range or the wire is over 100 chars.
|
|
549
494
|
*
|
|
@@ -615,65 +560,6 @@ interface SerializedReply<TNative = never> {
|
|
|
615
560
|
}
|
|
616
561
|
declare function serializeReply<TNative>(response: ReplyResponse<TNative> | string, routeId: string): SerializedReply<TNative>;
|
|
617
562
|
//#endregion
|
|
618
|
-
//#region src/reply/BaseReplySender.d.ts
|
|
619
|
-
/** The shape djs modal builders emit from `toJSON()`. */
|
|
620
|
-
interface ModalLike {
|
|
621
|
-
toJSON(): APIModalInteractionResponseCallbackData;
|
|
622
|
-
}
|
|
623
|
-
/**
|
|
624
|
-
* Tracks acknowledgement state and throws a translated `SeedcordError` on an illegal verb before any
|
|
625
|
-
* transport call. Every verb runs the legality check, calls the transport's wire writer, then updates
|
|
626
|
-
* the state and the ack trace. Each transport binds `TMessage` to its own created-message type and
|
|
627
|
-
* supplies the writers.
|
|
628
|
-
*/
|
|
629
|
-
declare abstract class BaseReplySender<TMessage extends {
|
|
630
|
-
id: string;
|
|
631
|
-
}, TNative = never> {
|
|
632
|
-
protected readonly routeId: string;
|
|
633
|
-
private readonly telemetry;
|
|
634
|
-
private state;
|
|
635
|
-
private readonly sent;
|
|
636
|
-
private ackedBy?;
|
|
637
|
-
protected constructor(routeId: string, telemetry: ReplyTelemetry, initialState?: AckState);
|
|
638
|
-
private report;
|
|
639
|
-
private attempt;
|
|
640
|
-
reply(response: ReplyResponse<TNative> | string, opts?: SendOpts): Promise<TMessage>;
|
|
641
|
-
defer(opts?: DeferOpts): Promise<void>;
|
|
642
|
-
deferUpdate(): Promise<void>;
|
|
643
|
-
/**
|
|
644
|
-
* After a deferUpdate the state stays deferred-update. Calling this again rewrites. The returned message
|
|
645
|
-
* is the source message, editable only through a bare `update` or `edit`. A targeted `edit` or `delete`
|
|
646
|
-
* of it throws the foreign-target error.
|
|
647
|
-
*/
|
|
648
|
-
update(response: ReplyResponse<TNative> | string): Promise<TMessage>;
|
|
649
|
-
followUp(response: ReplyResponse<TNative> | string, opts?: SendOpts): Promise<TMessage>;
|
|
650
|
-
edit(response: ReplyResponse<TNative> | string): Promise<TMessage>;
|
|
651
|
-
edit(target: TMessage, response: ReplyResponse<TNative> | string): Promise<TMessage>;
|
|
652
|
-
delete(): Promise<void>;
|
|
653
|
-
delete(target: TMessage): Promise<void>;
|
|
654
|
-
/** Routes to the verb the current ack state permits. Every state has a route, so the illegal-ack throw is unreachable. */
|
|
655
|
-
send(response: ReplyResponse<TNative> | string, opts?: SendOpts): Promise<TMessage>;
|
|
656
|
-
/** Must be the initial response. */
|
|
657
|
-
showModal(modal: ModalLike): Promise<void>;
|
|
658
|
-
protected serialize(response: ReplyResponse<TNative> | string): SerializedReply<TNative>;
|
|
659
|
-
protected remember(created: TMessage): TMessage;
|
|
660
|
-
private requireMessage;
|
|
661
|
-
private editOriginal;
|
|
662
|
-
private checkLegality;
|
|
663
|
-
private transition;
|
|
664
|
-
protected guardModalSource(): void;
|
|
665
|
-
protected abstract writeReply(response: ReplyResponse<TNative> | string, opts?: SendOpts): Promise<TMessage | undefined>;
|
|
666
|
-
protected abstract writeDefer(opts?: DeferOpts): Promise<void>;
|
|
667
|
-
protected abstract writeDeferUpdate(): Promise<void>;
|
|
668
|
-
protected abstract writeUpdate(response: ReplyResponse<TNative> | string): Promise<TMessage | undefined>;
|
|
669
|
-
protected abstract writeFollowUp(response: ReplyResponse<TNative> | string, opts?: SendOpts): Promise<TMessage>;
|
|
670
|
-
protected abstract writeEditOriginal(response: ReplyResponse<TNative> | string): Promise<TMessage>;
|
|
671
|
-
protected abstract writeEditTarget(targetId: string, response: ReplyResponse<TNative> | string): Promise<TMessage>;
|
|
672
|
-
protected abstract writeDeleteOriginal(): Promise<void>;
|
|
673
|
-
protected abstract writeDeleteTarget(targetId: string): Promise<void>;
|
|
674
|
-
protected abstract writeModal(data: APIModalInteractionResponseCallbackData): Promise<void>;
|
|
675
|
-
}
|
|
676
|
-
//#endregion
|
|
677
563
|
//#region src/gates/Gate.d.ts
|
|
678
564
|
/**
|
|
679
565
|
* The transport-agnostic gate context, the scalar identity of the acting user resolvable from any
|
|
@@ -888,7 +774,8 @@ type RequiredOf<TGate> = TGate extends Gate<infer Ctx> ? Ctx : never;
|
|
|
888
774
|
type IntersectRequired<Gates extends readonly Gate<GateContextBase>[]> = Gates extends readonly [infer First extends Gate<GateContextBase>, ...infer Rest extends readonly Gate<GateContextBase>[]] ? RequiredOf<First> & IntersectRequired<Rest> : unknown;
|
|
889
775
|
type TwoOrMore<Item> = readonly [Item, Item, ...Item[]];
|
|
890
776
|
type GateName<TGate> = TGate extends Gate<GateContextBase, infer Name> ? Name : string;
|
|
891
|
-
type
|
|
777
|
+
type Grouped<Name extends string> = Name extends `${string} & ${string}` | `${string} | ${string}` ? `(${Name})` : Name;
|
|
778
|
+
type JoinNames<Gates extends readonly Gate<GateContextBase>[], Sep extends string> = Gates extends readonly [infer Only extends Gate<GateContextBase>] ? Grouped<GateName<Only>> : Gates extends readonly [infer First extends Gate<GateContextBase>, ...infer Rest extends readonly Gate<GateContextBase>[]] ? `${Grouped<GateName<First>>}${Sep}${JoinNames<Rest, Sep>}` : string;
|
|
892
779
|
type GateMismatch<Name extends string, Want extends string, Got extends string> = `gate '${Name}' requires a ${Want} handler, and this handler is ${Got}`;
|
|
893
780
|
type GateFitsWith<Provided, ProvidedLabel extends string, TGate, ReqLabel extends string> = [Provided] extends [RequiredOf<TGate>] ? TGate : Constructor<[GateMismatch<GateName<TGate>, ReqLabel, ProvidedLabel>]>;
|
|
894
781
|
//#endregion
|
|
@@ -1096,5 +983,5 @@ type PageCursor<Prefix extends string> = CustomId<Prefix, {
|
|
|
1096
983
|
/** Build the page cursor for a paginator. */
|
|
1097
984
|
declare function pageCursor<Prefix extends string>(prefix: Prefix): PageCursor<Prefix>;
|
|
1098
985
|
//#endregion
|
|
1099
|
-
export {
|
|
1100
|
-
//# sourceMappingURL=cursor-
|
|
986
|
+
export { Promisable as $, serializeReply as A, contextMenuRouteOf as B, Gate as C, defineEffectGate as D, RequiredOf as E, ContextMenuNamesBrand as F, AnyCustomId as G, selectMenuRouteOf as H, SlashRouteBrand as I, decodeFor as J, CustomId as K, RoutableConstructor as L, ComponentDefsBrand as M, ComponentKindBrand as N, defineGate as O, ContextMenuKindBrand as P, RegisterCommand as Q, SelectMenuKind as R, EffectGate as S, GuildPermissionsContext as T, storeComponentRoute as U, interactionRoutesOf as V, storeInteractionRoute as W, DecodedParams as X, prefixOf as Y, CommandMeta as Z, pickNotice as _, AutocompleteOptions as a, CacheFor as at, JoinNames as b, FocusedField as c, SlashOption as ct, RequirePermissionsOptions as d, ContextMenuKind as dt, IsNever as et, RequireRole as f, MenuCacheFor as ft, GateNoticeOptions as g, PermissionScope as h, UserContextMenuRegistry as ht, AutocompletableNames as i, RowType as it, AutocompleteRouteBrand as j, SerializedReply as k, RequireBotPermissions as l, SlashRegistry as lt, PermissionNames as m, NamesFor as mt, PageCursor as n, RowComponent as nt, ChoiceValueOf as o, OptionKind as ot, RequireRoleOptions as p, MessageContextMenuRegistry as pt, FieldOptions as q, pageCursor as r, BuilderType as rt, EntryFor as s, RouteCache as st, PAGE_MAX as t, BuilderComponent as tt, RequirePermissions as u, SlashRouteEntry as ut, GateFitsWith as v, GateContextBase as w, TwoOrMore as x, IntersectRequired as y, areRoutes as z };
|
|
987
|
+
//# sourceMappingURL=cursor-BcRfmTSo.d.mts.map
|