flingit 0.0.32 → 0.0.33

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 (99) hide show
  1. package/README.md +3 -0
  2. package/dist/cli/commands/config.d.ts +12 -0
  3. package/dist/cli/commands/config.d.ts.map +1 -0
  4. package/dist/cli/commands/config.js +46 -0
  5. package/dist/cli/commands/config.js.map +1 -0
  6. package/dist/cli/commands/dev.d.ts +2 -1
  7. package/dist/cli/commands/dev.d.ts.map +1 -1
  8. package/dist/cli/commands/dev.js +17 -9
  9. package/dist/cli/commands/dev.js.map +1 -1
  10. package/dist/cli/commands/init.d.ts.map +1 -1
  11. package/dist/cli/commands/init.js +15 -53
  12. package/dist/cli/commands/init.js.map +1 -1
  13. package/dist/cli/commands/launch.d.ts +3 -0
  14. package/dist/cli/commands/launch.d.ts.map +1 -1
  15. package/dist/cli/commands/launch.js +16 -1
  16. package/dist/cli/commands/launch.js.map +1 -1
  17. package/dist/cli/commands/plugin.d.ts.map +1 -1
  18. package/dist/cli/commands/plugin.js +8 -11
  19. package/dist/cli/commands/plugin.js.map +1 -1
  20. package/dist/cli/commands/project.d.ts +34 -0
  21. package/dist/cli/commands/project.d.ts.map +1 -1
  22. package/dist/cli/commands/project.js +95 -6
  23. package/dist/cli/commands/project.js.map +1 -1
  24. package/dist/cli/commands/push.d.ts +2 -0
  25. package/dist/cli/commands/push.d.ts.map +1 -1
  26. package/dist/cli/commands/push.js +14 -3
  27. package/dist/cli/commands/push.js.map +1 -1
  28. package/dist/cli/commands/register.d.ts.map +1 -1
  29. package/dist/cli/commands/register.js +3 -0
  30. package/dist/cli/commands/register.js.map +1 -1
  31. package/dist/cli/commands/verify.d.ts +25 -0
  32. package/dist/cli/commands/verify.d.ts.map +1 -0
  33. package/dist/cli/commands/verify.js +96 -0
  34. package/dist/cli/commands/verify.js.map +1 -0
  35. package/dist/cli/deploy/bundler.d.ts +16 -33
  36. package/dist/cli/deploy/bundler.d.ts.map +1 -1
  37. package/dist/cli/deploy/bundler.js +147 -186
  38. package/dist/cli/deploy/bundler.js.map +1 -1
  39. package/dist/cli/index.js +19 -0
  40. package/dist/cli/index.js.map +1 -1
  41. package/dist/cli/utils/cli-io-impl.d.ts +2 -1
  42. package/dist/cli/utils/cli-io-impl.d.ts.map +1 -1
  43. package/dist/cli/utils/cli-io-impl.js +11 -0
  44. package/dist/cli/utils/cli-io-impl.js.map +1 -1
  45. package/dist/cli/utils/config.d.ts +1 -0
  46. package/dist/cli/utils/config.d.ts.map +1 -1
  47. package/dist/cli/utils/config.js +12 -6
  48. package/dist/cli/utils/config.js.map +1 -1
  49. package/dist/cli/utils/duplicate-check.d.ts +32 -0
  50. package/dist/cli/utils/duplicate-check.d.ts.map +1 -0
  51. package/dist/cli/utils/duplicate-check.js +102 -0
  52. package/dist/cli/utils/duplicate-check.js.map +1 -0
  53. package/dist/cli/utils/project-name.d.ts +15 -1
  54. package/dist/cli/utils/project-name.d.ts.map +1 -1
  55. package/dist/cli/utils/project-name.js +37 -0
  56. package/dist/cli/utils/project-name.js.map +1 -1
  57. package/dist/cli/utils/project.d.ts +0 -9
  58. package/dist/cli/utils/project.d.ts.map +1 -1
  59. package/dist/cli/utils/project.js +2 -2
  60. package/dist/cli/utils/project.js.map +1 -1
  61. package/dist/cli/utils/registry.d.ts +13 -0
  62. package/dist/cli/utils/registry.d.ts.map +1 -1
  63. package/dist/cli/utils/registry.js +36 -11
  64. package/dist/cli/utils/registry.js.map +1 -1
  65. package/dist/shared/constants.d.ts +17 -0
  66. package/dist/shared/constants.d.ts.map +1 -1
  67. package/dist/shared/constants.js +23 -0
  68. package/dist/shared/constants.js.map +1 -1
  69. package/dist/shared/discord-types.d.ts +11 -0
  70. package/dist/shared/discord-types.d.ts.map +1 -1
  71. package/dist/worker-runtime/discord.d.ts +16 -2
  72. package/dist/worker-runtime/discord.d.ts.map +1 -1
  73. package/dist/worker-runtime/discord.js +108 -9
  74. package/dist/worker-runtime/discord.js.map +1 -1
  75. package/dist/worker-runtime/entry-extract.d.ts +25 -0
  76. package/dist/worker-runtime/entry-extract.d.ts.map +1 -0
  77. package/dist/worker-runtime/entry-extract.js +122 -0
  78. package/dist/worker-runtime/entry-extract.js.map +1 -0
  79. package/dist/worker-runtime/index.d.ts +7 -0
  80. package/dist/worker-runtime/index.d.ts.map +1 -1
  81. package/dist/worker-runtime/index.js +13 -0
  82. package/dist/worker-runtime/index.js.map +1 -1
  83. package/dist/worker-runtime/plugin-registry.d.ts +23 -0
  84. package/dist/worker-runtime/plugin-registry.d.ts.map +1 -0
  85. package/dist/worker-runtime/plugin-registry.js +32 -0
  86. package/dist/worker-runtime/plugin-registry.js.map +1 -0
  87. package/package.json +5 -3
  88. package/templates/default/dot-claude/skills/fling/.hash +1 -0
  89. package/templates/default/{skills → dot-claude/skills}/fling/SKILL.md +6 -6
  90. package/templates/default/{skills/fling → dot-claude/skills/fling/references}/DISCORD.md +1 -1
  91. package/templates/default/dot-gitignore +15 -0
  92. package/templates/default/vite.config.ts +3 -2
  93. package/templates/default/skills/fling/.hash +0 -1
  94. /package/templates/default/{.claude → dot-claude}/settings.local.json +0 -0
  95. /package/templates/default/{skills/fling → dot-claude/skills/fling/references}/API.md +0 -0
  96. /package/templates/default/{skills/fling → dot-claude/skills/fling/references}/EXAMPLES.md +0 -0
  97. /package/templates/default/{skills/fling → dot-claude/skills/fling/references}/FEEDBACK.md +0 -0
  98. /package/templates/default/{skills/fling → dot-claude/skills/fling/references}/SLACK.md +0 -0
  99. /package/templates/default/{.nvmrc → dot-nvmrc} +0 -0
@@ -3,7 +3,6 @@
3
3
  * Uses esbuild to create a single file with all dependencies.
4
4
  */
5
5
  import { type Plugin } from "esbuild";
6
- import type { DiscordCommandOption } from "../../shared/discord-types.js";
7
6
  /**
8
7
  * A WASM module tracked during bundling.
9
8
  */
@@ -45,17 +44,6 @@ export declare function createWasmPlugin(): {
45
44
  * For production, use createWasmPlugin() instead.
46
45
  */
47
46
  export declare const wasmPlugin: Plugin;
48
- /**
49
- * A Discord slash command extracted from bundled code.
50
- */
51
- export interface DiscordCommand {
52
- /** Command name (lowercase, 1–32 chars) */
53
- name: string;
54
- /** Command description (1–100 chars) */
55
- description: string;
56
- /** Command options (parameters), if declared */
57
- options?: DiscordCommandOption[];
58
- }
59
47
  /**
60
48
  * Result of bundling for platform deployment.
61
49
  */
@@ -66,9 +54,23 @@ export interface BundleResult {
66
54
  cronSchedules: Record<string, string>;
67
55
  /** WASM modules to deploy alongside the JS bundle */
68
56
  wasmModules: WasmModule[];
69
- /** Discord slash commands extracted from onCommand calls */
70
- discordCommands: DiscordCommand[];
57
+ /** Plugin metadata collected from programmatic extraction */
58
+ plugins: Record<string, unknown>;
71
59
  }
60
+ /**
61
+ * Extract metadata from user code by running it in a Node.js subprocess.
62
+ *
63
+ * Builds a lightweight extraction bundle targeting Node.js, runs it,
64
+ * and parses the JSON metadata output from stdout.
65
+ *
66
+ * @param projectDir - The project directory containing src/worker/index.ts
67
+ * @param verbose - Enable verbose logging
68
+ * @returns Extracted cron schedules and plugin metadata
69
+ */
70
+ export declare function extractMetadataProgrammatically(projectDir: string, verbose?: boolean): Promise<{
71
+ cronSchedules: Record<string, string>;
72
+ plugins: Record<string, unknown>;
73
+ }>;
72
74
  /**
73
75
  * Bundle user's app.ts for platform deployment.
74
76
  *
@@ -86,23 +88,4 @@ export interface BundleResult {
86
88
  * @returns The bundled code and extracted cron schedules
87
89
  */
88
90
  export declare function bundleForPlatform(projectDir: string, verbose?: boolean): Promise<BundleResult>;
89
- /**
90
- * Extract cron schedules from bundled JavaScript code.
91
- * Looks for cron("name", "schedule", ...) function calls.
92
- *
93
- * @param code - The bundled JavaScript code
94
- * @returns Object mapping cron job names to their schedules
95
- */
96
- export declare function extractCronSchedules(code: string): Record<string, string>;
97
- /**
98
- * Extract Discord slash commands from bundled JavaScript code.
99
- * Looks for .onCommand("name", "description", ...) calls.
100
- *
101
- * Also extracts command options when provided as a 3rd argument array
102
- * before the handler function.
103
- *
104
- * @param code - The bundled JavaScript code
105
- * @returns Array of extracted Discord commands
106
- */
107
- export declare function extractDiscordCommands(code: string): DiscordCommand[];
108
91
  //# sourceMappingURL=bundler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bundler.d.ts","sourceRoot":"","sources":["../../../src/cli/deploy/bundler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAS,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AAO7C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAI1E;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,2EAA2E;IAC3E,UAAU,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,OAAO,EAAE,UAAU,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,IAAI;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,UAAU,EAAE,CAAC;CACpC,CAwDA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,EAAE,MAuDxB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,OAAO,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,qDAAqD;IACrD,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,4DAA4D;IAC5D,eAAe,EAAE,cAAc,EAAE,CAAC;CACnC;AA4BD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,OAAO,UAAQ,GACd,OAAO,CAAC,YAAY,CAAC,CA2GvB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqBzE;AAmID;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,CAoBrE"}
1
+ {"version":3,"file":"bundler.d.ts","sourceRoot":"","sources":["../../../src/cli/deploy/bundler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAS,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AAe7C;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,2EAA2E;IAC3E,UAAU,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,OAAO,EAAE,UAAU,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,IAAI;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,UAAU,EAAE,CAAC;CACpC,CAwDA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,EAAE,MAuDxB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,qDAAqD;IACrD,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAoCD;;;;;;;;;GASG;AACH,wBAAsB,+BAA+B,CACnD,UAAU,EAAE,MAAM,EAClB,OAAO,UAAQ,GACd,OAAO,CAAC;IAAE,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CA4ItF;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,OAAO,UAAQ,GACd,OAAO,CAAC,YAAY,CAAC,CAuGvB"}
@@ -6,9 +6,13 @@ import { build } from "esbuild";
6
6
  import { join, dirname, isAbsolute } from "node:path";
7
7
  import { fileURLToPath } from "node:url";
8
8
  import { existsSync } from "node:fs";
9
- import { readFile } from "node:fs/promises";
9
+ import { readFile, writeFile, unlink } from "node:fs/promises";
10
10
  import { createHash } from "node:crypto";
11
+ import { tmpdir } from "node:os";
12
+ import { execFile } from "node:child_process";
13
+ import { promisify } from "node:util";
11
14
  import { getSupportedPluginIds } from "../../shared/plugin-metadata.js";
15
+ const execFileAsync = promisify(execFile);
12
16
  const __dirname = dirname(fileURLToPath(import.meta.url));
13
17
  /**
14
18
  * esbuild plugin for WebAssembly support in production (Cloudflare Workers).
@@ -160,6 +164,141 @@ function getWorkerRuntimePluginPath(pluginId) {
160
164
  // From dist/cli/deploy/ -> dist/worker-runtime/{pluginId}.js
161
165
  return join(__dirname, "..", "..", "worker-runtime", `${pluginId}.js`);
162
166
  }
167
+ /**
168
+ * Get the path to the extraction entry module.
169
+ */
170
+ function getWorkerRuntimeExtractEntryPath() {
171
+ // From dist/cli/deploy/ -> dist/worker-runtime/entry-extract.js
172
+ return join(__dirname, "..", "..", "worker-runtime", "entry-extract.js");
173
+ }
174
+ /**
175
+ * Extract metadata from user code by running it in a Node.js subprocess.
176
+ *
177
+ * Builds a lightweight extraction bundle targeting Node.js, runs it,
178
+ * and parses the JSON metadata output from stdout.
179
+ *
180
+ * @param projectDir - The project directory containing src/worker/index.ts
181
+ * @param verbose - Enable verbose logging
182
+ * @returns Extracted cron schedules and plugin metadata
183
+ */
184
+ export async function extractMetadataProgrammatically(projectDir, verbose = false) {
185
+ const appPath = join(projectDir, "src", "worker", "index.ts");
186
+ const workerRuntimePath = getWorkerRuntimePath();
187
+ const extractEntryPath = getWorkerRuntimeExtractEntryPath();
188
+ const pluginIds = getSupportedPluginIds();
189
+ // Build extraction entry shim
190
+ const extractCode = `
191
+ import { extractMetadata } from "${extractEntryPath}";
192
+ await extractMetadata(() => import("${appPath}"));
193
+ `;
194
+ if (verbose) {
195
+ console.log("[verbose] Building extraction bundle...");
196
+ }
197
+ // Build extraction bundle targeting Node.js
198
+ const extractResult = await build({
199
+ stdin: {
200
+ contents: extractCode,
201
+ resolveDir: projectDir,
202
+ loader: "ts",
203
+ },
204
+ bundle: true,
205
+ format: "esm",
206
+ target: "esnext",
207
+ platform: "node",
208
+ minify: false,
209
+ write: false,
210
+ external: [],
211
+ alias: {
212
+ ...Object.fromEntries(pluginIds.map((id) => [`flingit/plugin/${id}`, getWorkerRuntimePluginPath(id)])),
213
+ flingit: workerRuntimePath,
214
+ },
215
+ define: {
216
+ "process.env.NODE_ENV": '"production"',
217
+ },
218
+ plugins: [
219
+ // Stub WASM imports to empty Uint8Array for extraction
220
+ {
221
+ name: "wasm-stub-extract",
222
+ setup(build) {
223
+ build.onResolve({ filter: /\.wasm$/ }, (args) => {
224
+ if (args.resolveDir === "")
225
+ return;
226
+ return { path: args.path, namespace: "wasm-extract-stub" };
227
+ });
228
+ build.onLoad({ filter: /.*/, namespace: "wasm-extract-stub" }, () => ({
229
+ contents: "export default new Uint8Array(0);",
230
+ }));
231
+ },
232
+ },
233
+ ],
234
+ });
235
+ const extractOutput = extractResult.outputFiles[0];
236
+ if (!extractOutput) {
237
+ throw new Error("Extraction bundle produced no output");
238
+ }
239
+ // Write to temp file and run with Node.js
240
+ const tempPath = join(tmpdir(), `fling-extract-${Date.now()}-${Math.random().toString(36).slice(2)}.mjs`);
241
+ try {
242
+ await writeFile(tempPath, extractOutput.text);
243
+ if (verbose) {
244
+ console.log("[verbose] Running extraction subprocess:", tempPath);
245
+ }
246
+ let stdout;
247
+ let stderr;
248
+ try {
249
+ const result = await execFileAsync("node", [tempPath], {
250
+ timeout: 10_000,
251
+ maxBuffer: 10 * 1024 * 1024, // 10MB
252
+ env: { ...process.env, NODE_NO_WARNINGS: "1" },
253
+ });
254
+ stdout = result.stdout;
255
+ stderr = result.stderr;
256
+ }
257
+ catch (error) {
258
+ const execError = error;
259
+ const stderrOutput = execError.stderr ?? "";
260
+ if (execError.killed || execError.signal === "SIGTERM") {
261
+ throw new Error("Metadata extraction timed out after 10 seconds.\n" +
262
+ "Your worker code may have a top-level await that never resolves,\n" +
263
+ "or an infinite loop during module initialization.\n\n" +
264
+ (stderrOutput ? `Subprocess stderr:\n${stderrOutput}\n\n` : "") +
265
+ "Next steps:\n" +
266
+ " 1. Check for top-level awaits on network calls or DB queries in your worker code\n" +
267
+ " 2. Run 'fling dev' to test your code locally\n" +
268
+ " 3. Run 'fling push --verbose' for more details");
269
+ }
270
+ throw new Error("Metadata extraction failed: subprocess exited with " +
271
+ (execError.code !== undefined ? `code ${execError.code}` : "an error") + ".\n\n" +
272
+ (stderrOutput ? `Subprocess stderr:\n${stderrOutput}\n\n` : "") +
273
+ "This may indicate a syntax error or runtime error in your worker code.\n\n" +
274
+ "Next steps:\n" +
275
+ " 1. Run 'fling dev' to check for errors in your worker code\n" +
276
+ " 2. Run 'fling push --verbose' for more details");
277
+ }
278
+ if (verbose && stderr) {
279
+ console.log("[verbose] Extraction stderr:", stderr);
280
+ }
281
+ // Parse metadata from stdout using marker
282
+ const marker = "__FLING_METADATA_START__";
283
+ const markerIndex = stdout.indexOf(marker);
284
+ if (markerIndex === -1) {
285
+ throw new Error("Metadata extraction failed: no output from extraction subprocess.\n" +
286
+ (stderr ? `Subprocess stderr:\n${stderr}\n\n` : "") +
287
+ "This may indicate that your worker code has a top-level error that prevents\n" +
288
+ "it from loading.\n\n" +
289
+ "Next steps:\n" +
290
+ " 1. Run 'fling dev' to check for errors in your worker code\n" +
291
+ " 2. Run 'fling push --verbose' for more details");
292
+ }
293
+ const jsonStr = stdout.slice(markerIndex + marker.length).trim();
294
+ const metadata = JSON.parse(jsonStr);
295
+ return metadata;
296
+ }
297
+ finally {
298
+ // Clean up temp file
299
+ await unlink(tempPath).catch(() => { });
300
+ }
301
+ }
163
302
  /**
164
303
  * Bundle user's app.ts for platform deployment.
165
304
  *
@@ -243,197 +382,19 @@ export default createWorkerEntry(() => import("${appPath}"));
243
382
  throw new Error("Bundle produced no output");
244
383
  }
245
384
  const code = outputFile.text;
246
- // Extract cron schedules from bundled code using regex
247
- // Matches: cron("name", "schedule", ...) or cron('name', 'schedule', ...)
248
- const cronSchedules = extractCronSchedules(code);
249
- if (verbose && Object.keys(cronSchedules).length > 0) {
250
- console.log("[verbose] Found cron schedules:", cronSchedules);
251
- }
252
385
  // Get tracked WASM modules
253
386
  const wasmModules = getWasmModules();
254
387
  if (verbose && wasmModules.length > 0) {
255
388
  console.log("[verbose] Found WASM modules:", wasmModules.map((m) => m.importPath));
256
389
  }
257
- // Extract Discord slash commands from bundled code
258
- const discordCommands = extractDiscordCommands(code);
259
- if (verbose && discordCommands.length > 0) {
260
- console.log("[verbose] Found Discord commands:", discordCommands);
261
- }
262
- return { code, cronSchedules, wasmModules, discordCommands };
263
- }
264
- /**
265
- * Extract cron schedules from bundled JavaScript code.
266
- * Looks for cron("name", "schedule", ...) function calls.
267
- *
268
- * @param code - The bundled JavaScript code
269
- * @returns Object mapping cron job names to their schedules
270
- */
271
- export function extractCronSchedules(code) {
272
- const schedules = {};
273
- // Match cron function calls with string literals
274
- // This regex handles:
275
- // - cron("name", "schedule", ...)
276
- // - cron('name', 'schedule', ...)
277
- // - cron(`name`, `schedule`, ...) - template literals without interpolation
278
- // The regex captures the name and schedule as the first two string arguments
279
- const cronCallRegex = /\bcron\s*\(\s*["'`]([^"'`]+)["'`]\s*,\s*["'`]([^"'`]+)["'`]/g;
280
- let match;
281
- while ((match = cronCallRegex.exec(code)) !== null) {
282
- const name = match[1];
283
- const schedule = match[2];
284
- if (name && schedule) {
285
- schedules[name] = schedule;
286
- }
287
- }
288
- return schedules;
289
- }
290
- /**
291
- * Extract options array from bundled code starting after the description match.
292
- *
293
- * Looks for a comma followed by `[...]` (an array literal) before the handler.
294
- * Uses bracket matching to handle nested structures, strings, and escapes.
295
- * Evaluates the literal with `new Function` — safe since it's the user's own
296
- * bundled code running in the CLI process.
297
- *
298
- * Returns undefined on any failure (graceful degradation).
299
- */
300
- function extractOptionsAfterMatch(code, matchEnd) {
301
- // Skip whitespace after the description closing quote
302
- let i = matchEnd;
303
- while (i < code.length && /\s/.test(code.charAt(i)))
304
- i++;
305
- // Expect a comma
306
- if (code.charAt(i) !== ",")
307
- return undefined;
308
- i++;
309
- // Skip whitespace after comma
310
- while (i < code.length && /\s/.test(code.charAt(i)))
311
- i++;
312
- // Must start with [ for an options array
313
- if (code.charAt(i) !== "[")
314
- return undefined;
315
- // Bracket-match to find closing ]
316
- const start = i;
317
- let depth = 0;
318
- let inString = null;
319
- let escaped = false;
320
- for (; i < code.length; i++) {
321
- const ch = code.charAt(i);
322
- if (escaped) {
323
- escaped = false;
324
- continue;
325
- }
326
- if (ch === "\\") {
327
- escaped = true;
328
- continue;
329
- }
330
- if (inString) {
331
- if (ch === inString)
332
- inString = null;
333
- continue;
334
- }
335
- if (ch === '"' || ch === "'" || ch === "`") {
336
- inString = ch;
337
- continue;
338
- }
339
- if (ch === "[")
340
- depth++;
341
- else if (ch === "]") {
342
- depth--;
343
- if (depth === 0)
344
- break;
345
- }
346
- }
347
- if (depth !== 0)
348
- return undefined;
349
- const literal = code.slice(start, i + 1);
350
- try {
351
- // eslint-disable-next-line @typescript-eslint/no-implied-eval, @typescript-eslint/no-unsafe-call
352
- const parsed = new Function("return " + literal)();
353
- if (!Array.isArray(parsed) || parsed.length === 0)
354
- return undefined;
355
- return validateOptions(parsed);
356
- }
357
- catch {
358
- return undefined;
359
- }
360
- }
361
- const VALID_OPTION_TYPES = new Set(["string", "integer", "boolean", "number"]);
362
- /**
363
- * Validate and normalize parsed option objects.
364
- * Returns undefined if any option is invalid.
365
- */
366
- function validateOptions(raw) {
367
- const options = [];
368
- for (const item of raw) {
369
- if (typeof item !== "object" || item === null)
370
- return undefined;
371
- const obj = item;
372
- const name = obj["name"];
373
- const type = obj["type"];
374
- const description = obj["description"];
375
- if (typeof name !== "string" || !name)
376
- return undefined;
377
- if (typeof type !== "string" || !VALID_OPTION_TYPES.has(type))
378
- return undefined;
379
- if (typeof description !== "string" || !description)
380
- return undefined;
381
- const opt = {
382
- name,
383
- type: type,
384
- description,
385
- };
386
- const required = obj["required"];
387
- if (required !== undefined) {
388
- opt.required = required !== false;
389
- }
390
- const choices = obj["choices"];
391
- if (Array.isArray(choices) && choices.length > 0) {
392
- const validated = [];
393
- for (const c of choices) {
394
- if (typeof c !== "object" || c === null)
395
- return undefined;
396
- const choice = c;
397
- const cName = choice["name"];
398
- const cValue = choice["value"];
399
- if (typeof cName !== "string")
400
- return undefined;
401
- if (typeof cValue !== "string" && typeof cValue !== "number")
402
- return undefined;
403
- validated.push({ name: cName, value: cValue });
404
- }
405
- opt.choices = validated;
406
- }
407
- options.push(opt);
390
+ // Extract metadata programmatically by running user code in a subprocess
391
+ const { cronSchedules, plugins } = await extractMetadataProgrammatically(projectDir, verbose);
392
+ if (verbose && Object.keys(cronSchedules).length > 0) {
393
+ console.log("[verbose] Found cron schedules:", cronSchedules);
408
394
  }
409
- return options.length > 0 ? options : undefined;
410
- }
411
- /**
412
- * Extract Discord slash commands from bundled JavaScript code.
413
- * Looks for .onCommand("name", "description", ...) calls.
414
- *
415
- * Also extracts command options when provided as a 3rd argument array
416
- * before the handler function.
417
- *
418
- * @param code - The bundled JavaScript code
419
- * @returns Array of extracted Discord commands
420
- */
421
- export function extractDiscordCommands(code) {
422
- const commands = [];
423
- const seen = new Set();
424
- // Match .onCommand("name", "description", ...) calls with string literals
425
- // This regex handles double quotes, single quotes, and template literals
426
- const commandCallRegex = /\.onCommand\s*\(\s*["'`]([^"'`]+)["'`]\s*,\s*["'`]([^"'`]+)["'`]/g;
427
- let match;
428
- while ((match = commandCallRegex.exec(code)) !== null) {
429
- const name = match[1];
430
- const description = match[2];
431
- if (name && description && !seen.has(name)) {
432
- seen.add(name);
433
- const options = extractOptionsAfterMatch(code, match.index + match[0].length);
434
- commands.push(options ? { name, description, options } : { name, description });
435
- }
395
+ if (verbose && Object.keys(plugins).length > 0) {
396
+ console.log("[verbose] Found plugin metadata:", plugins);
436
397
  }
437
- return commands;
398
+ return { code, cronSchedules, wasmModules, plugins };
438
399
  }
439
400
  //# sourceMappingURL=bundler.js.map
@@ -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":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAe,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAc1D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,gBAAgB;IAI9B,MAAM,WAAW,GAAiB,EAAE,CAAC;IAErC,MAAM,MAAM,GAAW;QACrB,IAAI,EAAE,eAAe;QACrB,KAAK,CAAC,KAAK;YACT,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACpD,oEAAoE;gBACpE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAqD,CAAC;gBAC9E,IAAI,UAAU,EAAE,aAAa,EAAE,CAAC;oBAC9B,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,6CAA6C;gBAC7C,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE;oBAAE,OAAO;gBAEnC,0BAA0B;gBAC1B,IAAI,YAAoB,CAAC;gBAEzB,oFAAoF;gBACpF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE;wBAC9C,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,UAAU,EAAE,IAAI,CAAC,UAAU;wBAC3B,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;qBACpC,CAAC,CAAC;oBACH,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC/B,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACrC,CAAC;oBACD,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAC/B,CAAC;qBAAM,CAAC;oBACN,gDAAgD;oBAChD,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;wBAClC,CAAC,CAAC,IAAI,CAAC,IAAI;wBACX,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvC,CAAC;gBAED,qBAAqB;gBACrB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAE7C,oDAAoD;gBACpD,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5E,MAAM,UAAU,GAAG,UAAU,IAAI,OAAO,CAAC;gBAEzC,6DAA6D;gBAC7D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,EAAE,CAAC;oBAC1D,WAAW,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;gBACtE,CAAC;gBAED,uCAAuC;gBACvC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC9C,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;AACvD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,UAAU,GAAW;IAChC,IAAI,EAAE,MAAM;IACZ,KAAK,CAAC,KAAK;QACT,sFAAsF;QACtF,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACpD,uEAAuE;YACvE,IAAI,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,aAAa,EAAE,CAAC;gBACvE,OAAO,IAAI,CAAC;YACd,CAAC;YAED,kFAAkF;YAClF,MAAM,UAAU,GAAG,IAAI,CAAC,UAAqD,CAAC;YAC9E,IAAI,UAAU,EAAE,aAAa,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC;YACd,CAAC;YAED,6CAA6C;YAC7C,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE;gBAAE,OAAO;YAEnC,uEAAuE;YACvE,6EAA6E;YAC7E,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE;oBAC9C,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,6BAA6B;iBACnE,CAAC,CAAC;gBACH,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/B,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACrC,CAAC;gBACD,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;YACzD,CAAC;YAED,gDAAgD;YAChD,OAAO;gBACL,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;oBACzB,CAAC,CAAC,IAAI,CAAC,IAAI;oBACX,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC;gBACpC,SAAS,EAAE,WAAW;aACvB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,+DAA+D;QAC/D,4EAA4E;QAC5E,kFAAkF;QAClF,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACpE,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC7C,OAAO;gBACL,QAAQ,EAAE,wCAAwC,MAAM,4BAA4B;gBACpF,4DAA4D;gBAC5D,UAAU,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;aACxB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAgBF;;;GAGG;AACH,SAAS,oBAAoB;IAC3B,wDAAwD;IACxD,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;AACnE,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB;IACzB,wDAAwD;IACxD,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;AACnE,CAAC;AAED;;GAEG;AACH,SAAS,0BAA0B,CAAC,QAAgB;IAClD,6DAA6D;IAC7D,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,QAAQ,KAAK,CAAC,CAAC;AACzE,CAAC;AAED;;GAEG;AACH,SAAS,gCAAgC;IACvC,gEAAgE;IAChE,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;AAC3E,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,UAAkB,EAClB,OAAO,GAAG,KAAK;IAEf,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC9D,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,CAAC;IACjD,MAAM,gBAAgB,GAAG,gCAAgC,EAAE,CAAC;IAC5D,MAAM,SAAS,GAAG,qBAAqB,EAAE,CAAC;IAE1C,8BAA8B;IAC9B,MAAM,WAAW,GAAG;mCACa,gBAAgB;sCACb,OAAO;CAC5C,CAAC;IAEA,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACzD,CAAC;IAED,4CAA4C;IAC5C,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC;QAChC,KAAK,EAAE;YACL,QAAQ,EAAE,WAAW;YACrB,UAAU,EAAE,UAAU;YACtB,MAAM,EAAE,IAAI;SACb;QACD,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE;YACL,GAAG,MAAM,CAAC,WAAW,CACnB,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,kBAAkB,EAAE,EAAE,EAAE,0BAA0B,CAAC,EAAE,CAAC,CAAC,CAAC,CAChF;YACD,OAAO,EAAE,iBAAiB;SAC3B;QACD,MAAM,EAAE;YACN,sBAAsB,EAAE,cAAc;SACvC;QACD,OAAO,EAAE;YACP,uDAAuD;YACvD;gBACE,IAAI,EAAE,mBAAmB;gBACzB,KAAK,CAAC,KAAK;oBACT,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;wBAC9C,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE;4BAAE,OAAO;wBACnC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;oBAC7D,CAAC,CAAC,CAAC;oBACH,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,mBAAmB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;wBACpE,QAAQ,EAAE,mCAAmC;qBAC9C,CAAC,CAAC,CAAC;gBACN,CAAC;aACF;SACF;KACF,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACnD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IAED,0CAA0C;IAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,iBAAiB,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAE1G,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QAE9C,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,0CAA0C,EAAE,QAAQ,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,MAAc,CAAC;QACnB,IAAI,MAAc,CAAC;QAEnB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE;gBACrD,OAAO,EAAE,MAAM;gBACf,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,OAAO;gBACpC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE;aAC/C,CAAC,CAAC;YACH,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YACvB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QACzB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,KAAuF,CAAC;YAC1G,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC;YAE5C,IAAI,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACvD,MAAM,IAAI,KAAK,CACb,mDAAmD;oBACjD,oEAAoE;oBACpE,uDAAuD;oBACvD,CAAC,YAAY,CAAC,CAAC,CAAC,uBAAuB,YAAY,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/D,eAAe;oBACf,sFAAsF;oBACtF,kDAAkD;oBAClD,kDAAkD,CACrD,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,KAAK,CACb,qDAAqD;gBACnD,CAAC,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,OAAO;gBAChF,CAAC,YAAY,CAAC,CAAC,CAAC,uBAAuB,YAAY,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/D,4EAA4E;gBAC5E,eAAe;gBACf,gEAAgE;gBAChE,kDAAkD,CACrD,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,MAAM,CAAC,CAAC;QACtD,CAAC;QAED,0CAA0C;QAC1C,MAAM,MAAM,GAAG,0BAA0B,CAAC;QAC1C,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,qEAAqE;gBACnE,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAuB,MAAM,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,+EAA+E;gBAC/E,sBAAsB;gBACtB,eAAe;gBACf,gEAAgE;gBAChE,kDAAkD,CACrD,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAGlC,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;YAAS,CAAC;QACT,qBAAqB;QACrB,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,UAAkB,EAClB,OAAO,GAAG,KAAK;IAEf,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC9D,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,CAAC;IAEjD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,uDAAuD;YACrD,8CAA8C;YAC9C,sEAAsE,CACzE,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;IAE7C,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,SAAS,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,iBAAiB,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,eAAe,CAAC,CAAC;IAC7D,CAAC;IAED,6CAA6C;IAC7C,MAAM,SAAS,GAAG,qBAAqB,EAAE,CAAC;IAE1C,2EAA2E;IAC3E,MAAM,SAAS,GAAG;qCACiB,eAAe;iDACH,OAAO;CACvD,CAAC;IAEA,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,SAAS,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IACtD,CAAC;IAED,oDAAoD;IACpD,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,cAAc,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAE1E,sBAAsB;IACtB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC;QACzB,KAAK,EAAE;YACL,QAAQ,EAAE,SAAS;YACnB,UAAU,EAAE,UAAU;YACtB,MAAM,EAAE,IAAI;SACb;QACD,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,SAAS,EAAE,qCAAqC;QAC1D,MAAM,EAAE,KAAK,EAAE,8BAA8B;QAC7C,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,EAAE,EAAE,qEAAqE;QACnF,KAAK,EAAE;YACL,kEAAkE;YAClE,4CAA4C;YAC5C,GAAG,MAAM,CAAC,WAAW,CACnB,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,kBAAkB,EAAE,EAAE,EAAE,0BAA0B,CAAC,EAAE,CAAC,CAAC,CAAC,CAChF;YACD,+CAA+C;YAC/C,OAAO,EAAE,iBAAiB;SAC3B;QACD,MAAM,EAAE;YACN,sBAAsB,EAAE,cAAc;SACvC;QACD,OAAO,EAAE,CAAC,kBAAkB,CAAC;KAC9B,CAAC,CAAC;IAEH,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,kBAAkB,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACzC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAE7B,2BAA2B;IAC3B,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,IAAI,OAAO,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IACrF,CAAC;IAED,yEAAyE;IACzE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,MAAM,+BAA+B,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAE9F,IAAI,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,aAAa,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;AACvD,CAAC"}
package/dist/cli/index.js CHANGED
@@ -46,10 +46,27 @@ import { tunnelCommand } from "./commands/tunnel.js";
46
46
  import { storageCommand } from "./commands/storage.js";
47
47
  import { pluginCommand } from "./commands/plugin.js";
48
48
  import { upgradeCommand } from "./commands/upgrade.js";
49
+ import { verifyCommand } from "./commands/verify.js";
50
+ import { configCommand } from "./commands/config.js";
49
51
  import { launch } from "./commands/launch.js";
50
52
  import { checkSkillsStatus, findEnclosingProject, hasSymlinkInPath } from "./utils/project.js";
51
53
  import { getCachedFlingRoot, projectFileIO } from "./utils/cli-io-impl.js";
52
54
  import { readFileSync } from "node:fs";
55
+ // Load build-time environment variables (generated by scripts/generate-build-env.ts).
56
+ // This file is created during `npm run build` / `npm run dev` from .env,
57
+ // and is NOT included in the published npm package.
58
+ try {
59
+ const buildEnvPath = join(getCachedFlingRoot(), ".build-env.json");
60
+ const buildEnv = JSON.parse(readFileSync(buildEnvPath, "utf-8"));
61
+ for (const [key, value] of Object.entries(buildEnv)) {
62
+ if (typeof value === "string" && process.env[key] === undefined) {
63
+ process.env[key] = value;
64
+ }
65
+ }
66
+ }
67
+ catch {
68
+ // No .build-env.json — production npm install, nothing to do
69
+ }
53
70
  process.on("exit", (code) => {
54
71
  if (code !== 0) {
55
72
  console.error('\nPlease help us improving fling by reporting this failure via\n fling feedback "describe your issue here"');
@@ -116,6 +133,8 @@ program.addCommand(tunnelCommand);
116
133
  program.addCommand(storageCommand);
117
134
  program.addCommand(pluginCommand);
118
135
  program.addCommand(upgradeCommand);
136
+ program.addCommand(verifyCommand);
137
+ program.addCommand(configCommand);
119
138
  // Check for skill updates on every command (except upgrade itself)
120
139
  program.hook("preAction", (_thisCommand, actionCommand) => {
121
140
  const commandName = actionCommand.name();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import { existsSync } from "node:fs";
8
8
  import type { ConsoleIO, ConsoleIOWithProgress, ProcessIOFull, ProcessIOWithStdio, FileIO, FileIOWithRead, DbFileIO, StorageFileIO, LaunchFileIO, OnboardingFileIO, InitFileIO, DevFileIO, UserIO, NetworkIO, BrowserIO, TimingIO, SpawnFn, ClaudeCodeIO, DbIO, StorageIO, LaunchIO, OnboardingIO, InitIO, DevIO, SimplePromptIO, SimpleConfirmIO, SimplePromptIOWithMultiline, ConfigFileIO, ConfigIO, EnvIO, ProjectFileIO, RegistryIO } from "./cli-io.js";
9
- import type { ProjectNameFileIO } from "./project-name.js";
9
+ import type { ProjectNameFileIO, ProjectNameWriteIO } from "./project-name.js";
10
10
  export declare const consoleIO: ConsoleIO;
11
11
  export declare const consoleIOWithProgress: ConsoleIOWithProgress;
12
12
  export declare const processIO: ProcessIOFull;
@@ -39,6 +39,7 @@ export declare const fileIO: FileIO;
39
39
  export declare const fileIOWithRead: FileIOWithRead;
40
40
  export declare const projectFileIO: ProjectFileIO;
41
41
  export declare const projectNameFileIO: ProjectNameFileIO;
42
+ export declare const projectNameWriteIO: ProjectNameWriteIO;
42
43
  /**
43
44
  * Get the Fling root directory with caching.
44
45
  */
@@ -1 +1 @@
1
- {"version":3,"file":"cli-io-impl.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/cli-io-impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-io-impl.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/cli-io-impl.ts"],"names":[],"mappings":"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"}
@@ -218,6 +218,17 @@ export const projectNameFileIO = {
218
218
  return readFileSync(path, "utf-8");
219
219
  },
220
220
  };
221
+ export const projectNameWriteIO = {
222
+ exists: existsSync,
223
+ readFileString: (path) => {
224
+ if (!existsSync(path))
225
+ return null;
226
+ return readFileSync(path, "utf-8");
227
+ },
228
+ writeFileString: (path, data) => {
229
+ writeFileSync(path, data);
230
+ },
231
+ };
221
232
  // Cached Fling root
222
233
  let cachedFlingRoot = null;
223
234
  /**