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
@@ -8,6 +8,7 @@ import { fileURLToPath } from "node:url";
8
8
  import { existsSync } from "node:fs";
9
9
  import { readFile } from "node:fs/promises";
10
10
  import { createHash } from "node:crypto";
11
+ import { getSupportedPluginIds } from "../../shared/plugin-metadata.js";
11
12
  const __dirname = dirname(fileURLToPath(import.meta.url));
12
13
  /**
13
14
  * esbuild plugin for WebAssembly support in production (Cloudflare Workers).
@@ -145,11 +146,11 @@ function getWorkerRuntimePath() {
145
146
  return join(__dirname, "..", "..", "worker-runtime", "index.js");
146
147
  }
147
148
  /**
148
- * Get the path to the worker runtime Discord module.
149
+ * Get the path to a plugin's worker runtime module.
149
150
  */
150
- function getWorkerRuntimeDiscordPath() {
151
- // From dist/cli/deploy/ -> dist/worker-runtime/discord.js
152
- return join(__dirname, "..", "..", "worker-runtime", "discord.js");
151
+ function getWorkerRuntimePluginPath(pluginId) {
152
+ // From dist/cli/deploy/ -> dist/worker-runtime/{pluginId}.js
153
+ return join(__dirname, "..", "..", "worker-runtime", `${pluginId}.js`);
153
154
  }
154
155
  /**
155
156
  * Bundle user's app.ts for platform deployment.
@@ -170,7 +171,6 @@ function getWorkerRuntimeDiscordPath() {
170
171
  export async function bundleForPlatform(projectDir, verbose = false) {
171
172
  const appPath = join(projectDir, "src", "worker", "index.ts");
172
173
  const workerRuntimePath = getWorkerRuntimePath();
173
- const workerRuntimeDiscordPath = getWorkerRuntimeDiscordPath();
174
174
  if (!existsSync(appPath)) {
175
175
  throw new Error("Worker entry point not found: src/worker/index.ts\n\n" +
176
176
  "This file is your backend API entry point.\n" +
@@ -181,9 +181,24 @@ export async function bundleForPlatform(projectDir, verbose = false) {
181
181
  console.log("[verbose] appPath:", appPath);
182
182
  console.log("[verbose] workerRuntimePath:", workerRuntimePath);
183
183
  }
184
+ // Generate plugin imports and routes from the registry
185
+ const pluginIds = getSupportedPluginIds();
186
+ const pluginImports = pluginIds
187
+ .map((id) => {
188
+ const path = getWorkerRuntimePluginPath(id);
189
+ return `import { __handlePluginRequest as __handle_${id} } from "${path}";`;
190
+ })
191
+ .join("\n");
192
+ const pluginRoutes = pluginIds
193
+ .map((id) => ` if (url.pathname === "/__plugin/${id}" && request.method === "POST") {\n` +
194
+ ` await ensureInit(env);\n` +
195
+ ` return __handle_${id}(request);\n` +
196
+ ` }`)
197
+ .join("\n\n");
184
198
  // Create the worker entry code that wraps the user's app
185
199
  const entryCode = `
186
- import { __initEnv, __getApp, __runMigrations, __getCronHandlers, __getPendingInteractionReply } from "${workerRuntimePath}";
200
+ import { __initEnv, __getApp, __runMigrations, __getCronHandlers } from "${workerRuntimePath}";
201
+ ${pluginImports}
187
202
 
188
203
  let initialized = false;
189
204
  let initError = null;
@@ -273,24 +288,8 @@ export default {
273
288
  return handleCronRequest(request, env);
274
289
  }
275
290
 
276
- // Handle Discord interactions (forwarded from platform)
277
- if (url.pathname === "/discord" && request.method === "POST") {
278
- await ensureInit(env);
279
- const response = await __getApp().fetch(request, env, ctx);
280
-
281
- // Check if the handler stored a pending interaction reply.
282
- // Return it in the response body so the Discord worker can
283
- // send it to Discord (dispatch namespace workers can't fetch
284
- // external URLs directly).
285
- const pendingReply = __getPendingInteractionReply();
286
- if (pendingReply) {
287
- return new Response(JSON.stringify({ _discordReply: pendingReply }), {
288
- headers: { "Content-Type": "application/json" },
289
- });
290
- }
291
-
292
- return response;
293
- }
291
+ // Handle plugin events (forwarded from plugin workers via internal paths)
292
+ ${pluginRoutes}
294
293
 
295
294
  await ensureInit(env);
296
295
  return __getApp().fetch(request, env, ctx);
@@ -318,9 +317,9 @@ export default {
318
317
  write: false,
319
318
  external: [], // Bundle everything (except WASM which is marked external by plugin)
320
319
  alias: {
321
- // Redirect 'flingit/plugin/discord' to worker runtime discord module
320
+ // Redirect 'flingit/plugin/{id}' to worker runtime plugin modules
322
321
  // (longest-match wins in esbuild >=0.17.11)
323
- "flingit/plugin/discord": workerRuntimeDiscordPath,
322
+ ...Object.fromEntries(pluginIds.map((id) => [`flingit/plugin/${id}`, getWorkerRuntimePluginPath(id)])),
324
323
  // Redirect 'flingit' imports to worker runtime
325
324
  flingit: workerRuntimePath,
326
325
  },
@@ -348,17 +347,17 @@ export default {
348
347
  if (verbose && Object.keys(cronSchedules).length > 0) {
349
348
  console.log("[verbose] Found cron schedules:", cronSchedules);
350
349
  }
351
- // Extract Discord commands from bundled code
352
- const discordCommands = extractDiscordCommands(code);
353
- if (verbose && discordCommands.length > 0) {
354
- console.log("[verbose] Found Discord commands:", discordCommands);
355
- }
356
350
  // Get tracked WASM modules
357
351
  const wasmModules = getWasmModules();
358
352
  if (verbose && wasmModules.length > 0) {
359
353
  console.log("[verbose] Found WASM modules:", wasmModules.map((m) => m.importPath));
360
354
  }
361
- return { code, cronSchedules, discordCommands, wasmModules };
355
+ // Extract Discord slash commands from bundled code
356
+ const discordCommands = extractDiscordCommands(code);
357
+ if (verbose && discordCommands.length > 0) {
358
+ console.log("[verbose] Found Discord commands:", discordCommands);
359
+ }
360
+ return { code, cronSchedules, wasmModules, discordCommands };
362
361
  }
363
362
  /**
364
363
  * Extract cron schedules from bundled JavaScript code.
@@ -386,51 +385,151 @@ export function extractCronSchedules(code) {
386
385
  }
387
386
  return schedules;
388
387
  }
388
+ /**
389
+ * Extract options array from bundled code starting after the description match.
390
+ *
391
+ * Looks for a comma followed by `[...]` (an array literal) before the handler.
392
+ * Uses bracket matching to handle nested structures, strings, and escapes.
393
+ * Evaluates the literal with `new Function` — safe since it's the user's own
394
+ * bundled code running in the CLI process.
395
+ *
396
+ * Returns undefined on any failure (graceful degradation).
397
+ */
398
+ function extractOptionsAfterMatch(code, matchEnd) {
399
+ // Skip whitespace after the description closing quote
400
+ let i = matchEnd;
401
+ while (i < code.length && /\s/.test(code.charAt(i)))
402
+ i++;
403
+ // Expect a comma
404
+ if (code.charAt(i) !== ",")
405
+ return undefined;
406
+ i++;
407
+ // Skip whitespace after comma
408
+ while (i < code.length && /\s/.test(code.charAt(i)))
409
+ i++;
410
+ // Must start with [ for an options array
411
+ if (code.charAt(i) !== "[")
412
+ return undefined;
413
+ // Bracket-match to find closing ]
414
+ const start = i;
415
+ let depth = 0;
416
+ let inString = null;
417
+ let escaped = false;
418
+ for (; i < code.length; i++) {
419
+ const ch = code.charAt(i);
420
+ if (escaped) {
421
+ escaped = false;
422
+ continue;
423
+ }
424
+ if (ch === "\\") {
425
+ escaped = true;
426
+ continue;
427
+ }
428
+ if (inString) {
429
+ if (ch === inString)
430
+ inString = null;
431
+ continue;
432
+ }
433
+ if (ch === '"' || ch === "'" || ch === "`") {
434
+ inString = ch;
435
+ continue;
436
+ }
437
+ if (ch === "[")
438
+ depth++;
439
+ else if (ch === "]") {
440
+ depth--;
441
+ if (depth === 0)
442
+ break;
443
+ }
444
+ }
445
+ if (depth !== 0)
446
+ return undefined;
447
+ const literal = code.slice(start, i + 1);
448
+ try {
449
+ // eslint-disable-next-line @typescript-eslint/no-implied-eval, @typescript-eslint/no-unsafe-call
450
+ const parsed = new Function("return " + literal)();
451
+ if (!Array.isArray(parsed) || parsed.length === 0)
452
+ return undefined;
453
+ return validateOptions(parsed);
454
+ }
455
+ catch {
456
+ return undefined;
457
+ }
458
+ }
459
+ const VALID_OPTION_TYPES = new Set(["string", "integer", "boolean", "number"]);
460
+ /**
461
+ * Validate and normalize parsed option objects.
462
+ * Returns undefined if any option is invalid.
463
+ */
464
+ function validateOptions(raw) {
465
+ const options = [];
466
+ for (const item of raw) {
467
+ if (typeof item !== "object" || item === null)
468
+ return undefined;
469
+ const obj = item;
470
+ const name = obj["name"];
471
+ const type = obj["type"];
472
+ const description = obj["description"];
473
+ if (typeof name !== "string" || !name)
474
+ return undefined;
475
+ if (typeof type !== "string" || !VALID_OPTION_TYPES.has(type))
476
+ return undefined;
477
+ if (typeof description !== "string" || !description)
478
+ return undefined;
479
+ const opt = {
480
+ name,
481
+ type: type,
482
+ description,
483
+ };
484
+ const required = obj["required"];
485
+ if (required !== undefined) {
486
+ opt.required = required !== false;
487
+ }
488
+ const choices = obj["choices"];
489
+ if (Array.isArray(choices) && choices.length > 0) {
490
+ const validated = [];
491
+ for (const c of choices) {
492
+ if (typeof c !== "object" || c === null)
493
+ return undefined;
494
+ const choice = c;
495
+ const cName = choice["name"];
496
+ const cValue = choice["value"];
497
+ if (typeof cName !== "string")
498
+ return undefined;
499
+ if (typeof cValue !== "string" && typeof cValue !== "number")
500
+ return undefined;
501
+ validated.push({ name: cName, value: cValue });
502
+ }
503
+ opt.choices = validated;
504
+ }
505
+ options.push(opt);
506
+ }
507
+ return options.length > 0 ? options : undefined;
508
+ }
389
509
  /**
390
510
  * Extract Discord slash commands from bundled JavaScript code.
391
- * Looks for defineCommands([...]) calls and extracts command definitions.
511
+ * Looks for .onCommand("name", "description", ...) calls.
392
512
  *
393
- * This uses a simple approach: find the defineCommands call and extract
394
- * command objects with name and description properties.
513
+ * Also extracts command options when provided as a 3rd argument array
514
+ * before the handler function.
395
515
  *
396
516
  * @param code - The bundled JavaScript code
397
- * @returns Array of Discord slash command definitions
517
+ * @returns Array of extracted Discord commands
398
518
  */
399
519
  export function extractDiscordCommands(code) {
400
520
  const commands = [];
401
- // Look for defineCommands call with array argument
402
- // This regex finds the start of the defineCommands call
403
- const defineCommandsStart = /\bdefineCommands\s*\(\s*\[/g;
404
- let startMatch;
405
- while ((startMatch = defineCommandsStart.exec(code)) !== null) {
406
- const startIndex = startMatch.index + startMatch[0].length;
407
- // Find the matching closing bracket
408
- let depth = 1;
409
- let endIndex = startIndex;
410
- for (let i = startIndex; i < code.length && depth > 0; i++) {
411
- if (code[i] === "[" || code[i] === "{") {
412
- depth++;
413
- }
414
- else if (code[i] === "]" || code[i] === "}") {
415
- depth--;
416
- }
417
- endIndex = i;
418
- }
419
- // Extract the array content
420
- const arrayContent = "[" + code.slice(startIndex, endIndex);
421
- // Try to parse individual command objects from the array
422
- // Look for { name: "...", description: "..." } patterns
423
- const commandRegex = /\{\s*name\s*:\s*["'`]([^"'`]+)["'`]\s*,\s*description\s*:\s*["'`]([^"'`]+)["'`]/g;
424
- let cmdMatch;
425
- while ((cmdMatch = commandRegex.exec(arrayContent)) !== null) {
426
- const name = cmdMatch[1];
427
- const description = cmdMatch[2];
428
- if (name && description) {
429
- // Check if this command already exists (avoid duplicates)
430
- if (!commands.some((c) => c.name === name)) {
431
- commands.push({ name, description });
432
- }
433
- }
521
+ const seen = new Set();
522
+ // Match .onCommand("name", "description", ...) calls with string literals
523
+ // This regex handles double quotes, single quotes, and template literals
524
+ const commandCallRegex = /\.onCommand\s*\(\s*["'`]([^"'`]+)["'`]\s*,\s*["'`]([^"'`]+)["'`]/g;
525
+ let match;
526
+ while ((match = commandCallRegex.exec(code)) !== null) {
527
+ const name = match[1];
528
+ const description = match[2];
529
+ if (name && description && !seen.has(name)) {
530
+ seen.add(name);
531
+ const options = extractOptionsAfterMatch(code, match.index + match[0].length);
532
+ commands.push(options ? { name, description, options } : { name, description });
434
533
  }
435
534
  }
436
535
  return commands;
@@ -1 +1 @@
1
- {"version":3,"file":"bundler.js","sourceRoot":"","sources":["../../../src/cli/deploy/bundler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bundler.js","sourceRoot":"","sources":["../../../src/cli/deploy/bundler.ts"],"names":[],"mappings":"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"}
@@ -52,10 +52,6 @@ export declare function getApiUrlWithIO(io: ConfigIO, configDir: string): string
52
52
  * Set the API URL (for development/testing).
53
53
  */
54
54
  export declare function setApiUrlWithIO(io: ConfigIO, configDir: string, url: string): void;
55
- /**
56
- * Reset the migration flag. Used for testing.
57
- */
58
- export declare function resetMigrationFlag(): void;
59
55
  /**
60
56
  * Reset the cached config dir. Used for testing.
61
57
  */
@@ -106,4 +102,16 @@ export declare function setPlatformFetch(fn: PlatformFetchFn): void;
106
102
  * Reset to the default platform fetch implementation.
107
103
  */
108
104
  export declare function resetPlatformFetch(): void;
105
+ /**
106
+ * Derive the plugin worker URL from the platform API URL.
107
+ *
108
+ * Production: https://discord.plugin.flingit.run
109
+ * Private platform: Replace -api suffix with -{pluginId} in workers.dev hostname
110
+ * e.g., https://my-fling-api.user.workers.dev -> https://my-fling-discord.user.workers.dev
111
+ */
112
+ export declare function getPluginUrl(pluginId: string): string;
113
+ /**
114
+ * Make an authenticated fetch to a plugin worker.
115
+ */
116
+ export declare function pluginFetch(pluginId: string, path: string, options?: RequestInit): Promise<Response>;
109
117
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAQ5C;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,CAEvD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,CAMpD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CA8BnD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,EAAE,gBAAgB,GAAE,OAAc,GAAG,MAAM,CAYzF;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK7E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAInF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAGtE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAWvE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAIlF;AASD;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAqBD;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,MAAM,GAAG,IAAI,CAExC;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAE5C;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAEjC;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAE3C;AAMD;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AA2BzF;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,QAAQ,CAAC,CAEnB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,eAAe,GAAG,IAAI,CAE1D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAQ5C;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,CAEvD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,CAMpD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAkCnD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,QAAQ,EACZ,gBAAgB,GAAE,OAAc,GAC/B,MAAM,CAYR;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK7E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,IAAI,CAIN;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAGtE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAWvE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,GACV,IAAI,CAIN;AA4BD;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,MAAM,GAAG,IAAI,CAExC;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAE5C;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAEjC;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAE3C;AAMD;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,CAC5B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC,QAAQ,CAAC,CAAC;AA2BvB;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,QAAQ,CAAC,CAEnB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,eAAe,GAAG,IAAI,CAE1D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA4BrD;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,QAAQ,CAAC,CAcnB"}
@@ -134,12 +134,6 @@ export function setApiUrlWithIO(io, configDir, url) {
134
134
  // ═══════════════════════════════════════════════════════
135
135
  // Track whether migration has been attempted this session
136
136
  let migrationAttempted = false;
137
- /**
138
- * Reset the migration flag. Used for testing.
139
- */
140
- export function resetMigrationFlag() {
141
- migrationAttempted = false;
142
- }
143
137
  // ═══════════════════════════════════════════════════════
144
138
  // CONVENIENCE EXPORTS (use default IO, for production)
145
139
  // ═══════════════════════════════════════════════════════
@@ -243,4 +237,53 @@ export function setPlatformFetch(fn) {
243
237
  export function resetPlatformFetch() {
244
238
  _platformFetchImpl = defaultPlatformFetch;
245
239
  }
240
+ /**
241
+ * Derive the plugin worker URL from the platform API URL.
242
+ *
243
+ * Production: https://discord.plugin.flingit.run
244
+ * Private platform: Replace -api suffix with -{pluginId} in workers.dev hostname
245
+ * e.g., https://my-fling-api.user.workers.dev -> https://my-fling-discord.user.workers.dev
246
+ */
247
+ export function getPluginUrl(pluginId) {
248
+ const apiUrl = getApiUrl();
249
+ try {
250
+ const parsed = new URL(apiUrl);
251
+ if (parsed.hostname.endsWith(".workers.dev")) {
252
+ // Private platform: replace -api with -{pluginId}
253
+ const hostname = parsed.hostname.replace(/-api\./, `-${pluginId}.`);
254
+ return `${parsed.protocol}//${hostname}`;
255
+ }
256
+ // Production: {pluginId}.plugin.{domain}
257
+ // API URL is like https://api.flingit.run
258
+ // Plugin URL is like https://discord.plugin.flingit.run
259
+ const parts = parsed.hostname.split(".");
260
+ if (parts[0] === "api") {
261
+ const domain = parts.slice(1).join(".");
262
+ return `${parsed.protocol}//${pluginId}.plugin.${domain}`;
263
+ }
264
+ // Fallback: just replace api with plugin ID
265
+ const hostname = parsed.hostname.replace(/^api\./, `${pluginId}.plugin.`);
266
+ return `${parsed.protocol}//${hostname}`;
267
+ }
268
+ catch {
269
+ // If URL parsing fails, return a best-effort URL
270
+ return apiUrl.replace("/api.", `/${pluginId}.plugin.`);
271
+ }
272
+ }
273
+ /**
274
+ * Make an authenticated fetch to a plugin worker.
275
+ */
276
+ export async function pluginFetch(pluginId, path, options = {}) {
277
+ const token = getToken();
278
+ if (!token) {
279
+ throw new Error("Not logged in. Run 'fling login' first.");
280
+ }
281
+ const url = `${getPluginUrl(pluginId)}${path}`;
282
+ const headers = new Headers(options.headers);
283
+ headers.set("Authorization", `Bearer ${token}`);
284
+ return fetch(url, {
285
+ ...options,
286
+ headers,
287
+ });
288
+ }
246
289
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/cli/utils/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE,0DAA0D;AAC1D,iDAAiD;AACjD,0DAA0D;AAE1D;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,EAAY;IAC7C,OAAO,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,EAAY;IAC1C,MAAM,SAAS,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAChD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,EAAY;IACxC,qCAAqC;IACrC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IAEnC,qDAAqD;IACrD,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACzD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,4CAA4C;IAC5C,IAAI,CAAC;QACH,6EAA6E;QAC7E,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QACnC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE/C,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAClC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,gEAAgE;QAChE,mEAAmE;QACnE,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,uEAAuE,OAAO,EAAE,CAAC,CAAC;QACnG,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,EAAY,EAAE,mBAA4B,IAAI;IAC/E,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAC9C,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,yCAAyC;IACzC,IAAI,gBAAgB,EAAE,CAAC;QACrB,aAAa,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,eAAe,CAAC,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,EAAY,EAAE,SAAiB;IAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAChD,sDAAsD;IACtD,OAAO,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,EAAY,EAAE,SAAiB,EAAE,KAAa;IAC3E,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC3C,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAY,EAAE,SAAiB;IAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC3C,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,EAAY,EAAE,SAAiB;IAC7D,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC3C,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IACnD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,wBAAwB,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,EAAY,EAAE,SAAiB,EAAE,GAAW;IAC1E,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC9C,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AAC3C,CAAC;AAED,0DAA0D;AAC1D,kDAAkD;AAClD,0DAA0D;AAE1D,0DAA0D;AAC1D,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAE/B;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,kBAAkB,GAAG,KAAK,CAAC;AAC7B,CAAC;AAED,0DAA0D;AAC1D,uDAAuD;AACvD,0DAA0D;AAE1D,SAAS,YAAY;IACnB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,kBAAkB,GAAG,IAAI,CAAC;QAC1B,aAAa,CAAC,eAAe,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,kBAAkB,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;AACpD,CAAC;AAED,iDAAiD;AACjD,IAAI,UAAU,GAAkB,IAAI,CAAC;AACrC,SAAS,kBAAkB;IACzB,UAAU,KAAK,YAAY,EAAE,CAAC;IAC9B,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,UAAU,GAAG,IAAI,CAAC;IAClB,kBAAkB,GAAG,KAAK,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ;IACtB,OAAO,cAAc,CAAC,eAAe,EAAE,kBAAkB,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAa;IACpC,cAAc,CAAC,eAAe,EAAE,kBAAkB,EAAE,EAAE,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU;IACxB,gBAAgB,CAAC,eAAe,EAAE,kBAAkB,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU;IACxB,OAAO,QAAQ,EAAE,KAAK,IAAI,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,eAAe,CAAC,eAAe,EAAE,kBAAkB,EAAE,CAAC,CAAC;AAChE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,eAAe,CAAC,eAAe,EAAE,kBAAkB,EAAE,EAAE,GAAG,CAAC,CAAC;AAC9D,CAAC;AAWD;;GAEG;AACH,KAAK,UAAU,oBAAoB,CACjC,IAAY,EACZ,UAAuB,EAAE;IAEzB,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,GAAG,GAAG,GAAG,SAAS,EAAE,GAAG,IAAI,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,KAAK,EAAE,CAAC,CAAC;IAEhD,OAAO,KAAK,CAAC,GAAG,EAAE;QAChB,GAAG,OAAO;QACV,OAAO;KACR,CAAC,CAAC;AACL,CAAC;AAED,0DAA0D;AAC1D,IAAI,kBAAkB,GAAoB,oBAAoB,CAAC;AAE/D;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,UAAuB,EAAE;IAEzB,OAAO,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAmB;IAClD,kBAAkB,GAAG,EAAE,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,kBAAkB,GAAG,oBAAoB,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/cli/utils/config.ts"],"names":[],"mappings":"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"}
@@ -7,79 +7,41 @@
7
7
  * Note: Discord features require the Discord plugin to be installed.
8
8
  * Run `fling plugin install discord` to set up.
9
9
  */
10
- import type { Context } from "hono";
11
- export type { DiscordSlashCommand, DiscordCommandOption, DiscordInteraction, DiscordEmbed, SendMessageOptions, EditMessageOptions, InteractionReplyOptions, DiscordMessage, } from "../shared/discord-types.js";
12
- import type { DiscordSlashCommand, DiscordInteraction, SendMessageOptions, EditMessageOptions, InteractionReplyOptions, DiscordMessage } from "../shared/discord-types.js";
10
+ export type { DiscordInteraction, DiscordEmbed, SendMessageOptions, EditMessageOptions, InteractionReplyOptions, DiscordMessage, DiscordCommandOption, DiscordCommandOptionChoice, } from "../shared/discord-types.js";
11
+ import type { DiscordInteraction, SendMessageOptions, EditMessageOptions, InteractionReplyOptions, DiscordMessage } from "../shared/discord-types.js";
13
12
  /**
14
13
  * Discord integration helper.
15
14
  *
16
- * Provides methods for sending messages, handling interactions,
17
- * and registering slash commands.
15
+ * Provides methods for sending messages, handling slash commands,
16
+ * and reacting to Discord interactions.
18
17
  *
19
18
  * @example
20
19
  * ```typescript
21
- * import { app } from "flingit";
22
20
  * import { discord } from "flingit/plugin/discord";
23
21
  *
24
- * // Define slash commands (synced on deploy)
25
- * export const commands = discord.defineCommands([
26
- * { name: "deploy", description: "Deploy the current branch" },
27
- * { name: "status", description: "Show deployment status" }
28
- * ]);
29
- *
30
22
  * // Handle slash commands
31
- * app.post("/discord", async (c) => {
32
- * const interaction = await discord.verifyInteraction(c);
33
- *
34
- * if (interaction.data?.name === "deploy") {
35
- * await discord.replyToInteraction(interaction, {
36
- * content: "Starting deployment..."
37
- * });
38
- * }
23
+ * discord.onCommand("ping", "Check if the bot is alive", async (interaction) => {
24
+ * discord.reply(interaction, { content: "Pong!" });
39
25
  * });
40
26
  * ```
41
27
  */
42
28
  export declare const discord: {
43
29
  /**
44
- * Define slash commands for your project.
45
- * These are registered with Discord when you run `fling push`.
30
+ * Register a handler for a specific slash command (no-op in local runtime).
46
31
  *
47
- * @param commands - Array of command definitions
48
- * @returns The same array (for export)
32
+ * The description is used to register the command with Discord's API
33
+ * during `fling push`. The handler only runs in deployed workers.
49
34
  *
50
- * @example
51
- * ```typescript
52
- * export const commands = discord.defineCommands([
53
- * { name: "ping", description: "Check bot latency" },
54
- * {
55
- * name: "deploy",
56
- * description: "Deploy a branch",
57
- * options: [
58
- * { name: "branch", type: "string", description: "Branch name", required: true }
59
- * ]
60
- * }
61
- * ]);
62
- * ```
35
+ * Accepts an optional options array as the third argument to declare
36
+ * slash command parameters shown in Discord's autocomplete UI.
63
37
  */
64
- defineCommands(commands: DiscordSlashCommand[]): DiscordSlashCommand[];
38
+ onCommand(_commandName: string, _description: string, _handlerOrOptions: unknown, _maybeHandler?: unknown): void;
65
39
  /**
66
- * Verify and parse a Discord interaction from a request.
67
- * Discord requires interaction verification within 3 seconds.
68
- *
69
- * @param c - Hono context from the request
70
- * @returns Parsed interaction
71
- *
72
- * @example
73
- * ```typescript
74
- * app.post("/discord", async (c) => {
75
- * const interaction = await discord.verifyInteraction(c);
76
- * // Handle interaction...
77
- * });
78
- * ```
40
+ * Register a fallback handler for interactions (no-op in local runtime).
79
41
  */
80
- verifyInteraction(_c: Context): Promise<DiscordInteraction>;
42
+ onEvent(_handler: (...args: unknown[]) => unknown): void;
81
43
  /**
82
- * Reply to a Discord interaction.
44
+ * Reply to a Discord interaction (slash command).
83
45
  * Must be called within 3 seconds of receiving the interaction.
84
46
  *
85
47
  * @param interaction - The interaction to reply to
@@ -87,13 +49,13 @@ export declare const discord: {
87
49
  *
88
50
  * @example
89
51
  * ```typescript
90
- * await discord.replyToInteraction(interaction, {
52
+ * discord.reply(interaction, {
91
53
  * content: "Command received!",
92
54
  * ephemeral: true // Only visible to command user
93
55
  * });
94
56
  * ```
95
57
  */
96
- replyToInteraction(_interaction: DiscordInteraction, _options: InteractionReplyOptions): void;
58
+ reply(_interaction: DiscordInteraction, _options: InteractionReplyOptions): void;
97
59
  /**
98
60
  * Send a message to a Discord channel.
99
61
  * The channel must be in a server claimed by your project.
@@ -156,16 +118,16 @@ export declare const discord: {
156
118
  * @example
157
119
  * ```typescript
158
120
  * // Initial reply
159
- * await discord.replyToInteraction(interaction, { content: "Processing..." });
121
+ * discord.reply(interaction, { content: "Processing..." });
160
122
  *
161
123
  * // Do some work...
162
124
  *
163
125
  * // Send followup
164
- * await discord.sendFollowup(interaction, {
126
+ * await discord.followup(interaction, {
165
127
  * content: "Done! Here are the results..."
166
128
  * });
167
129
  * ```
168
130
  */
169
- sendFollowup(_interaction: DiscordInteraction, _options: InteractionReplyOptions): Promise<DiscordMessage>;
131
+ followup(_interaction: DiscordInteraction, _options: InteractionReplyOptions): Promise<DiscordMessage>;
170
132
  };
171
133
  //# sourceMappingURL=discord.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"discord.d.ts","sourceRoot":"","sources":["../../src/runtime/discord.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAGpC,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,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACf,MAAM,4BAA4B,CAAC;AAgBpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,OAAO;IAClB;;;;;;;;;;;;;;;;;;;;OAoBG;6BACsB,mBAAmB,EAAE,GAAG,mBAAmB,EAAE;IAItE;;;;;;;;;;;;;;OAcG;0BACyB,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIjE;;;;;;;;;;;;;;OAcG;qCAEa,kBAAkB,YACtB,uBAAuB,GAChC,IAAI;IAIP;;;;;;;;;;;;;;;;;;;OAmBG;0BACyB,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC;IAIxE;;;;;;;;;;;;;;OAcG;4BAEW,MAAM,cACN,MAAM,YACR,kBAAkB,GAC3B,OAAO,CAAC,cAAc,CAAC;IAI1B;;;;;;;;;;;;OAYG;4BAEW,MAAM,cACN,MAAM,UACV,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAIhB;;;;;;;;;;;;;;;;;;;;OAoBG;+BAEa,kBAAkB,YACtB,uBAAuB,GAChC,OAAO,CAAC,cAAc,CAAC;CAG3B,CAAC"}
1
+ {"version":3,"file":"discord.d.ts","sourceRoot":"","sources":["../../src/runtime/discord.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,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,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACf,MAAM,4BAA4B,CAAC;AAgBpC;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,OAAO;IAClB;;;;;;;;OAQG;4BACqB,MAAM,gBAAgB,MAAM,qBAAqB,OAAO,kBAAkB,OAAO,GAAG,IAAI;IAIhH;;OAEG;sBACe,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GAAG,IAAI;IAIxD;;;;;;;;;;;;;;OAcG;wBAEa,kBAAkB,YACtB,uBAAuB,GAChC,IAAI;IAIP;;;;;;;;;;;;;;;;;;;OAmBG;0BACyB,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC;IAIxE;;;;;;;;;;;;;;OAcG;4BAEW,MAAM,cACN,MAAM,YACR,kBAAkB,GAC3B,OAAO,CAAC,cAAc,CAAC;IAI1B;;;;;;;;;;;;OAYG;4BAEW,MAAM,cACN,MAAM,UACV,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAIhB;;;;;;;;;;;;;;;;;;;;OAoBG;2BAEa,kBAAkB,YACtB,uBAAuB,GAChC,OAAO,CAAC,cAAc,CAAC;CAG3B,CAAC"}