@buape/carbon 0.5.0 → 0.6.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 (67) hide show
  1. package/dist/package.json +22 -5
  2. package/dist/src/abstracts/BaseInteraction.d.ts +3 -1
  3. package/dist/src/abstracts/BaseInteraction.d.ts.map +1 -1
  4. package/dist/src/abstracts/BaseInteraction.js +13 -7
  5. package/dist/src/abstracts/BaseInteraction.js.map +1 -1
  6. package/dist/src/abstracts/Plugin.d.ts +14 -0
  7. package/dist/src/abstracts/Plugin.d.ts.map +1 -0
  8. package/dist/src/abstracts/Plugin.js +4 -0
  9. package/dist/src/abstracts/Plugin.js.map +1 -0
  10. package/dist/src/adapters/bun/index.d.ts +16 -0
  11. package/dist/src/adapters/bun/index.d.ts.map +1 -0
  12. package/dist/src/adapters/bun/index.js +20 -0
  13. package/dist/src/adapters/bun/index.js.map +1 -0
  14. package/dist/src/adapters/cloudflare/index.d.ts +16 -0
  15. package/dist/src/adapters/cloudflare/index.d.ts.map +1 -0
  16. package/dist/src/adapters/cloudflare/index.js +17 -0
  17. package/dist/src/adapters/cloudflare/index.js.map +1 -0
  18. package/dist/src/adapters/next/index.d.ts +14 -0
  19. package/dist/src/adapters/next/index.d.ts.map +1 -0
  20. package/dist/src/adapters/next/index.js +17 -0
  21. package/dist/src/adapters/next/index.js.map +1 -0
  22. package/dist/src/adapters/node/index.d.ts +16 -0
  23. package/dist/src/adapters/node/index.d.ts.map +1 -0
  24. package/dist/src/adapters/node/index.js +20 -0
  25. package/dist/src/adapters/node/index.js.map +1 -0
  26. package/dist/src/adapters/shared.d.ts +10 -0
  27. package/dist/src/adapters/shared.d.ts.map +1 -0
  28. package/dist/src/adapters/shared.js +2 -0
  29. package/dist/src/adapters/shared.js.map +1 -0
  30. package/dist/src/classes/Client.d.ts +37 -59
  31. package/dist/src/classes/Client.d.ts.map +1 -1
  32. package/dist/src/classes/Client.js +74 -112
  33. package/dist/src/classes/Client.js.map +1 -1
  34. package/dist/src/classes/Embed.d.ts +2 -1
  35. package/dist/src/classes/Embed.d.ts.map +1 -1
  36. package/dist/src/classes/Embed.js +12 -10
  37. package/dist/src/classes/Embed.js.map +1 -1
  38. package/dist/src/createHandle.d.ts +20 -0
  39. package/dist/src/createHandle.d.ts.map +1 -0
  40. package/dist/src/createHandle.js +57 -0
  41. package/dist/src/createHandle.js.map +1 -0
  42. package/dist/src/index.d.ts +1 -0
  43. package/dist/src/index.d.ts.map +1 -1
  44. package/dist/src/index.js +1 -0
  45. package/dist/src/index.js.map +1 -1
  46. package/dist/src/internals/ModalInteraction.d.ts +1 -1
  47. package/dist/src/internals/ModalInteraction.d.ts.map +1 -1
  48. package/dist/src/internals/ModalInteraction.js +1 -1
  49. package/dist/src/internals/ModalInteraction.js.map +1 -1
  50. package/dist/src/plugins/linked-roles/LinkedRoles.d.ts +61 -0
  51. package/dist/src/plugins/linked-roles/LinkedRoles.d.ts.map +1 -0
  52. package/dist/src/plugins/linked-roles/LinkedRoles.js +196 -0
  53. package/dist/src/plugins/linked-roles/LinkedRoles.js.map +1 -0
  54. package/dist/src/plugins/linked-roles/index.d.ts +3 -0
  55. package/dist/src/plugins/linked-roles/index.d.ts.map +1 -0
  56. package/dist/src/plugins/linked-roles/index.js +3 -0
  57. package/dist/src/plugins/linked-roles/index.js.map +1 -0
  58. package/dist/src/plugins/linked-roles/types.d.ts +94 -0
  59. package/dist/src/plugins/linked-roles/types.d.ts.map +1 -0
  60. package/dist/src/plugins/linked-roles/types.js +39 -0
  61. package/dist/src/plugins/linked-roles/types.js.map +1 -0
  62. package/dist/src/utils.d.ts +4 -3
  63. package/dist/src/utils.d.ts.map +1 -1
  64. package/dist/src/utils.js +15 -13
  65. package/dist/src/utils.js.map +1 -1
  66. package/dist/tsconfig.tsbuildinfo +1 -1
  67. package/package.json +23 -6
package/dist/package.json CHANGED
@@ -1,9 +1,23 @@
1
1
  {
2
2
  "name": "@buape/carbon",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "type": "module",
5
5
  "main": "./dist/src/index.js",
6
6
  "repository": "github:buape/carbon",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/src/index.d.ts",
10
+ "import": "./dist/src/index.js"
11
+ },
12
+ "./*": {
13
+ "types": "./dist/src/plugins/*/index.d.ts",
14
+ "import": "./dist/src/plugins/*/index.js"
15
+ },
16
+ "./adapters/*": {
17
+ "types": "./dist/src/adapters/*/index.d.ts",
18
+ "import": "./dist/src/adapters/*/index.js"
19
+ }
20
+ },
7
21
  "scripts": {
8
22
  "build": "tsc",
9
23
  "dev": "tsc -w",
@@ -12,10 +26,13 @@
12
26
  "license": "MIT",
13
27
  "dependencies": {
14
28
  "@buape/carbon-request": "workspace:*",
15
- "@types/node": "20",
16
- "discord-api-types": "0.37.100",
17
- "discord-verify": "1.2.0",
18
- "itty-router": "5.0.18"
29
+ "@types/node": "^20",
30
+ "discord-api-types": "0.37.102"
31
+ },
32
+ "optionalDependencies": {
33
+ "@cloudflare/workers-types": "4.20241018.0",
34
+ "@hono/node-server": "1.13.2",
35
+ "@types/bun": "1.1.11"
19
36
  },
20
37
  "files": [
21
38
  "dist",
@@ -76,7 +76,9 @@ export declare abstract class BaseInteraction<T extends APIInteraction> extends
76
76
  * If the interaction is already deferred, this will do nothing.
77
77
  * @internal
78
78
  */
79
- defer(): Promise<void>;
79
+ defer({ ephemeral }?: {
80
+ ephemeral?: boolean | undefined;
81
+ }): Promise<void>;
80
82
  /**
81
83
  * Show a modal to the user
82
84
  * This can only be used if the interaction is not deferred
@@ -1 +1 @@
1
- {"version":3,"file":"BaseInteraction.d.ts","sourceRoot":"","sources":["../../../src/abstracts/BaseInteraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,cAAc,EAEnB,KAAK,eAAe,EAKpB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACN,IAAI,EACJ,KAAK,MAAM,EACX,KAAK,EACL,KAAK,EACL,OAAO,EACP,KAAK,KAAK,EACV,IAAI,EAEJ,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAGjD;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACrC;;OAEG;IACH,KAAK,CAAC,EAAE,mBAAmB,EAAE,CAAA;IAC7B;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IACjC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,IAAI,EAAE,IAAI,CAAA;IACV;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IACjC,SAAS,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED;;GAEG;AACH,8BAAsB,eAAe,CAAC,CAAC,SAAS,cAAc,CAAE,SAAQ,IAAI;IAC3E;;OAEG;IACH,IAAI,EAAE,eAAe,CAAA;IACrB;;OAEG;IACH,OAAO,EAAE,CAAC,CAAA;IACV;;OAEG;IACH,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAE1B;;;OAGG;IACH,SAAS,UAAQ;IAEjB,OAAO,CAAC,gBAAgB,CAAQ;gBAEpB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,mBAAmB;IASlE,IAAI,MAAM,IAAI,KAAK,EAAE,GAAG,IAAI,CAG3B;IAED,IAAI,OAAO,IAAI,OAAO,GAAG,IAAI,CAG5B;IAED,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAG9B;IAED,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,CAKtB;IAED,IAAI,OAAO,8hBAGV;IAED,IAAI,MAAM,oCAIT;IAED;;;;OAIG;IACG,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,GAAE,uBAA4B;IAmCvE;;;;OAIG;IACG,KAAK;IAcX;;;OAGG;IACG,SAAS,CAAC,KAAK,EAAE,KAAK;IAc5B;;OAEG;IACG,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,GAAE,uBAA4B;CAe3E"}
1
+ {"version":3,"file":"BaseInteraction.d.ts","sourceRoot":"","sources":["../../../src/abstracts/BaseInteraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,cAAc,EAEnB,KAAK,eAAe,EAMpB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACN,IAAI,EACJ,KAAK,MAAM,EACX,KAAK,EACL,KAAK,EACL,OAAO,EACP,KAAK,KAAK,EACV,IAAI,EAEJ,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAGjD;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACrC;;OAEG;IACH,KAAK,CAAC,EAAE,mBAAmB,EAAE,CAAA;IAC7B;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IACjC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,IAAI,EAAE,IAAI,CAAA;IACV;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IACjC,SAAS,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED;;GAEG;AACH,8BAAsB,eAAe,CAAC,CAAC,SAAS,cAAc,CAAE,SAAQ,IAAI;IAC3E;;OAEG;IACH,IAAI,EAAE,eAAe,CAAA;IACrB;;OAEG;IACH,OAAO,EAAE,CAAC,CAAA;IACV;;OAEG;IACH,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAE1B;;;OAGG;IACH,SAAS,UAAQ;IAEjB,OAAO,CAAC,gBAAgB,CAAQ;gBAEpB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,mBAAmB;IASlE,IAAI,MAAM,IAAI,KAAK,EAAE,GAAG,IAAI,CAG3B;IAED,IAAI,OAAO,IAAI,OAAO,GAAG,IAAI,CAG5B;IAED,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAG9B;IAED,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,CAKtB;IAED,IAAI,OAAO,8hBAGV;IAED,IAAI,MAAM,oCAIT;IAED;;;;OAIG;IACG,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,GAAE,uBAA4B;IAqCvE;;;;OAIG;IACG,KAAK,CAAC,EAAE,SAAiB,EAAE;;KAAK;IAmBtC;;;OAGG;IACG,SAAS,CAAC,KAAK,EAAE,KAAK;IAc5B;;OAEG;IACG,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,GAAE,uBAA4B;CAgB3E"}
@@ -1,4 +1,4 @@
1
- import { InteractionResponseType, Routes } from "discord-api-types/v10";
1
+ import { InteractionResponseType, MessageFlags, Routes } from "discord-api-types/v10";
2
2
  import { Base, Embed, Guild, Message, User, channelFactory } from "../index.js";
3
3
  import { GuildMember } from "../structures/GuildMember.js";
4
4
  import { serializePayload } from "../utils.js";
@@ -87,9 +87,10 @@ export class BaseInteraction extends Base {
87
87
  body: {
88
88
  type: InteractionResponseType.ChannelMessageWithSource,
89
89
  data: {
90
- ...serializePayload(data),
91
- flags: options.ephemeral
92
- ? 64 | ("flags" in serialized ? (serialized.flags ?? 0) : 0)
90
+ ...serialized,
91
+ flags: options.ephemeral || this.defaultEphemeral
92
+ ? MessageFlags.Ephemeral |
93
+ ("flags" in serialized ? (serialized.flags ?? 0) : 0)
93
94
  : undefined
94
95
  }
95
96
  },
@@ -102,14 +103,18 @@ export class BaseInteraction extends Base {
102
103
  * If the interaction is already deferred, this will do nothing.
103
104
  * @internal
104
105
  */
105
- async defer() {
106
+ async defer({ ephemeral = false } = {}) {
106
107
  if (this._deferred)
107
108
  return;
108
109
  this._deferred = true;
109
110
  await this.client.rest.post(Routes.interactionCallback(this.rawData.id, this.rawData.token), {
110
111
  body: {
111
112
  type: InteractionResponseType.DeferredChannelMessageWithSource,
112
- flags: this.defaultEphemeral ? 64 : undefined
113
+ data: {
114
+ flags: ephemeral || this.defaultEphemeral
115
+ ? MessageFlags.Ephemeral
116
+ : undefined
117
+ }
113
118
  }
114
119
  });
115
120
  }
@@ -136,7 +141,8 @@ export class BaseInteraction extends Base {
136
141
  body: {
137
142
  ...serialized,
138
143
  flags: options.ephemeral
139
- ? 64 | ("flags" in serialized ? (serialized.flags ?? 0) : 0)
144
+ ? MessageFlags.Ephemeral |
145
+ ("flags" in serialized ? (serialized.flags ?? 0) : 0)
140
146
  : undefined
141
147
  },
142
148
  files: options.files
@@ -1 +1 @@
1
- {"version":3,"file":"BaseInteraction.js","sourceRoot":"","sources":["../../../src/abstracts/BaseInteraction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseInteraction.js","sourceRoot":"","sources":["../../../src/abstracts/BaseInteraction.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export declare abstract class Plugin {
2
+ routes: Route[];
3
+ }
4
+ export interface Route {
5
+ method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
6
+ path: `/${string}`;
7
+ handler(req: Request, ctx?: Context): Response | Promise<Response>;
8
+ protected?: boolean;
9
+ disabled?: boolean;
10
+ }
11
+ export interface Context {
12
+ waitUntil?(promise: Promise<any>): void;
13
+ }
14
+ //# sourceMappingURL=Plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../../src/abstracts/Plugin.ts"],"names":[],"mappings":"AAAA,8BAAsB,MAAM;IAC3B,MAAM,EAAE,KAAK,EAAE,CAAK;CACpB;AAED,MAAM,WAAW,KAAK;IACrB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAA;IACnD,IAAI,EAAE,IAAI,MAAM,EAAE,CAAA;IAClB,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAClE,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,OAAO;IAEvB,SAAS,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;CACvC"}
@@ -0,0 +1,4 @@
1
+ export class Plugin {
2
+ routes = [];
3
+ }
4
+ //# sourceMappingURL=Plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../../../src/abstracts/Plugin.ts"],"names":[],"mappings":"AAAA,MAAM,OAAgB,MAAM;IAC3B,MAAM,GAAY,EAAE,CAAA;CACpB"}
@@ -0,0 +1,16 @@
1
+ import Bun from "bun";
2
+ import type { Handle } from "../../createHandle.js";
3
+ import type { ServerOptions } from "../shared.js";
4
+ export type Server = ReturnType<typeof Bun.serve>;
5
+ /**
6
+ * Creates a Bun server using the provided handle function and options
7
+ * @param handle The handle function created by {@link createHandle}
8
+ * @param options The server options including the port and hostname
9
+ * @returns The created server instance
10
+ * @example
11
+ * ```ts
12
+ * const server = createServer(handle, { ... })
13
+ * ```
14
+ */
15
+ export declare function createServer(handle: Handle, options: ServerOptions): Server;
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapters/bun/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAEjD,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAA;AAEjD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,MAAM,CAO3E"}
@@ -0,0 +1,20 @@
1
+ import Bun from "bun";
2
+ /**
3
+ * Creates a Bun server using the provided handle function and options
4
+ * @param handle The handle function created by {@link createHandle}
5
+ * @param options The server options including the port and hostname
6
+ * @returns The created server instance
7
+ * @example
8
+ * ```ts
9
+ * const server = createServer(handle, { ... })
10
+ * ```
11
+ */
12
+ export function createServer(handle, options) {
13
+ const fetch = handle(process.env);
14
+ return Bun.serve({
15
+ fetch: (req) => fetch(req, {}),
16
+ port: options.port,
17
+ hostname: options.hostname
18
+ });
19
+ }
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/adapters/bun/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AAMrB;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,OAAsB;IAClE,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACjC,OAAO,GAAG,CAAC,KAAK,CAAC;QAChB,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC;QAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC1B,CAAC,CAAA;AACH,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { ExecutionContext } from "@cloudflare/workers-types";
2
+ import type { Handle } from "../../createHandle.js";
3
+ import type { PartialEnv } from "../shared.js";
4
+ export type Handler = (req: Request, env: PartialEnv, ctx: ExecutionContext) => Promise<Response>;
5
+ /**
6
+ * Creates a Cloudflare handler function using the provided handle and handler options
7
+ * @param handle - The handle function to process requests
8
+ * @returns The created handler function
9
+ * @example
10
+ * ```ts
11
+ * const handler = createHandler(handle, { ... })
12
+ * export default { fetch: handler }
13
+ * ```
14
+ */
15
+ export declare function createHandler(handle: Handle): Handler;
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cloudflare/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE9C,MAAM,MAAM,OAAO,GAAG,CACrB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,gBAAgB,KACjB,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEtB;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAKrD"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Creates a Cloudflare handler function using the provided handle and handler options
3
+ * @param handle - The handle function to process requests
4
+ * @returns The created handler function
5
+ * @example
6
+ * ```ts
7
+ * const handler = createHandler(handle, { ... })
8
+ * export default { fetch: handler }
9
+ * ```
10
+ */
11
+ export function createHandler(handle) {
12
+ return (req, env, ctx) => {
13
+ const fetch = handle(env);
14
+ return fetch(req, ctx);
15
+ };
16
+ }
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/adapters/cloudflare/index.ts"],"names":[],"mappings":"AAUA;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,MAAc;IAC3C,OAAO,CAAC,GAAY,EAAE,GAAe,EAAE,GAAqB,EAAE,EAAE;QAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;QACzB,OAAO,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACvB,CAAC,CAAA;AACF,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { Handle } from "../../createHandle.js";
2
+ export type Handler = (req: Request) => Promise<Response>;
3
+ /**
4
+ * Creates a Next.js handler function using the provided handle and handler options
5
+ * @param handle - The handle function to process requests
6
+ * @returns The created handler function
7
+ * @example
8
+ * ```ts
9
+ * const handler = createHandler(handle, { ... })
10
+ * export { handler as GET, handler as POST }
11
+ * ```
12
+ */
13
+ export declare function createHandler(handle: Handle): Handler;
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapters/next/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAEnD,MAAM,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEzD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAKrD"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Creates a Next.js handler function using the provided handle and handler options
3
+ * @param handle - The handle function to process requests
4
+ * @returns The created handler function
5
+ * @example
6
+ * ```ts
7
+ * const handler = createHandler(handle, { ... })
8
+ * export { handler as GET, handler as POST }
9
+ * ```
10
+ */
11
+ export function createHandler(handle) {
12
+ return (req) => {
13
+ const fetch = handle(process.env);
14
+ return fetch(req);
15
+ };
16
+ }
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/adapters/next/index.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,MAAc;IAC3C,OAAO,CAAC,GAAY,EAAE,EAAE;QACvB,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QACjC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAA;IAClB,CAAC,CAAA;AACF,CAAC"}
@@ -0,0 +1,16 @@
1
+ import * as Hono from "@hono/node-server";
2
+ import type { Handle } from "../../createHandle.js";
3
+ import type { ServerOptions } from "../shared.js";
4
+ export type Server = ReturnType<typeof Hono.serve>;
5
+ /**
6
+ * Creates a Node.js server using the provided handle function and options
7
+ * @param handle The handle function created by {@link createHandle}
8
+ * @param options The server options including the port and hostname
9
+ * @returns The created server instance
10
+ * @example
11
+ * ```ts
12
+ * const server = createServer(handle, { ... })
13
+ * ```
14
+ */
15
+ export declare function createServer(handle: Handle, options: ServerOptions): Server;
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapters/node/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,mBAAmB,CAAA;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAEjD,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAA;AAElD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,MAAM,CAO3E"}
@@ -0,0 +1,20 @@
1
+ import * as Hono from "@hono/node-server";
2
+ /**
3
+ * Creates a Node.js server using the provided handle function and options
4
+ * @param handle The handle function created by {@link createHandle}
5
+ * @param options The server options including the port and hostname
6
+ * @returns The created server instance
7
+ * @example
8
+ * ```ts
9
+ * const server = createServer(handle, { ... })
10
+ * ```
11
+ */
12
+ export function createServer(handle, options) {
13
+ const fetch = handle(process.env);
14
+ return Hono.serve({
15
+ fetch: (req) => fetch(req, {}),
16
+ port: options.port,
17
+ hostname: options.hostname
18
+ });
19
+ }
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/adapters/node/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,mBAAmB,CAAA;AAMzC;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,OAAsB;IAClE,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACjC,OAAO,IAAI,CAAC,KAAK,CAAC;QACjB,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC;QAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC1B,CAAC,CAAA;AACH,CAAC"}
@@ -0,0 +1,10 @@
1
+ export type PartialEnv = Record<string, string | undefined>;
2
+ export interface SharedOptions {
3
+ }
4
+ export interface ServerOptions extends SharedOptions {
5
+ port: number;
6
+ hostname?: string;
7
+ }
8
+ export interface HandlerOptions extends SharedOptions {
9
+ }
10
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/adapters/shared.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;AAG3D,MAAM,WAAW,aAAa;CAAG;AAEjC,MAAM,WAAW,aAAc,SAAQ,aAAa;IACnD,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,cAAe,SAAQ,aAAa;CAAG"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/adapters/shared.ts"],"names":[],"mappings":""}
@@ -1,6 +1,6 @@
1
1
  import { RequestClient, type RequestClientOptions } from "@buape/carbon-request";
2
- import { AutoRouter, type IRequestStrict } from "itty-router";
3
2
  import type { BaseCommand } from "../abstracts/BaseCommand.js";
3
+ import { type Context, Plugin } from "../abstracts/Plugin.js";
4
4
  import { CommandHandler } from "../internals/CommandHandler.js";
5
5
  import { ComponentHandler } from "../internals/ComponentHandler.js";
6
6
  import { ModalHandler } from "../internals/ModalHandler.js";
@@ -8,79 +8,64 @@ import { Guild } from "../structures/Guild.js";
8
8
  import { GuildMember } from "../structures/GuildMember.js";
9
9
  import { Role } from "../structures/Role.js";
10
10
  import { User } from "../structures/User.js";
11
- /**
12
- * The mode that the client is running in.
13
- * Different platforms have different requirements for how processes are handled.
14
- */
15
- export declare enum ClientMode {
16
- NodeJS = "node",
17
- CloudflareWorkers = "cloudflare",
18
- Bun = "bun",
19
- Vercel = "vercel",
20
- Web = "web"
21
- }
22
11
  /**
23
12
  * The options used for initializing the client
24
13
  */
25
14
  export type ClientOptions = {
26
15
  /**
27
- * If you want to have the root route for the interaction handler redirect to a different URL, you can set this.
16
+ * The base URL of the app
28
17
  */
29
- redirectUrl?: string;
18
+ baseUrl: string;
30
19
  /**
31
- * The client ID of the bot
20
+ * The client ID of the app
32
21
  */
33
22
  clientId: string;
34
23
  /**
35
- * The public key of the bot, used for interaction verification
24
+ * The deploy secret of the app, used for protecting the deploy route
36
25
  */
37
- publicKey: string;
26
+ deploySecret: string;
38
27
  /**
39
- * The token of the bot
28
+ * The client secret of the app
40
29
  */
41
- token: string;
30
+ clientSecret: string;
42
31
  /**
43
- * The mode of the client, generally where you are hosting the bot. If you have a different mode for your local development, make sure to set it to the local one.
44
- * @example
45
- * ```ts
46
- * import { Client, ClientMode } from "@buape/carbon"
47
- *
48
- * const client = new Client({
49
- * clientId: "12345678901234567890",
50
- * publicKey: "c1a2f941ae8ce6d776f7704d0bb3d46b863e21fda491cdb2bdba6b8bc5fe7269",
51
- * token: "MTA4NjEwNTYxMDUxMDE1NTg1Nw.GNt-U8.OSHy-g-5FlfESnu3Z9MEEMJLHiRthXajiXNwiE",
52
- * mode: process.env.NODE_ENV === "development" ? ClientMode.NodeJS : ClientMode.CloudflareWorkers
53
- * })
54
- * ```
32
+ * The public key of the app, used for interaction verification
55
33
  */
56
- mode: ClientMode;
34
+ publicKey: string;
57
35
  /**
58
- * The route to use for interactions on your server.
59
- * @default "/interaction"
36
+ * The token of the bot
60
37
  */
61
- interactionRoute?: string;
38
+ token: string;
62
39
  /**
63
40
  * The options used to initialize the request client, if you want to customize it.
64
41
  */
65
42
  requestOptions?: RequestClientOptions;
66
- /**
67
- * The port to run the server on, if you are using {@link ClientMode.Bun} mode.
68
- */
69
- port?: number;
70
43
  /**
71
44
  * Whether the commands should be deployed to Discord automatically.
45
+ * @default false
72
46
  */
73
47
  autoDeploy?: boolean;
74
48
  /**
75
- * Whether components and modals should be registered automatically.
76
- * If you don't want to do this (e.g. you are changing them at runtime), you can manually call {@link ComponentHandler#registerComponent} and {@link ModalHandler#registerModal} on the client.
49
+ * Whether components and modals should not be registered automatically.
50
+ * If you want you register components yourself (e.g. you are changing them at runtime), you can manually call {@link ComponentHandler#registerComponent} and {@link ModalHandler#registerModal} on the client.
51
+ * @default false
52
+ */
53
+ disableAutoRegister?: boolean;
54
+ /**
55
+ * Whether the deploy route should be disabled.
56
+ * @default false
57
+ */
58
+ disableDeployRoute?: boolean;
59
+ /**
60
+ * Whether the interactions route should
61
+ * @default false
77
62
  */
78
- autoRegister?: boolean;
63
+ disableInteractionsRoute?: boolean;
79
64
  };
80
65
  /**
81
66
  * The main client used to interact with Discord
82
67
  */
83
- export declare class Client {
68
+ export declare class Client extends Plugin {
84
69
  /**
85
70
  * The options used to initialize the client
86
71
  */
@@ -89,10 +74,6 @@ export declare class Client {
89
74
  * The commands that the client has registered
90
75
  */
91
76
  commands: BaseCommand[];
92
- /**
93
- * The router used to handle requests
94
- */
95
- router: ReturnType<typeof AutoRouter<IRequestStrict>>;
96
77
  /**
97
78
  * The rest client used to interact with the Discord API
98
79
  */
@@ -118,27 +99,24 @@ export declare class Client {
118
99
  * @param commands The commands that the client has registered
119
100
  */
120
101
  constructor(options: ClientOptions, commands: BaseCommand[]);
102
+ private appendRoutes;
121
103
  /**
122
- * Deploy the commands registered to Discord.
123
- * This is automatically called when running in NodeJS mode.
124
- */
125
- deployCommands(): Promise<void>;
126
- /**
127
- * Setup the routes for the client
104
+ * Handle a request to deploy the commands to Discord
105
+ * @returns A response
128
106
  */
129
- private setupRoutes;
107
+ handleDeployRequest(): Promise<Response>;
130
108
  /**
131
- * If you want use a custom handler for HTTP requests instead of Carbon's router, you can use this method.
109
+ * Handle an interaction request from Discord
132
110
  * @param req The request to handle
133
- * @param ctx Cloudflare Workers only. The execution context of the request, provided in the fetch handler from CF.
134
- * @returns A response to send back to the client.
111
+ * @param ctx The context for the request
112
+ * @returns A response
135
113
  */
136
- handle(req: Request, ctx?: ExecutionContext): Promise<Response>;
114
+ handleInteractionsRequest(req: Request, ctx: Context): Promise<Response>;
137
115
  /**
138
116
  * Validate the interaction request
139
117
  * @param req The request to validate
140
118
  */
141
- private validateInteraction;
119
+ private validateInteractionRequest;
142
120
  /**
143
121
  * Fetch a user from the Discord API
144
122
  * @param id The ID of the user to fetch
@@ -1 +1 @@
1
- {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../../src/classes/Client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAYhF,OAAO,EAAE,UAAU,EAAE,KAAK,cAAc,EAAqB,MAAM,aAAa,CAAA;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAG5C;;;GAGG;AACH,oBAAY,UAAU;IACrB,MAAM,SAAS;IACf,iBAAiB,eAAe;IAChC,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,GAAG,QAAQ;CACX;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC3B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;;;;;;;;;;;;OAaG;IACH,IAAI,EAAE,UAAU,CAAA;IAChB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;OAEG;IACH,cAAc,CAAC,EAAE,oBAAoB,CAAA;IACrC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;CACtB,CAAA;AAED;;GAEG;AACH,qBAAa,MAAM;IAClB;;OAEG;IACH,OAAO,EAAE,aAAa,CAAA;IACtB;;OAEG;IACH,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB;;OAEG;IACH,MAAM,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,cAAc,CAAC,CAAC,CAAA;IACrD;;OAEG;IACH,IAAI,EAAE,aAAa,CAAA;IACnB;;;OAGG;IACH,gBAAgB,EAAE,gBAAgB,CAAA;IAClC;;;OAGG;IACH,cAAc,EAAE,cAAc,CAAA;IAC9B;;;OAGG;IACH,YAAY,EAAE,YAAY,CAAA;IAE1B;;;;OAIG;gBACS,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE;IAgC3D;;;OAGG;IACG,cAAc;IAiBpB;;OAEG;IACH,OAAO,CAAC,WAAW;IAcnB;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,gBAAgB;IAgExD;;;OAGG;YACW,mBAAmB;IAoCjC;;;;OAIG;IACG,SAAS,CAAC,EAAE,EAAE,MAAM;IAK1B;;;;OAIG;IACG,UAAU,CAAC,EAAE,EAAE,MAAM;IAK3B;;;;OAIG;IACG,YAAY,CAAC,EAAE,EAAE,MAAM;IAK7B;;;;OAIG;IACG,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAK3C;;;;;OAKG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;CAQ7C;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAEhC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;CACtC"}
1
+ {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../../src/classes/Client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAYhF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAE7D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAG5C;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC3B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,cAAc,CAAC,EAAE,oBAAoB,CAAA;IACrC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B;;;OAGG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAA;CAClC,CAAA;AAED;;GAEG;AACH,qBAAa,MAAO,SAAQ,MAAM;IACjC;;OAEG;IACH,OAAO,EAAE,aAAa,CAAA;IACtB;;OAEG;IACH,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB;;OAEG;IACH,IAAI,EAAE,aAAa,CAAA;IACnB;;;OAGG;IACH,gBAAgB,EAAE,gBAAgB,CAAA;IAClC;;;OAGG;IACH,cAAc,EAAE,cAAc,CAAA;IAC9B;;;OAGG;IACH,YAAY,EAAE,YAAY,CAAA;IAE1B;;;;OAIG;gBACS,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE;IAgC3D,OAAO,CAAC,YAAY;IAgBpB;;;OAGG;IACU,mBAAmB;IAWhC;;;;;OAKG;IACU,yBAAyB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO;IAsCjE;;;OAGG;YACW,0BAA0B;IAmCxC;;;;OAIG;IACG,SAAS,CAAC,EAAE,EAAE,MAAM;IAK1B;;;;OAIG;IACG,UAAU,CAAC,EAAE,EAAE,MAAM;IAK3B;;;;OAIG;IACG,YAAY,CAAC,EAAE,EAAE,MAAM;IAK7B;;;;OAIG;IACG,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAK3C;;;;;OAKG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;CAQ7C;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAEhC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;CACtC"}