flingit 0.0.19 → 0.0.22

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 (58) hide show
  1. package/dist/cli/commands/dev.d.ts.map +1 -1
  2. package/dist/cli/commands/dev.js +9 -0
  3. package/dist/cli/commands/dev.js.map +1 -1
  4. package/dist/cli/commands/plugin.d.ts +3 -10
  5. package/dist/cli/commands/plugin.d.ts.map +1 -1
  6. package/dist/cli/commands/plugin.js +103 -209
  7. package/dist/cli/commands/plugin.js.map +1 -1
  8. package/dist/cli/commands/push.d.ts +5 -0
  9. package/dist/cli/commands/push.d.ts.map +1 -1
  10. package/dist/cli/commands/push.js +21 -33
  11. package/dist/cli/commands/push.js.map +1 -1
  12. package/dist/cli/deploy/bundler.d.ts +19 -9
  13. package/dist/cli/deploy/bundler.d.ts.map +1 -1
  14. package/dist/cli/deploy/bundler.js +168 -69
  15. package/dist/cli/deploy/bundler.js.map +1 -1
  16. package/dist/cli/utils/config.d.ts +12 -4
  17. package/dist/cli/utils/config.d.ts.map +1 -1
  18. package/dist/cli/utils/config.js +49 -6
  19. package/dist/cli/utils/config.js.map +1 -1
  20. package/dist/runtime/discord.d.ts +20 -58
  21. package/dist/runtime/discord.d.ts.map +1 -1
  22. package/dist/runtime/discord.js +22 -59
  23. package/dist/runtime/discord.js.map +1 -1
  24. package/dist/runtime/slack.d.ts +83 -0
  25. package/dist/runtime/slack.d.ts.map +1 -0
  26. package/dist/runtime/slack.js +87 -0
  27. package/dist/runtime/slack.js.map +1 -0
  28. package/dist/shared/discord-types.d.ts +23 -24
  29. package/dist/shared/discord-types.d.ts.map +1 -1
  30. package/dist/shared/plugin-metadata.d.ts +28 -0
  31. package/dist/shared/plugin-metadata.d.ts.map +1 -0
  32. package/dist/shared/plugin-metadata.js +65 -0
  33. package/dist/shared/plugin-metadata.js.map +1 -0
  34. package/dist/shared/slack-types.d.ts +61 -0
  35. package/dist/shared/slack-types.d.ts.map +1 -0
  36. package/dist/shared/slack-types.js +8 -0
  37. package/dist/shared/slack-types.js.map +1 -0
  38. package/dist/worker-runtime/discord.d.ts +80 -27
  39. package/dist/worker-runtime/discord.d.ts.map +1 -1
  40. package/dist/worker-runtime/discord.js +163 -108
  41. package/dist/worker-runtime/discord.js.map +1 -1
  42. package/dist/worker-runtime/index.d.ts +1 -1
  43. package/dist/worker-runtime/index.d.ts.map +1 -1
  44. package/dist/worker-runtime/index.js +0 -4
  45. package/dist/worker-runtime/index.js.map +1 -1
  46. package/dist/worker-runtime/plugin-common.d.ts +27 -0
  47. package/dist/worker-runtime/plugin-common.d.ts.map +1 -0
  48. package/dist/worker-runtime/plugin-common.js +91 -0
  49. package/dist/worker-runtime/plugin-common.js.map +1 -0
  50. package/dist/worker-runtime/slack.d.ts +67 -0
  51. package/dist/worker-runtime/slack.d.ts.map +1 -0
  52. package/dist/worker-runtime/slack.js +135 -0
  53. package/dist/worker-runtime/slack.js.map +1 -0
  54. package/package.json +8 -1
  55. package/templates/default/skills/fling/.hash +1 -1
  56. package/templates/default/skills/fling/DISCORD.md +112 -122
  57. package/templates/default/skills/fling/SKILL.md +7 -1
  58. package/templates/default/skills/fling/SLACK.md +214 -0
@@ -6,41 +6,98 @@
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, DiscordCommandOption, DiscordCommandOptionChoice, } from "../shared/discord-types.js";
10
+ import type { DiscordInteraction, DiscordCommandOption, 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
+ }
32
+ /**
33
+ * Reply content - can be a string or full options object.
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>;
21
42
  /**
22
- * Discord integration for Fling workers.
43
+ * Common entry point for the bundler-generated worker.
44
+ * Wraps the Discord handler with request parsing and error handling.
23
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
+ * Options (if provided) declare slash command parameters that Discord
55
+ * shows in its autocomplete UI. They are extracted at bundle time and
56
+ * sent to Discord during deployment — they are not used at runtime.
57
+ *
58
+ * @param commandName - The slash command name (e.g., "ping")
59
+ * @param description - Short description shown in Discord's command picker
60
+ * @param handlerOrOptions - Either the handler function, or an array of command options
61
+ * @param maybeHandler - The handler function (when options are provided)
27
62
  */
28
- defineCommands(commands: DiscordSlashCommand[]): DiscordSlashCommand[];
63
+ onCommand(commandName: string, _description: string, handlerOrOptions: DiscordCommandOption[] | CommandHandler, maybeHandler?: CommandHandler): 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
+ * Register a fallback handler for interactions that don't match a specific command.
66
+ * Use this for advanced cases or to handle all commands in one place.
33
67
  */
34
- verifyInteraction(c: Context): Promise<DiscordInteraction>;
68
+ onEvent(handler: GenericHandler): void;
35
69
  /**
36
- * Reply to a Discord interaction.
70
+ * Reply to an interaction.
71
+ *
72
+ * @example
73
+ * ```typescript
74
+ * // Simple string reply
75
+ * await discord.reply(interaction, "Hello!");
76
+ *
77
+ * // Reply with options
78
+ * await discord.reply(interaction, {
79
+ * content: "Secret message",
80
+ * ephemeral: true,
81
+ * });
37
82
  *
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).
83
+ * // Reply with embeds
84
+ * await discord.reply(interaction, {
85
+ * embeds: [{ title: "Status", description: "All good!", color: 0x00ff00 }],
86
+ * });
87
+ * ```
42
88
  */
43
- replyToInteraction(interaction: DiscordInteraction, options: InteractionReplyOptions): void;
89
+ reply(interaction: DiscordInteraction, content: ReplyContent): Promise<void>;
90
+ /**
91
+ * Send a followup message after the initial reply.
92
+ *
93
+ * @example
94
+ * ```typescript
95
+ * await discord.reply(interaction, "Starting...");
96
+ * await doWork();
97
+ * await discord.followup(interaction, "Done!");
98
+ * ```
99
+ */
100
+ followup(interaction: DiscordInteraction, content: ReplyContent): Promise<DiscordMessage>;
44
101
  /**
45
102
  * Send a message to a Discord channel.
46
103
  */
@@ -53,9 +110,5 @@ export declare const discord: {
53
110
  * Add a reaction to a message.
54
111
  */
55
112
  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
113
  };
61
114
  //# 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,EACd,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,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;;;;;;;;;;;;;;OAcG;2BACoB,MAAM,gBAAgB,MAAM,oBAAoB,oBAAoB,EAAE,GAAG,cAAc,iBAAiB,cAAc,GAAG,IAAI;IAKpJ;;;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,191 @@
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
+ * Options (if provided) declare slash command parameters that Discord
106
+ * shows in its autocomplete UI. They are extracted at bundle time and
107
+ * sent to Discord during deployment — they are not used at runtime.
108
+ *
109
+ * @param commandName - The slash command name (e.g., "ping")
110
+ * @param description - Short description shown in Discord's command picker
111
+ * @param handlerOrOptions - Either the handler function, or an array of command options
112
+ * @param maybeHandler - The handler function (when options are provided)
73
113
  */
74
- defineCommands(commands) {
75
- return commands;
114
+ onCommand(commandName, _description, handlerOrOptions, maybeHandler) {
115
+ const handler = typeof handlerOrOptions === "function" ? handlerOrOptions : maybeHandler;
116
+ if (handler)
117
+ _commandHandlers.set(commandName, 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
+ * Register a fallback handler for interactions that don't match a specific command.
121
+ * Use this for advanced cases or to handle all commands in one place.
81
122
  */
82
- async verifyInteraction(c) {
83
- const body = await c.req.json();
84
- return body;
123
+ onEvent(handler) {
124
+ _fallbackHandler = handler;
85
125
  },
86
126
  /**
87
- * Reply to a Discord interaction.
127
+ * Reply to an interaction.
88
128
  *
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).
129
+ * @example
130
+ * ```typescript
131
+ * // Simple string reply
132
+ * await discord.reply(interaction, "Hello!");
133
+ *
134
+ * // Reply with options
135
+ * await discord.reply(interaction, {
136
+ * content: "Secret message",
137
+ * ephemeral: true,
138
+ * });
139
+ *
140
+ * // Reply with embeds
141
+ * await discord.reply(interaction, {
142
+ * embeds: [{ title: "Status", description: "All good!", color: 0x00ff00 }],
143
+ * });
144
+ * ```
93
145
  */
94
- replyToInteraction(interaction, options) {
95
- _pendingInteractionReply = {
96
- token: interaction.token,
97
- content: options.content,
98
- embeds: options.embeds,
99
- ephemeral: options.ephemeral,
100
- };
146
+ async reply(interaction, content) {
147
+ const options = normalizeReplyContent(content);
148
+ const response = await pluginFetch(`/proxy/interactions/${interaction.id}/${interaction.token}`, {
149
+ method: "POST",
150
+ headers: await getProjectHeaders(),
151
+ body: JSON.stringify({
152
+ content: options.content,
153
+ embeds: options.embeds,
154
+ ephemeral: options.ephemeral,
155
+ }),
156
+ });
157
+ if (!response.ok) {
158
+ await throwResponseError(response, "Failed to reply to interaction");
159
+ }
160
+ },
161
+ /**
162
+ * Send a followup message after the initial reply.
163
+ *
164
+ * @example
165
+ * ```typescript
166
+ * await discord.reply(interaction, "Starting...");
167
+ * await doWork();
168
+ * await discord.followup(interaction, "Done!");
169
+ * ```
170
+ */
171
+ async followup(interaction, content) {
172
+ const options = normalizeReplyContent(content);
173
+ const response = await pluginFetch(`/proxy/interactions/${interaction.id}/${interaction.token}/followup`, {
174
+ method: "POST",
175
+ headers: await getProjectHeaders(),
176
+ body: JSON.stringify({
177
+ content: options.content,
178
+ embeds: options.embeds,
179
+ ephemeral: options.ephemeral,
180
+ }),
181
+ });
182
+ if (!response.ok) {
183
+ await throwResponseError(response, "Failed to send followup");
184
+ }
185
+ return response.json();
101
186
  },
102
187
  /**
103
188
  * Send a message to a Discord channel.
104
189
  */
105
190
  async sendMessage(options) {
106
- const apiUrl = getPlatformApiUrl();
107
- const url = `${apiUrl}/discord/proxy/messages`;
108
- const response = await fetch(url, {
191
+ const response = await pluginFetch("/proxy/messages", {
109
192
  method: "POST",
110
- headers: getProjectHeaders(),
193
+ headers: await getProjectHeaders(),
111
194
  body: JSON.stringify({
112
195
  channelId: options.channelId,
113
196
  content: options.content,
@@ -115,8 +198,7 @@ export const discord = {
115
198
  }),
116
199
  });
117
200
  if (!response.ok) {
118
- const error = await response.json();
119
- throw new Error(error.error ?? "Failed to send message");
201
+ await throwResponseError(response, "Failed to send message");
120
202
  }
121
203
  return response.json();
122
204
  },
@@ -124,19 +206,16 @@ export const discord = {
124
206
  * Edit a message.
125
207
  */
126
208
  async editMessage(channelId, messageId, options) {
127
- const apiUrl = getPlatformApiUrl();
128
- const url = `${apiUrl}/discord/proxy/messages/${channelId}/${messageId}`;
129
- const response = await fetch(url, {
209
+ const response = await pluginFetch(`/proxy/messages/${channelId}/${messageId}`, {
130
210
  method: "PATCH",
131
- headers: getProjectHeaders(),
211
+ headers: await getProjectHeaders(),
132
212
  body: JSON.stringify({
133
213
  content: options.content,
134
214
  embeds: options.embeds,
135
215
  }),
136
216
  });
137
217
  if (!response.ok) {
138
- const error = await response.json();
139
- throw new Error(error.error ?? "Failed to edit message");
218
+ await throwResponseError(response, "Failed to edit message");
140
219
  }
141
220
  return response.json();
142
221
  },
@@ -144,38 +223,14 @@ export const discord = {
144
223
  * Add a reaction to a message.
145
224
  */
146
225
  async addReaction(channelId, messageId, emoji) {
147
- const apiUrl = getPlatformApiUrl();
148
226
  const encodedEmoji = encodeURIComponent(emoji);
149
- const url = `${apiUrl}/discord/proxy/reactions/${channelId}/${messageId}/${encodedEmoji}`;
150
- const response = await fetch(url, {
227
+ const response = await pluginFetch(`/proxy/reactions/${channelId}/${messageId}/${encodedEmoji}`, {
151
228
  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
- }),
229
+ headers: await getProjectHeaders(),
173
230
  });
174
231
  if (!response.ok) {
175
- const error = await response.json();
176
- throw new Error(error.error ?? "Failed to send followup");
232
+ await throwResponseError(response, "Failed to add reaction");
177
233
  }
178
- return response.json();
179
234
  },
180
235
  };
181
236
  //# 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"}