flingit 0.0.18 → 0.0.20

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 (55) hide show
  1. package/dist/cli/commands/plugin.d.ts +3 -10
  2. package/dist/cli/commands/plugin.d.ts.map +1 -1
  3. package/dist/cli/commands/plugin.js +103 -209
  4. package/dist/cli/commands/plugin.js.map +1 -1
  5. package/dist/cli/commands/push.d.ts +5 -0
  6. package/dist/cli/commands/push.d.ts.map +1 -1
  7. package/dist/cli/commands/push.js +21 -33
  8. package/dist/cli/commands/push.js.map +1 -1
  9. package/dist/cli/deploy/bundler.d.ts +14 -10
  10. package/dist/cli/deploy/bundler.d.ts.map +1 -1
  11. package/dist/cli/deploy/bundler.js +44 -70
  12. package/dist/cli/deploy/bundler.js.map +1 -1
  13. package/dist/cli/utils/config.d.ts +12 -4
  14. package/dist/cli/utils/config.d.ts.map +1 -1
  15. package/dist/cli/utils/config.js +49 -6
  16. package/dist/cli/utils/config.js.map +1 -1
  17. package/dist/runtime/discord.d.ts +18 -59
  18. package/dist/runtime/discord.d.ts.map +1 -1
  19. package/dist/runtime/discord.js +20 -60
  20. package/dist/runtime/discord.js.map +1 -1
  21. package/dist/runtime/slack.d.ts +83 -0
  22. package/dist/runtime/slack.d.ts.map +1 -0
  23. package/dist/runtime/slack.js +87 -0
  24. package/dist/runtime/slack.js.map +1 -0
  25. package/dist/shared/discord-types.d.ts +0 -24
  26. package/dist/shared/discord-types.d.ts.map +1 -1
  27. package/dist/shared/plugin-metadata.d.ts +28 -0
  28. package/dist/shared/plugin-metadata.d.ts.map +1 -0
  29. package/dist/shared/plugin-metadata.js +65 -0
  30. package/dist/shared/plugin-metadata.js.map +1 -0
  31. package/dist/shared/slack-types.d.ts +61 -0
  32. package/dist/shared/slack-types.d.ts.map +1 -0
  33. package/dist/shared/slack-types.js +8 -0
  34. package/dist/shared/slack-types.js.map +1 -0
  35. package/dist/worker-runtime/discord.d.ts +75 -27
  36. package/dist/worker-runtime/discord.d.ts.map +1 -1
  37. package/dist/worker-runtime/discord.js +156 -108
  38. package/dist/worker-runtime/discord.js.map +1 -1
  39. package/dist/worker-runtime/index.d.ts +1 -1
  40. package/dist/worker-runtime/index.d.ts.map +1 -1
  41. package/dist/worker-runtime/index.js +0 -4
  42. package/dist/worker-runtime/index.js.map +1 -1
  43. package/dist/worker-runtime/plugin-common.d.ts +27 -0
  44. package/dist/worker-runtime/plugin-common.d.ts.map +1 -0
  45. package/dist/worker-runtime/plugin-common.js +91 -0
  46. package/dist/worker-runtime/plugin-common.js.map +1 -0
  47. package/dist/worker-runtime/slack.d.ts +67 -0
  48. package/dist/worker-runtime/slack.d.ts.map +1 -0
  49. package/dist/worker-runtime/slack.js +135 -0
  50. package/dist/worker-runtime/slack.js.map +1 -0
  51. package/package.json +10 -2
  52. package/templates/default/skills/fling/.hash +1 -1
  53. package/templates/default/skills/fling/DISCORD.md +69 -126
  54. package/templates/default/skills/fling/SKILL.md +13 -0
  55. package/templates/default/skills/fling/SLACK.md +214 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slack-types.d.ts","sourceRoot":"","sources":["../../src/shared/slack-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;CACvB"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Shared Slack types used by both the plugin worker and worker runtime.
3
+ *
4
+ * These are the canonical definitions — runtime modules re-export them
5
+ * so user code can import from "flingit/plugin/slack".
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=slack-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slack-types.js","sourceRoot":"","sources":["../../src/shared/slack-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -6,41 +6,93 @@
6
6
  *
7
7
  * Used via the "flingit/plugin/discord" subpath export.
8
8
  */
9
- import type { Context } from "hono";
10
- export type { DiscordSlashCommand, DiscordCommandOption, DiscordInteraction, DiscordEmbed, SendMessageOptions, EditMessageOptions, InteractionReplyOptions, DiscordMessage, } from "../shared/discord-types.js";
11
- import type { DiscordSlashCommand, DiscordInteraction, DiscordEmbed, SendMessageOptions, EditMessageOptions, InteractionReplyOptions, DiscordMessage } from "../shared/discord-types.js";
9
+ export type { DiscordInteraction, DiscordEmbed, SendMessageOptions, EditMessageOptions, InteractionReplyOptions, DiscordMessage, } from "../shared/discord-types.js";
10
+ import type { DiscordInteraction, SendMessageOptions, EditMessageOptions, InteractionReplyOptions, DiscordMessage } from "../shared/discord-types.js";
12
11
  /**
13
- * Get and clear the pending interaction reply (called by generated worker entry).
12
+ * Parsed command options for easier access.
14
13
  */
15
- export declare function __getPendingInteractionReply(): {
16
- token: string;
17
- content?: string | undefined;
18
- embeds?: DiscordEmbed[] | undefined;
19
- ephemeral?: boolean | undefined;
20
- } | null;
14
+ interface CommandOptions {
15
+ /**
16
+ * Get an option value by name.
17
+ */
18
+ get(name: string): string | number | boolean | undefined;
19
+ /**
20
+ * Get a string option.
21
+ */
22
+ getString(name: string): string | undefined;
23
+ /**
24
+ * Get a number option.
25
+ */
26
+ getNumber(name: string): number | undefined;
27
+ /**
28
+ * Get a boolean option.
29
+ */
30
+ getBoolean(name: string): boolean | undefined;
31
+ }
21
32
  /**
22
- * Discord integration for Fling workers.
33
+ * Reply content - can be a string or full options object.
23
34
  */
35
+ type ReplyContent = string | InteractionReplyOptions;
36
+ type CommandHandler = (interaction: DiscordInteraction, options: CommandOptions) => Promise<void> | void;
37
+ type GenericHandler = (interaction: DiscordInteraction) => Promise<void> | void;
38
+ /**
39
+ * Internal: Route an interaction to the appropriate handler.
40
+ */
41
+ export declare function __handleDiscordEvent(interaction: DiscordInteraction): Promise<void>;
42
+ /**
43
+ * Common entry point for the bundler-generated worker.
44
+ * Wraps the Discord handler with request parsing and error handling.
45
+ */
46
+ export declare function __handlePluginRequest(request: Request): Promise<Response>;
24
47
  export declare const discord: {
25
48
  /**
26
- * Define slash commands for your project.
49
+ * Register a handler for a specific slash command.
50
+ *
51
+ * The description is used to register the command with Discord's API
52
+ * during `fling push`. It must be 1–100 characters.
53
+ *
54
+ * @param commandName - The slash command name (e.g., "ping")
55
+ * @param description - Short description shown in Discord's command picker
56
+ * @param handler - Async function called when the command is invoked
57
+ */
58
+ onCommand(commandName: string, _description: string, handler: CommandHandler): void;
59
+ /**
60
+ * Register a fallback handler for interactions that don't match a specific command.
61
+ * Use this for advanced cases or to handle all commands in one place.
27
62
  */
28
- defineCommands(commands: DiscordSlashCommand[]): DiscordSlashCommand[];
63
+ onEvent(handler: GenericHandler): void;
29
64
  /**
30
- * Verify and parse a Discord interaction.
31
- * Note: In production, Fling's platform verifies the signature before
32
- * forwarding to your worker, so this just parses the interaction.
65
+ * Reply to an interaction.
66
+ *
67
+ * @example
68
+ * ```typescript
69
+ * // Simple string reply
70
+ * await discord.reply(interaction, "Hello!");
71
+ *
72
+ * // Reply with options
73
+ * await discord.reply(interaction, {
74
+ * content: "Secret message",
75
+ * ephemeral: true,
76
+ * });
77
+ *
78
+ * // Reply with embeds
79
+ * await discord.reply(interaction, {
80
+ * embeds: [{ title: "Status", description: "All good!", color: 0x00ff00 }],
81
+ * });
82
+ * ```
33
83
  */
34
- verifyInteraction(c: Context): Promise<DiscordInteraction>;
84
+ reply(interaction: DiscordInteraction, content: ReplyContent): Promise<void>;
35
85
  /**
36
- * Reply to a Discord interaction.
86
+ * Send a followup message after the initial reply.
37
87
  *
38
- * Stores the reply data so the generated worker entry can return it
39
- * in the HTTP response body. The Discord worker reads this and sends
40
- * it to Discord via the API. This avoids outbound fetch from dispatch
41
- * namespace workers (which fails with Cloudflare error 1042).
88
+ * @example
89
+ * ```typescript
90
+ * await discord.reply(interaction, "Starting...");
91
+ * await doWork();
92
+ * await discord.followup(interaction, "Done!");
93
+ * ```
42
94
  */
43
- replyToInteraction(interaction: DiscordInteraction, options: InteractionReplyOptions): void;
95
+ followup(interaction: DiscordInteraction, content: ReplyContent): Promise<DiscordMessage>;
44
96
  /**
45
97
  * Send a message to a Discord channel.
46
98
  */
@@ -53,9 +105,5 @@ export declare const discord: {
53
105
  * Add a reaction to a message.
54
106
  */
55
107
  addReaction(channelId: string, messageId: string, emoji: string): Promise<void>;
56
- /**
57
- * Send a followup message to an interaction.
58
- */
59
- sendFollowup(interaction: DiscordInteraction, options: InteractionReplyOptions): Promise<DiscordMessage>;
60
108
  };
61
109
  //# sourceMappingURL=discord.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"discord.d.ts","sourceRoot":"","sources":["../../src/worker-runtime/discord.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAIpC,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,GACf,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACf,MAAM,4BAA4B,CAAC;AA6DpC;;GAEG;AACH,wBAAgB,4BAA4B;WATnC,MAAM;cACH,MAAM,GAAG,SAAS;aACnB,YAAY,EAAE,GAAG,SAAS;gBACvB,OAAO,GAAG,SAAS;SAUhC;AAED;;GAEG;AACH,eAAO,MAAM,OAAO;IAClB;;OAEG;6BACsB,mBAAmB,EAAE,GAAG,mBAAmB,EAAE;IAItE;;;;OAIG;yBACwB,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAKhE;;;;;;;OAOG;oCAEY,kBAAkB,WACtB,uBAAuB,GAC/B,IAAI;IASP;;OAEG;yBACwB,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC;IAsBvE;;OAEG;2BAEU,MAAM,aACN,MAAM,WACR,kBAAkB,GAC1B,OAAO,CAAC,cAAc,CAAC;IAqB1B;;OAEG;2BAEU,MAAM,aACN,MAAM,SACV,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;IAgBhB;;OAEG;8BAEY,kBAAkB,WACtB,uBAAuB,GAC/B,OAAO,CAAC,cAAc,CAAC;CAqB3B,CAAC"}
1
+ {"version":3,"file":"discord.d.ts","sourceRoot":"","sources":["../../src/worker-runtime/discord.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,YAAY,EACV,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,GACf,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACf,MAAM,4BAA4B,CAAC;AAMpC;;GAEG;AACH,UAAU,cAAc;IACtB;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IAEzD;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAE5C;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAE5C;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CAC/C;AAED;;GAEG;AACH,KAAK,YAAY,GAAG,MAAM,GAAG,uBAAuB,CAAC;AAuDrD,KAAK,cAAc,GAAG,CAAC,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACzG,KAAK,cAAc,GAAG,CAAC,WAAW,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAKhF;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBzF;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAa/E;AAMD,eAAO,MAAM,OAAO;IAClB;;;;;;;;;OASG;2BACoB,MAAM,gBAAgB,MAAM,WAAW,cAAc,GAAG,IAAI;IAInF;;;OAGG;qBACc,cAAc,GAAG,IAAI;IAItC;;;;;;;;;;;;;;;;;;;OAmBG;uBACsB,kBAAkB,WAAW,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBlF;;;;;;;;;OASG;0BACyB,kBAAkB,WAAW,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC;IAoB/F;;OAEG;yBACwB,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC;IAkBvE;;OAEG;2BAEU,MAAM,aACN,MAAM,WACR,kBAAkB,GAC1B,OAAO,CAAC,cAAc,CAAC;IAiB1B;;OAEG;2BAC0B,MAAM,aAAa,MAAM,SAAS,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAatF,CAAC"}
@@ -6,108 +6,184 @@
6
6
  *
7
7
  * Used via the "flingit/plugin/discord" subpath export.
8
8
  */
9
- import { __getEnv } from "./index.js";
9
+ import { getPluginMeta } from "../shared/plugin-metadata.js";
10
+ import { createPluginFetch, getProjectHeaders, throwResponseError } from "./plugin-common.js";
11
+ // ═══════════════════════════════════════════════════════
12
+ // INTERNAL HELPERS
13
+ // ═══════════════════════════════════════════════════════
14
+ // Service binding name from plugin metadata (single source of truth)
15
+ const meta = getPluginMeta("discord");
16
+ if (!meta)
17
+ throw new Error("discord plugin not found in metadata registry");
18
+ const pluginFetch = createPluginFetch(meta.serviceBinding);
10
19
  /**
11
- * Get the platform API URL from environment.
20
+ * Parse interaction options into a convenient accessor.
12
21
  */
13
- function getPlatformApiUrl() {
14
- const env = __getEnv();
15
- const url = env["FLING_PLATFORM_API_URL"];
16
- if (typeof url === "string" && url.length > 0) {
17
- return url;
22
+ function parseOptions(interaction) {
23
+ const options = interaction.data?.options ?? [];
24
+ const optionMap = new Map();
25
+ for (const opt of options) {
26
+ optionMap.set(opt.name, opt.value);
18
27
  }
19
- return "https://api.flingit.run";
28
+ return {
29
+ get(name) {
30
+ return optionMap.get(name);
31
+ },
32
+ getString(name) {
33
+ const val = optionMap.get(name);
34
+ return typeof val === "string" ? val : undefined;
35
+ },
36
+ getNumber(name) {
37
+ const val = optionMap.get(name);
38
+ return typeof val === "number" ? val : undefined;
39
+ },
40
+ getBoolean(name) {
41
+ const val = optionMap.get(name);
42
+ return typeof val === "boolean" ? val : undefined;
43
+ },
44
+ };
20
45
  }
21
46
  /**
22
- * Get project context headers for proxy requests.
47
+ * Normalize reply content to full options object.
23
48
  */
24
- function getProjectHeaders() {
25
- const env = __getEnv();
26
- const projectId = env["FLING_PROJECT_ID"];
27
- const userId = env["FLING_USER_ID"];
28
- const internalToken = env["FLING_INTERNAL_TOKEN"];
29
- let projectIdStr = "";
30
- if (typeof projectId === "string") {
31
- projectIdStr = projectId;
32
- }
33
- else if (typeof projectId === "number") {
34
- projectIdStr = String(projectId);
35
- }
36
- let userIdStr = "";
37
- if (typeof userId === "string") {
38
- userIdStr = userId;
49
+ function normalizeReplyContent(content) {
50
+ if (typeof content === "string") {
51
+ return { content };
39
52
  }
40
- else if (typeof userId === "number") {
41
- userIdStr = String(userId);
42
- }
43
- let tokenStr = "";
44
- if (typeof internalToken === "string") {
45
- tokenStr = internalToken;
46
- }
47
- return {
48
- "X-Fling-Project-Id": projectIdStr,
49
- "X-Fling-User-Id": userIdStr,
50
- "X-Fling-Internal-Token": tokenStr,
51
- "Content-Type": "application/json",
52
- };
53
+ return content;
53
54
  }
54
- // Pending interaction reply — set by replyToInteraction(), read by the
55
- // generated entry point so the Discord worker can send it to Discord.
56
- // This avoids the user worker needing to call back to the API (which fails
57
- // in dispatch namespace workers due to Cloudflare routing restrictions).
58
- let _pendingInteractionReply = null;
55
+ const _commandHandlers = new Map();
56
+ let _fallbackHandler = null;
59
57
  /**
60
- * Get and clear the pending interaction reply (called by generated worker entry).
58
+ * Internal: Route an interaction to the appropriate handler.
61
59
  */
62
- export function __getPendingInteractionReply() {
63
- const reply = _pendingInteractionReply;
64
- _pendingInteractionReply = null;
65
- return reply;
60
+ export async function __handleDiscordEvent(interaction) {
61
+ const commandName = interaction.data?.name;
62
+ // Try specific command handler first
63
+ if (commandName) {
64
+ const handler = _commandHandlers.get(commandName);
65
+ if (handler) {
66
+ const options = parseOptions(interaction);
67
+ await handler(interaction, options);
68
+ return;
69
+ }
70
+ }
71
+ // Fallback handler
72
+ if (_fallbackHandler) {
73
+ await _fallbackHandler(interaction);
74
+ }
66
75
  }
67
76
  /**
68
- * Discord integration for Fling workers.
77
+ * Common entry point for the bundler-generated worker.
78
+ * Wraps the Discord handler with request parsing and error handling.
69
79
  */
80
+ export async function __handlePluginRequest(request) {
81
+ try {
82
+ const interaction = await request.json();
83
+ await __handleDiscordEvent(interaction);
84
+ return new Response(JSON.stringify({ ok: true }), {
85
+ headers: { "Content-Type": "application/json" },
86
+ });
87
+ }
88
+ catch (error) {
89
+ console.error("Discord event handler error:", error);
90
+ return new Response(JSON.stringify({ ok: true }), {
91
+ headers: { "Content-Type": "application/json" },
92
+ });
93
+ }
94
+ }
95
+ // ═══════════════════════════════════════════════════════
96
+ // PUBLIC API
97
+ // ═══════════════════════════════════════════════════════
70
98
  export const discord = {
71
99
  /**
72
- * Define slash commands for your project.
100
+ * Register a handler for a specific slash command.
101
+ *
102
+ * The description is used to register the command with Discord's API
103
+ * during `fling push`. It must be 1–100 characters.
104
+ *
105
+ * @param commandName - The slash command name (e.g., "ping")
106
+ * @param description - Short description shown in Discord's command picker
107
+ * @param handler - Async function called when the command is invoked
108
+ */
109
+ onCommand(commandName, _description, handler) {
110
+ _commandHandlers.set(commandName, handler);
111
+ },
112
+ /**
113
+ * Register a fallback handler for interactions that don't match a specific command.
114
+ * Use this for advanced cases or to handle all commands in one place.
73
115
  */
74
- defineCommands(commands) {
75
- return commands;
116
+ onEvent(handler) {
117
+ _fallbackHandler = handler;
76
118
  },
77
119
  /**
78
- * Verify and parse a Discord interaction.
79
- * Note: In production, Fling's platform verifies the signature before
80
- * forwarding to your worker, so this just parses the interaction.
120
+ * Reply to an interaction.
121
+ *
122
+ * @example
123
+ * ```typescript
124
+ * // Simple string reply
125
+ * await discord.reply(interaction, "Hello!");
126
+ *
127
+ * // Reply with options
128
+ * await discord.reply(interaction, {
129
+ * content: "Secret message",
130
+ * ephemeral: true,
131
+ * });
132
+ *
133
+ * // Reply with embeds
134
+ * await discord.reply(interaction, {
135
+ * embeds: [{ title: "Status", description: "All good!", color: 0x00ff00 }],
136
+ * });
137
+ * ```
81
138
  */
82
- async verifyInteraction(c) {
83
- const body = await c.req.json();
84
- return body;
139
+ async reply(interaction, content) {
140
+ const options = normalizeReplyContent(content);
141
+ const response = await pluginFetch(`/proxy/interactions/${interaction.id}/${interaction.token}`, {
142
+ method: "POST",
143
+ headers: await getProjectHeaders(),
144
+ body: JSON.stringify({
145
+ content: options.content,
146
+ embeds: options.embeds,
147
+ ephemeral: options.ephemeral,
148
+ }),
149
+ });
150
+ if (!response.ok) {
151
+ await throwResponseError(response, "Failed to reply to interaction");
152
+ }
85
153
  },
86
154
  /**
87
- * Reply to a Discord interaction.
155
+ * Send a followup message after the initial reply.
88
156
  *
89
- * Stores the reply data so the generated worker entry can return it
90
- * in the HTTP response body. The Discord worker reads this and sends
91
- * it to Discord via the API. This avoids outbound fetch from dispatch
92
- * namespace workers (which fails with Cloudflare error 1042).
157
+ * @example
158
+ * ```typescript
159
+ * await discord.reply(interaction, "Starting...");
160
+ * await doWork();
161
+ * await discord.followup(interaction, "Done!");
162
+ * ```
93
163
  */
94
- replyToInteraction(interaction, options) {
95
- _pendingInteractionReply = {
96
- token: interaction.token,
97
- content: options.content,
98
- embeds: options.embeds,
99
- ephemeral: options.ephemeral,
100
- };
164
+ async followup(interaction, content) {
165
+ const options = normalizeReplyContent(content);
166
+ const response = await pluginFetch(`/proxy/interactions/${interaction.id}/${interaction.token}/followup`, {
167
+ method: "POST",
168
+ headers: await getProjectHeaders(),
169
+ body: JSON.stringify({
170
+ content: options.content,
171
+ embeds: options.embeds,
172
+ ephemeral: options.ephemeral,
173
+ }),
174
+ });
175
+ if (!response.ok) {
176
+ await throwResponseError(response, "Failed to send followup");
177
+ }
178
+ return response.json();
101
179
  },
102
180
  /**
103
181
  * Send a message to a Discord channel.
104
182
  */
105
183
  async sendMessage(options) {
106
- const apiUrl = getPlatformApiUrl();
107
- const url = `${apiUrl}/discord/proxy/messages`;
108
- const response = await fetch(url, {
184
+ const response = await pluginFetch("/proxy/messages", {
109
185
  method: "POST",
110
- headers: getProjectHeaders(),
186
+ headers: await getProjectHeaders(),
111
187
  body: JSON.stringify({
112
188
  channelId: options.channelId,
113
189
  content: options.content,
@@ -115,8 +191,7 @@ export const discord = {
115
191
  }),
116
192
  });
117
193
  if (!response.ok) {
118
- const error = await response.json();
119
- throw new Error(error.error ?? "Failed to send message");
194
+ await throwResponseError(response, "Failed to send message");
120
195
  }
121
196
  return response.json();
122
197
  },
@@ -124,19 +199,16 @@ export const discord = {
124
199
  * Edit a message.
125
200
  */
126
201
  async editMessage(channelId, messageId, options) {
127
- const apiUrl = getPlatformApiUrl();
128
- const url = `${apiUrl}/discord/proxy/messages/${channelId}/${messageId}`;
129
- const response = await fetch(url, {
202
+ const response = await pluginFetch(`/proxy/messages/${channelId}/${messageId}`, {
130
203
  method: "PATCH",
131
- headers: getProjectHeaders(),
204
+ headers: await getProjectHeaders(),
132
205
  body: JSON.stringify({
133
206
  content: options.content,
134
207
  embeds: options.embeds,
135
208
  }),
136
209
  });
137
210
  if (!response.ok) {
138
- const error = await response.json();
139
- throw new Error(error.error ?? "Failed to edit message");
211
+ await throwResponseError(response, "Failed to edit message");
140
212
  }
141
213
  return response.json();
142
214
  },
@@ -144,38 +216,14 @@ export const discord = {
144
216
  * Add a reaction to a message.
145
217
  */
146
218
  async addReaction(channelId, messageId, emoji) {
147
- const apiUrl = getPlatformApiUrl();
148
219
  const encodedEmoji = encodeURIComponent(emoji);
149
- const url = `${apiUrl}/discord/proxy/reactions/${channelId}/${messageId}/${encodedEmoji}`;
150
- const response = await fetch(url, {
220
+ const response = await pluginFetch(`/proxy/reactions/${channelId}/${messageId}/${encodedEmoji}`, {
151
221
  method: "PUT",
152
- headers: getProjectHeaders(),
153
- });
154
- if (!response.ok) {
155
- const error = await response.json();
156
- throw new Error(error.error ?? "Failed to add reaction");
157
- }
158
- },
159
- /**
160
- * Send a followup message to an interaction.
161
- */
162
- async sendFollowup(interaction, options) {
163
- const apiUrl = getPlatformApiUrl();
164
- const url = `${apiUrl}/discord/proxy/interactions/${interaction.id}/${interaction.token}/followup`;
165
- const response = await fetch(url, {
166
- method: "POST",
167
- headers: getProjectHeaders(),
168
- body: JSON.stringify({
169
- content: options.content,
170
- embeds: options.embeds,
171
- ephemeral: options.ephemeral,
172
- }),
222
+ headers: await getProjectHeaders(),
173
223
  });
174
224
  if (!response.ok) {
175
- const error = await response.json();
176
- throw new Error(error.error ?? "Failed to send followup");
225
+ await throwResponseError(response, "Failed to add reaction");
177
226
  }
178
- return response.json();
179
227
  },
180
228
  };
181
229
  //# sourceMappingURL=discord.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"discord.js","sourceRoot":"","sources":["../../src/worker-runtime/discord.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discord.js","sourceRoot":"","sources":["../../src/worker-runtime/discord.ts"],"names":[],"mappings":"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"}
@@ -125,5 +125,5 @@ import type { Storage } from "../types/storage.js";
125
125
  * ```
126
126
  */
127
127
  export declare const storage: Storage;
128
- export { __getPendingInteractionReply } from "./discord.js";
128
+ export {};
129
129
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/worker-runtime/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAK5B;;;GAGG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAE5D;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKlD;AAMD,KAAK,SAAS,GAAG;IACf,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,GAAG;eAAyB,SAAS;yCAAK,CAAC;AASxD;;GAEG;AACH,wBAAgB,QAAQ;eAZiB,SAAS;0CAcjD;AAMD;;GAEG;AACH,KAAK,WAAW,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;AAI1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAE/E;AAED;;GAEG;AACH,wBAAgB,iBAAiB;cAtCgB,MAAM;aAAW,WAAW;GAwC5E;AAaD;;GAEG;AACH,wBAAgB,OAAO,CACrB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAC3B,IAAI,CAKN;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CA4FrD;AAMD;;;;;;;;;GASG;AACH,eAAO,MAAM,EAAE;iBACA,MAAM;sBAYD,OAAO,EAAE;cAWX,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAavC,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,OAAO;cACR,MAAM,GAAG,MAAM;cAUf,MAAM,GAAG,OAAO;CAI3B,CAAC;AAMF,OAAO,KAAK,EACV,OAAO,EAMR,MAAM,qBAAqB,CAAC;AA+F7B;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,OAAO,EAAE,OA6CrB,CAAC;AAMF,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/worker-runtime/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAK5B;;;GAGG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAE5D;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKlD;AAMD,KAAK,SAAS,GAAG;IACf,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,GAAG;eAAyB,SAAS;yCAAK,CAAC;AASxD;;GAEG;AACH,wBAAgB,QAAQ;eAZiB,SAAS;0CAcjD;AAMD;;GAEG;AACH,KAAK,WAAW,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;AAI1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAE/E;AAED;;GAEG;AACH,wBAAgB,iBAAiB;cAtCgB,MAAM;aAAW,WAAW;GAwC5E;AAaD;;GAEG;AACH,wBAAgB,OAAO,CACrB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAC3B,IAAI,CAKN;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CA4FrD;AAMD;;;;;;;;;GASG;AACH,eAAO,MAAM,EAAE;iBACA,MAAM;sBAYD,OAAO,EAAE;cAWX,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAavC,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,OAAO;cACR,MAAM,GAAG,MAAM;cAUf,MAAM,GAAG,OAAO;CAI3B,CAAC;AAMF,OAAO,KAAK,EACV,OAAO,EAMR,MAAM,qBAAqB,CAAC;AA+F7B;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,OAAO,EAAE,OA6CrB,CAAC"}
@@ -338,8 +338,4 @@ export const storage = {
338
338
  return listResult;
339
339
  },
340
340
  };
341
- // ============================================================================
342
- // Discord (re-export for bundler entry code)
343
- // ============================================================================
344
- export { __getPendingInteractionReply } from "./discord.js";
345
341
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/worker-runtime/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/worker-runtime/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Shared helpers for plugin worker-runtime modules.
3
+ *
4
+ * Extracts the common plumbing (service binding fetch, identity tokens,
5
+ * HMAC signing, error parsing) so each plugin module only contains
6
+ * plugin-specific logic.
7
+ */
8
+ /**
9
+ * Create a pluginFetch function bound to a specific service binding name.
10
+ *
11
+ * @param bindingName - The env binding name (e.g., "DISCORD_PLUGIN")
12
+ */
13
+ export declare function createPluginFetch(bindingName: string): (path: string, init?: RequestInit) => Promise<Response>;
14
+ export declare function hmacSha256(secret: string, message: string): Promise<string>;
15
+ export declare function generateIdentityToken(): Promise<string>;
16
+ export declare function getProjectHeaders(): Promise<Record<string, string>>;
17
+ /**
18
+ * Parse an error response and throw with a descriptive message.
19
+ * Handles both JSON and non-JSON error bodies gracefully.
20
+ */
21
+ export declare function throwResponseError(response: Response, defaultMessage: string): Promise<never>;
22
+ /**
23
+ * Reset the identity token cache. Exposed for testing only.
24
+ * @internal
25
+ */
26
+ export declare function __resetTokenCache(): void;
27
+ //# sourceMappingURL=plugin-common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-common.d.ts","sourceRoot":"","sources":["../../src/worker-runtime/plugin-common.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAYH;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAc9G;AAMD,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAajF;AAED,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,CAoB7D;AAKD,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAWzE;AAMD;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAWnG;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC"}