@conceptcraft/mindframes 0.1.9 → 0.1.10

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.
package/dist/index.js CHANGED
@@ -1,17 +1,46 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __esm = (fn, res) => function __init() {
6
- return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
7
- };
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
3
+
4
+ // src/index.ts
5
+ import { Command as Command20 } from "commander";
6
+ import chalk13 from "chalk";
12
7
 
13
8
  // src/lib/brand.ts
14
9
  import path from "path";
10
+ var BRANDS = {
11
+ conceptcraft: {
12
+ id: "conceptcraft",
13
+ name: "conceptcraft",
14
+ displayName: "ConceptCraft",
15
+ description: "CLI tool for ConceptCraft presentation generation",
16
+ commands: ["cc", "conceptcraft"],
17
+ apiUrl: "https://conceptcraft.ai",
18
+ docsUrl: "https://docs.conceptcraft.ai",
19
+ packageName: "@conceptcraft/cli",
20
+ configDir: ".conceptcraft",
21
+ apiKeyEnvVar: "CONCEPTCRAFT_API_KEY",
22
+ apiUrlEnvVar: "CONCEPTCRAFT_API_URL"
23
+ },
24
+ mindframes: {
25
+ id: "mindframes",
26
+ name: "mindframes",
27
+ displayName: "Mindframes",
28
+ description: "CLI tool for Mindframes presentation generation",
29
+ commands: ["mf", "mindframes"],
30
+ apiUrl: "https://mindframes.app",
31
+ docsUrl: "https://docs.mindframes.app",
32
+ packageName: "@conceptcraft/mindframes",
33
+ configDir: ".mindframes",
34
+ apiKeyEnvVar: "MINDFRAMES_API_KEY",
35
+ apiUrlEnvVar: "MINDFRAMES_API_URL"
36
+ }
37
+ };
38
+ var COMMAND_TO_BRAND = {
39
+ cc: "conceptcraft",
40
+ conceptcraft: "conceptcraft",
41
+ mf: "mindframes",
42
+ mindframes: "mindframes"
43
+ };
15
44
  function detectBrand() {
16
45
  const binaryPath = process.argv[1] || "";
17
46
  const binaryName = path.basename(binaryPath).replace(/\.(js|ts)$/, "");
@@ -26,50 +55,52 @@ function detectBrand() {
26
55
  }
27
56
  return BRANDS.mindframes;
28
57
  }
29
- var BRANDS, COMMAND_TO_BRAND, brand;
30
- var init_brand = __esm({
31
- "src/lib/brand.ts"() {
32
- "use strict";
33
- BRANDS = {
34
- conceptcraft: {
35
- id: "conceptcraft",
36
- name: "conceptcraft",
37
- displayName: "ConceptCraft",
38
- description: "CLI tool for ConceptCraft presentation generation",
39
- commands: ["cc", "conceptcraft"],
40
- apiUrl: "https://conceptcraft.ai",
41
- docsUrl: "https://docs.conceptcraft.ai",
42
- packageName: "@conceptcraft/cli",
43
- configDir: ".conceptcraft",
44
- apiKeyEnvVar: "CONCEPTCRAFT_API_KEY",
45
- apiUrlEnvVar: "CONCEPTCRAFT_API_URL"
46
- },
47
- mindframes: {
48
- id: "mindframes",
49
- name: "mindframes",
50
- displayName: "Mindframes",
51
- description: "CLI tool for Mindframes presentation generation",
52
- commands: ["mf", "mindframes"],
53
- apiUrl: "https://mindframes.app",
54
- docsUrl: "https://docs.mindframes.app",
55
- packageName: "@conceptcraft/mindframes",
56
- configDir: ".mindframes",
57
- apiKeyEnvVar: "MINDFRAMES_API_KEY",
58
- apiUrlEnvVar: "MINDFRAMES_API_URL"
59
- }
60
- };
61
- COMMAND_TO_BRAND = {
62
- cc: "conceptcraft",
63
- conceptcraft: "conceptcraft",
64
- mf: "mindframes",
65
- mindframes: "mindframes"
66
- };
67
- brand = detectBrand();
68
- }
69
- });
58
+ var brand = detectBrand();
59
+
60
+ // src/commands/login.ts
61
+ import { Command } from "commander";
62
+ import chalk3 from "chalk";
63
+ import ora from "ora";
64
+ import http from "http";
65
+ import { randomBytes, createHash } from "crypto";
66
+ import open from "open";
70
67
 
71
68
  // src/lib/config.ts
72
69
  import Conf from "conf";
70
+ var DEFAULT_API_URL = "https://www.mindframes.app";
71
+ var schema = {
72
+ apiKey: {
73
+ type: "string"
74
+ },
75
+ apiUrl: {
76
+ type: "string",
77
+ default: DEFAULT_API_URL
78
+ },
79
+ defaultTeamId: {
80
+ type: "string"
81
+ },
82
+ // OAuth tokens (preferred over API key)
83
+ accessToken: {
84
+ type: "string"
85
+ },
86
+ refreshToken: {
87
+ type: "string"
88
+ },
89
+ tokenExpiresAt: {
90
+ type: "number"
91
+ },
92
+ // OAuth client registration (cached per-server)
93
+ clientId: {
94
+ type: "string"
95
+ },
96
+ clientSecret: {
97
+ type: "string"
98
+ }
99
+ };
100
+ var config = new Conf({
101
+ projectName: brand.name,
102
+ schema
103
+ });
73
104
  function getConfig() {
74
105
  return {
75
106
  apiKey: getApiKey(),
@@ -151,47 +182,6 @@ function setOAuthClient(clientId, clientSecret) {
151
182
  config.set("clientId", clientId);
152
183
  config.set("clientSecret", clientSecret);
153
184
  }
154
- var DEFAULT_API_URL, schema, config;
155
- var init_config = __esm({
156
- "src/lib/config.ts"() {
157
- "use strict";
158
- init_brand();
159
- DEFAULT_API_URL = "https://www.mindframes.app";
160
- schema = {
161
- apiKey: {
162
- type: "string"
163
- },
164
- apiUrl: {
165
- type: "string",
166
- default: DEFAULT_API_URL
167
- },
168
- defaultTeamId: {
169
- type: "string"
170
- },
171
- // OAuth tokens (preferred over API key)
172
- accessToken: {
173
- type: "string"
174
- },
175
- refreshToken: {
176
- type: "string"
177
- },
178
- tokenExpiresAt: {
179
- type: "number"
180
- },
181
- // OAuth client registration (cached per-server)
182
- clientId: {
183
- type: "string"
184
- },
185
- clientSecret: {
186
- type: "string"
187
- }
188
- };
189
- config = new Conf({
190
- projectName: brand.name,
191
- schema
192
- });
193
- }
194
- });
195
185
 
196
186
  // src/lib/output.ts
197
187
  import chalk from "chalk";
@@ -358,40 +348,25 @@ function formatJson(data) {
358
348
  function printJson(data) {
359
349
  console.log(formatJson(data));
360
350
  }
361
- var init_output = __esm({
362
- "src/lib/output.ts"() {
363
- "use strict";
364
- init_config();
365
- }
366
- });
367
351
 
368
- // src/types/media.ts
369
- var init_media = __esm({
370
- "src/types/media.ts"() {
371
- "use strict";
372
- }
373
- });
352
+ // src/lib/feature-cache.ts
353
+ import Conf2 from "conf";
354
+
355
+ // src/lib/auth.ts
356
+ import chalk2 from "chalk";
374
357
 
375
358
  // src/types/index.ts
376
- var EXIT_CODES;
377
- var init_types = __esm({
378
- "src/types/index.ts"() {
379
- "use strict";
380
- init_media();
381
- EXIT_CODES = {
382
- SUCCESS: 0,
383
- GENERAL_ERROR: 1,
384
- AUTH_ERROR: 2,
385
- NOT_FOUND: 3,
386
- RATE_LIMIT: 4,
387
- NETWORK_ERROR: 5,
388
- INVALID_INPUT: 6
389
- };
390
- }
391
- });
359
+ var EXIT_CODES = {
360
+ SUCCESS: 0,
361
+ GENERAL_ERROR: 1,
362
+ AUTH_ERROR: 2,
363
+ NOT_FOUND: 3,
364
+ RATE_LIMIT: 4,
365
+ NETWORK_ERROR: 5,
366
+ INVALID_INPUT: 6
367
+ };
392
368
 
393
369
  // src/lib/auth.ts
394
- import chalk2 from "chalk";
395
370
  async function refreshAccessToken() {
396
371
  const refreshToken = getRefreshToken();
397
372
  const clientId = getClientId();
@@ -440,21 +415,15 @@ function hasAuth() {
440
415
  }
441
416
  async function requireAuth() {
442
417
  if (!hasAuth()) {
443
- const { confirm: confirm4 } = await import("@inquirer/prompts");
444
- try {
445
- const shouldLogin = await confirm4({
446
- message: chalk2.red("Not authenticated.") + " Log in now?",
447
- default: true
448
- });
449
- if (!shouldLogin) {
450
- console.log(chalk2.gray("\nTip: You can also set CC_MINDFRAMES_API_KEY environment variable."));
451
- process.exit(EXIT_CODES.AUTH_ERROR);
452
- }
453
- const { runLoginFlow: runLoginFlow2 } = await Promise.resolve().then(() => (init_login(), login_exports));
454
- await runLoginFlow2({ browser: true });
455
- } catch {
456
- process.exit(EXIT_CODES.AUTH_ERROR);
457
- }
418
+ const cmd2 = brand.commands[0];
419
+ const envVar = brand.apiKeyEnvVar;
420
+ console.error(chalk2.red("\u2717 Not authenticated."));
421
+ console.error();
422
+ console.error(chalk2.bold("To authenticate, run:"));
423
+ console.error(chalk2.cyan(` ${cmd2} login`));
424
+ console.error();
425
+ console.error(chalk2.gray(`Or set ${envVar} environment variable.`));
426
+ process.exit(EXIT_CODES.AUTH_ERROR);
458
427
  }
459
428
  }
460
429
  function maskApiKey(key) {
@@ -472,13 +441,6 @@ function isValidApiKeyFormat(key) {
472
441
  const validPrefixes = ["cc_slides_", "mcp_", "cc_sk_", "sk_"];
473
442
  return validPrefixes.some((prefix) => key.startsWith(prefix));
474
443
  }
475
- var init_auth = __esm({
476
- "src/lib/auth.ts"() {
477
- "use strict";
478
- init_config();
479
- init_types();
480
- }
481
- });
482
444
 
483
445
  // src/lib/api.ts
484
446
  import { readFileSync, statSync } from "fs";
@@ -495,6 +457,14 @@ async function getAuthHeaders() {
495
457
  }
496
458
  return {};
497
459
  }
460
+ var ApiError = class extends Error {
461
+ constructor(message, statusCode, exitCode = 1) {
462
+ super(message);
463
+ this.statusCode = statusCode;
464
+ this.exitCode = exitCode;
465
+ this.name = "ApiError";
466
+ }
467
+ };
498
468
  async function request(endpoint, options = {}) {
499
469
  const apiUrl = getApiUrl();
500
470
  if (!hasAuth()) {
@@ -1088,26 +1058,14 @@ async function pollForCompletion(checkFn, maxAttempts = 60, intervalMs = 2e3) {
1088
1058
  }
1089
1059
  throw new ApiError("Operation timed out", 408, 1);
1090
1060
  }
1091
- var ApiError;
1092
- var init_api = __esm({
1093
- "src/lib/api.ts"() {
1094
- "use strict";
1095
- init_config();
1096
- init_auth();
1097
- init_brand();
1098
- ApiError = class extends Error {
1099
- constructor(message, statusCode, exitCode = 1) {
1100
- super(message);
1101
- this.statusCode = statusCode;
1102
- this.exitCode = exitCode;
1103
- this.name = "ApiError";
1104
- }
1105
- };
1106
- }
1107
- });
1108
1061
 
1109
1062
  // src/lib/feature-cache.ts
1110
- import Conf2 from "conf";
1063
+ var cache = new Conf2({
1064
+ projectName: "conceptcraft",
1065
+ configName: "feature-cache"
1066
+ });
1067
+ var FRESH_TTL = 60 * 60 * 1e3;
1068
+ var STALE_TTL = 24 * 60 * 60 * 1e3;
1111
1069
  function hashApiKey(key) {
1112
1070
  let hash = 0;
1113
1071
  for (let i = 0; i < key.length; i++) {
@@ -1153,33 +1111,11 @@ function invalidateCache() {
1153
1111
  function getCachePath() {
1154
1112
  return cache.path;
1155
1113
  }
1156
- var cache, FRESH_TTL, STALE_TTL;
1157
- var init_feature_cache = __esm({
1158
- "src/lib/feature-cache.ts"() {
1159
- "use strict";
1160
- init_api();
1161
- init_config();
1162
- cache = new Conf2({
1163
- projectName: "conceptcraft",
1164
- configName: "feature-cache"
1165
- });
1166
- FRESH_TTL = 60 * 60 * 1e3;
1167
- STALE_TTL = 24 * 60 * 60 * 1e3;
1168
- }
1169
- });
1170
1114
 
1171
1115
  // src/commands/login.ts
1172
- var login_exports = {};
1173
- __export(login_exports, {
1174
- loginCommand: () => loginCommand,
1175
- runLoginFlow: () => runLoginFlow
1176
- });
1177
- import { Command } from "commander";
1178
- import chalk3 from "chalk";
1179
- import ora from "ora";
1180
- import http from "http";
1181
- import { randomBytes, createHash } from "crypto";
1182
- import open from "open";
1116
+ var CLI_CLIENT_NAME = "ConceptCraft CLI";
1117
+ var CALLBACK_PORT_START = 8765;
1118
+ var CALLBACK_PORT_END = 8775;
1183
1119
  function generateCodeVerifier() {
1184
1120
  return randomBytes(32).toString("base64url");
1185
1121
  }
@@ -1427,43 +1363,22 @@ async function runLoginFlow(options) {
1427
1363
  throw err;
1428
1364
  }
1429
1365
  }
1430
- var CLI_CLIENT_NAME, CALLBACK_PORT_START, CALLBACK_PORT_END, loginCommand;
1431
- var init_login = __esm({
1432
- "src/commands/login.ts"() {
1433
- "use strict";
1434
- init_config();
1435
- init_output();
1436
- init_feature_cache();
1437
- CLI_CLIENT_NAME = "ConceptCraft CLI";
1438
- CALLBACK_PORT_START = 8765;
1439
- CALLBACK_PORT_END = 8775;
1440
- loginCommand = new Command("login").description("Authenticate with ConceptCraft (opens browser)").option("--no-browser", "Print URL instead of opening browser").action(async (options) => {
1441
- console.log();
1442
- if (hasOAuthTokens()) {
1443
- warn("You are already logged in.");
1444
- info("Run 'conceptcraft logout' to log out first, or continue to re-authenticate.");
1445
- console.log();
1446
- }
1447
- try {
1448
- await runLoginFlow(options);
1449
- process.exit(0);
1450
- } catch {
1451
- process.exit(1);
1452
- }
1453
- });
1366
+ var loginCommand = new Command("login").description("Authenticate with ConceptCraft (opens browser)").option("--no-browser", "Print URL instead of opening browser").action(async (options) => {
1367
+ console.log();
1368
+ if (hasOAuthTokens()) {
1369
+ warn("You are already logged in.");
1370
+ info("Run 'conceptcraft logout' to log out first, or continue to re-authenticate.");
1371
+ console.log();
1372
+ }
1373
+ try {
1374
+ await runLoginFlow(options);
1375
+ process.exit(0);
1376
+ } catch {
1377
+ process.exit(1);
1454
1378
  }
1455
1379
  });
1456
1380
 
1457
- // src/index.ts
1458
- init_brand();
1459
- init_login();
1460
- import { Command as Command20 } from "commander";
1461
- import chalk13 from "chalk";
1462
-
1463
1381
  // src/commands/logout.ts
1464
- init_config();
1465
- init_feature_cache();
1466
- init_output();
1467
1382
  import { Command as Command2 } from "commander";
1468
1383
  import { confirm } from "@inquirer/prompts";
1469
1384
  var logoutCommand = new Command2("logout").description("Log out and clear authentication").option("--all", "Clear all config including API key").action(async (options) => {
@@ -1503,11 +1418,6 @@ var logoutCommand = new Command2("logout").description("Log out and clear authen
1503
1418
  });
1504
1419
 
1505
1420
  // src/commands/config.ts
1506
- init_config();
1507
- init_auth();
1508
- init_api();
1509
- init_feature_cache();
1510
- init_output();
1511
1421
  import { Command as Command3 } from "commander";
1512
1422
  import chalk4 from "chalk";
1513
1423
  import { input, password, confirm as confirm2, select } from "@inquirer/prompts";
@@ -1711,13 +1621,10 @@ var configCommand = new Command3("config").description("Manage CLI configuration
1711
1621
  );
1712
1622
 
1713
1623
  // src/commands/create.ts
1714
- init_api();
1715
- init_auth();
1716
1624
  import { Command as Command4 } from "commander";
1717
1625
  import chalk6 from "chalk";
1718
1626
 
1719
1627
  // src/lib/streaming.ts
1720
- init_output();
1721
1628
  import { createParser } from "eventsource-parser";
1722
1629
  import chalk5 from "chalk";
1723
1630
  import ora3 from "ora";
@@ -1979,7 +1886,6 @@ async function streamTextContent(response, options = {}) {
1979
1886
  }
1980
1887
 
1981
1888
  // src/commands/create.ts
1982
- init_output();
1983
1889
  import { readFileSync as readFileSync2, existsSync } from "fs";
1984
1890
  import { resolve } from "path";
1985
1891
  var VALID_GOALS = [
@@ -2461,10 +2367,6 @@ function isUrl(str) {
2461
2367
  }
2462
2368
 
2463
2369
  // src/commands/list.ts
2464
- init_api();
2465
- init_auth();
2466
- init_config();
2467
- init_output();
2468
2370
  import { Command as Command5 } from "commander";
2469
2371
  var listCommand = new Command5("list").description("List presentations").option("-n, --limit <count>", "Number of results to return", "20").option(
2470
2372
  "-f, --format <format>",
@@ -2528,9 +2430,6 @@ var listCommand = new Command5("list").description("List presentations").option(
2528
2430
  });
2529
2431
 
2530
2432
  // src/commands/get.ts
2531
- init_api();
2532
- init_auth();
2533
- init_output();
2534
2433
  import { Command as Command6 } from "commander";
2535
2434
  import chalk7 from "chalk";
2536
2435
  var getCommand = new Command6("get").description("Get presentation details").argument("<slug>", "Presentation slug (e.g., my-presentation-v1-abc123)").option(
@@ -2573,9 +2472,6 @@ var getCommand = new Command6("get").description("Get presentation details").arg
2573
2472
  });
2574
2473
 
2575
2474
  // src/commands/delete.ts
2576
- init_api();
2577
- init_auth();
2578
- init_output();
2579
2475
  import { Command as Command7 } from "commander";
2580
2476
  import { confirm as confirm3 } from "@inquirer/prompts";
2581
2477
  var deleteCommand = new Command7("delete").description("Delete a presentation").argument("<slug>", "Presentation slug (e.g., my-presentation-v1-abc123)").option("-f, --force", "Skip confirmation prompt").option("-q, --quiet", "Suppress output").action(async (slug, options) => {
@@ -2611,9 +2507,6 @@ var deleteCommand = new Command7("delete").description("Delete a presentation").
2611
2507
  });
2612
2508
 
2613
2509
  // src/commands/export.ts
2614
- init_api();
2615
- init_auth();
2616
- init_output();
2617
2510
  import { Command as Command8 } from "commander";
2618
2511
  import { writeFile } from "fs/promises";
2619
2512
  import { resolve as resolve2 } from "path";
@@ -2655,10 +2548,6 @@ function formatBytes(bytes) {
2655
2548
  }
2656
2549
 
2657
2550
  // src/commands/import.ts
2658
- init_api();
2659
- init_auth();
2660
- init_output();
2661
- init_config();
2662
2551
  import { Command as Command9 } from "commander";
2663
2552
  import { readFile } from "fs/promises";
2664
2553
  import { resolve as resolve3, basename as basename2 } from "path";
@@ -2748,10 +2637,6 @@ var importCommand = cmd.option("--dry-run", "Validate without importing").option
2748
2637
  });
2749
2638
 
2750
2639
  // src/commands/branding.ts
2751
- init_api();
2752
- init_auth();
2753
- init_config();
2754
- init_output();
2755
2640
  import { Command as Command10 } from "commander";
2756
2641
  import chalk8 from "chalk";
2757
2642
  import ora6 from "ora";
@@ -2925,13 +2810,9 @@ var brandingCommand = new Command10("branding").description("Manage brand profil
2925
2810
  );
2926
2811
 
2927
2812
  // src/commands/derive.ts
2928
- init_api();
2929
- init_auth();
2930
- init_feature_cache();
2931
2813
  import { Command as Command11 } from "commander";
2932
2814
  import chalk9 from "chalk";
2933
2815
  import ora7 from "ora";
2934
- init_output();
2935
2816
  function createBlogCommand() {
2936
2817
  return new Command11("blog").description("Generate a blog post from a presentation").argument("<slug>", "Presentation slug").option("--words <count>", "Target word count (50-2000)", "300").option(
2937
2818
  "--tone <tone>",
@@ -3055,8 +2936,6 @@ function buildDeriveCommand() {
3055
2936
  }
3056
2937
 
3057
2938
  // src/commands/ideas.ts
3058
- init_auth();
3059
- init_output();
3060
2939
  import { Command as Command12 } from "commander";
3061
2940
  import chalk10 from "chalk";
3062
2941
  var ideasCommand = new Command12("ideas").description("Generate presentation topic ideas").option("--context <text>", "Custom context for idea generation").option("--count <n>", "Number of ideas to generate", "5").option("-f, --format <format>", "Output format (human, json)", "human").action(async (options) => {
@@ -3080,10 +2959,6 @@ var ideasCommand = new Command12("ideas").description("Generate presentation top
3080
2959
  });
3081
2960
 
3082
2961
  // src/commands/whoami.ts
3083
- init_api();
3084
- init_auth();
3085
- init_feature_cache();
3086
- init_output();
3087
2962
  import { Command as Command13 } from "commander";
3088
2963
  import chalk11 from "chalk";
3089
2964
  var whoamiCommand = new Command13("whoami").description("Show current user and team information").option("-f, --format <format>", "Output format (human, json)", "human").action(async (options) => {
@@ -3139,8 +3014,6 @@ var whoamiCommand = new Command13("whoami").description("Show current user and t
3139
3014
  });
3140
3015
 
3141
3016
  // src/commands/skill/index.ts
3142
- init_output();
3143
- init_brand();
3144
3017
  import { Command as Command14 } from "commander";
3145
3018
  import chalk12 from "chalk";
3146
3019
 
@@ -3177,14 +3050,20 @@ A comprehensive CLI for AI-powered content creation. Generate presentations, vid
3177
3050
 
3178
3051
  ## Authentication
3179
3052
 
3053
+ **IMPORTANT:** Most commands require authentication. If a command fails with "Not authenticated", run:
3054
+
3180
3055
  \`\`\`bash
3181
- # Login via OAuth (recommended)
3182
3056
  ${cmd2} login
3057
+ \`\`\`
3058
+
3059
+ This opens a browser for OAuth login. Alternatively, set an API key:
3183
3060
 
3184
- # Or set API key directly
3061
+ \`\`\`bash
3185
3062
  export ${envPrefix}_API_KEY="your-key-here"
3063
+ \`\`\`
3186
3064
 
3187
- # Verify authentication
3065
+ **Verify authentication:**
3066
+ \`\`\`bash
3188
3067
  ${cmd2} whoami
3189
3068
  \`\`\`
3190
3069
 
@@ -4953,9 +4832,6 @@ skillCommand.command("uninstall").description(`Remove ${brand.displayName} skill
4953
4832
  });
4954
4833
 
4955
4834
  // src/commands/tts.ts
4956
- init_api();
4957
- init_output();
4958
- init_types();
4959
4835
  import { Command as Command15 } from "commander";
4960
4836
  import ora8 from "ora";
4961
4837
  import { writeFile as writeFile2 } from "fs/promises";
@@ -5044,9 +4920,6 @@ var voicesCommand = new Command15("voices").description("List available voices")
5044
4920
  var ttsCommand = new Command15("tts").description("Text-to-speech commands").addCommand(generateCommand).addCommand(voicesCommand);
5045
4921
 
5046
4922
  // src/commands/music.ts
5047
- init_api();
5048
- init_output();
5049
- init_types();
5050
4923
  import { Command as Command16 } from "commander";
5051
4924
  import ora9 from "ora";
5052
4925
  import { writeFile as writeFile3 } from "fs/promises";
@@ -5166,9 +5039,6 @@ var statusCommand = new Command16("status").description("Check status of a music
5166
5039
  var musicCommand = new Command16("music").description("Music generation commands").addCommand(generateCommand2).addCommand(statusCommand);
5167
5040
 
5168
5041
  // src/commands/mix.ts
5169
- init_api();
5170
- init_output();
5171
- init_types();
5172
5042
  import { Command as Command17 } from "commander";
5173
5043
  import ora10 from "ora";
5174
5044
  import { writeFile as writeFile4 } from "fs/promises";
@@ -5292,9 +5162,6 @@ var statusCommand2 = new Command17("status").description("Check status of an aud
5292
5162
  var mixAudioCommand = new Command17("mix").description("Audio mixing commands").addCommand(mixCommand).addCommand(statusCommand2);
5293
5163
 
5294
5164
  // src/commands/image.ts
5295
- init_api();
5296
- init_output();
5297
- init_types();
5298
5165
  import { Command as Command18 } from "commander";
5299
5166
  import ora11 from "ora";
5300
5167
  var searchCommand = new Command18("search").description("Search for images").requiredOption("-q, --query <query>", "Search query").option("-n, --max-results <number>", "Maximum number of results (default: 10)").option("-s, --size <size>", "Image size: small, medium, large, any", "large").option("--safe-search", "Enable safe search (default: true)", true).option("--no-safe-search", "Disable safe search").option("-f, --format <format>", "Output format: human, json, quiet", "human").action(async (options) => {
@@ -5372,9 +5239,6 @@ var searchCommand = new Command18("search").description("Search for images").req
5372
5239
  var imageCommand = new Command18("image").description("Image search commands").addCommand(searchCommand);
5373
5240
 
5374
5241
  // src/commands/video.ts
5375
- init_api();
5376
- init_output();
5377
- init_types();
5378
5242
  import { Command as Command19 } from "commander";
5379
5243
  import ora12 from "ora";
5380
5244
  import { mkdir, writeFile as writeFile5, readFile as readFile2, access, rm, cp } from "fs/promises";
@@ -6121,7 +5985,7 @@ var thumbnailCommand = new Command19("thumbnail").description("Embed a thumbnail
6121
5985
  var videoCommand = new Command19("video").description("Video asset generation commands").addCommand(initCommand).addCommand(createCommand2).addCommand(searchCommand2).addCommand(thumbnailCommand);
6122
5986
 
6123
5987
  // src/index.ts
6124
- var VERSION = "0.1.9";
5988
+ var VERSION = "0.1.10";
6125
5989
  var program = new Command20();
6126
5990
  var cmdName = brand.commands[0];
6127
5991
  program.name(cmdName).description(brand.description).version(VERSION, "-v, --version", "Show version number").option("--debug", "Enable debug logging").option("--no-color", "Disable colored output").configureOutput({