kappmaker 1.1.0 → 1.2.1

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 (64) hide show
  1. package/README.md +254 -30
  2. package/dist/cli.js +87 -1
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/adapty-setup.js +5 -4
  5. package/dist/commands/adapty-setup.js.map +1 -1
  6. package/dist/commands/config.js +11 -1
  7. package/dist/commands/config.js.map +1 -1
  8. package/dist/commands/create-appstore-app.js +18 -1
  9. package/dist/commands/create-appstore-app.js.map +1 -1
  10. package/dist/commands/create-logo.js +16 -5
  11. package/dist/commands/create-logo.js.map +1 -1
  12. package/dist/commands/create-play-app.d.ts +2 -0
  13. package/dist/commands/create-play-app.js +399 -0
  14. package/dist/commands/create-play-app.js.map +1 -0
  15. package/dist/commands/create.js +133 -54
  16. package/dist/commands/create.js.map +1 -1
  17. package/dist/commands/enhance.js +12 -4
  18. package/dist/commands/enhance.js.map +1 -1
  19. package/dist/commands/fastlane-configure.d.ts +1 -0
  20. package/dist/commands/fastlane-configure.js +9 -0
  21. package/dist/commands/fastlane-configure.js.map +1 -0
  22. package/dist/commands/generate-screenshots.js +22 -7
  23. package/dist/commands/generate-screenshots.js.map +1 -1
  24. package/dist/commands/gpc.d.ts +29 -0
  25. package/dist/commands/gpc.js +174 -0
  26. package/dist/commands/gpc.js.map +1 -0
  27. package/dist/commands/publish.d.ts +1 -1
  28. package/dist/commands/publish.js +1 -1
  29. package/dist/commands/publish.js.map +1 -1
  30. package/dist/commands/remove-bg.js +12 -4
  31. package/dist/commands/remove-bg.js.map +1 -1
  32. package/dist/commands/translate-screenshots.js +22 -8
  33. package/dist/commands/translate-screenshots.js.map +1 -1
  34. package/dist/services/asc-monetization.service.js +39 -29
  35. package/dist/services/asc-monetization.service.js.map +1 -1
  36. package/dist/services/asc.service.d.ts +1 -1
  37. package/dist/services/asc.service.js +94 -12
  38. package/dist/services/asc.service.js.map +1 -1
  39. package/dist/services/fastlane-setup.service.d.ts +1 -0
  40. package/dist/services/fastlane-setup.service.js +50 -0
  41. package/dist/services/fastlane-setup.service.js.map +1 -0
  42. package/dist/services/firebase.service.js +48 -18
  43. package/dist/services/firebase.service.js.map +1 -1
  44. package/dist/services/gpc-data-safety.service.d.ts +11 -0
  45. package/dist/services/gpc-data-safety.service.js +160 -0
  46. package/dist/services/gpc-data-safety.service.js.map +1 -0
  47. package/dist/services/gpc-monetization.service.d.ts +18 -0
  48. package/dist/services/gpc-monetization.service.js +244 -0
  49. package/dist/services/gpc-monetization.service.js.map +1 -0
  50. package/dist/services/gpc.service.d.ts +87 -0
  51. package/dist/services/gpc.service.js +338 -0
  52. package/dist/services/gpc.service.js.map +1 -0
  53. package/dist/services/refactor.service.js +44 -29
  54. package/dist/services/refactor.service.js.map +1 -1
  55. package/dist/templates/Fastfile.txt +209 -0
  56. package/dist/templates/data-safety-template.json +5483 -0
  57. package/dist/templates/googleplay-config.json +71 -0
  58. package/dist/types/googleplay.d.ts +113 -0
  59. package/dist/types/googleplay.js +2 -0
  60. package/dist/types/googleplay.js.map +1 -0
  61. package/dist/utils/config.d.ts +1 -0
  62. package/dist/utils/config.js +4 -0
  63. package/dist/utils/config.js.map +1 -1
  64. package/package.json +2 -2
@@ -3,28 +3,32 @@ import fs from 'fs-extra';
3
3
  import chalk from 'chalk';
4
4
  import { logger } from '../utils/logger.js';
5
5
  import { validateDependencies, validateAppName } from '../utils/validator.js';
6
- import { confirm } from '../utils/prompt.js';
6
+ import { confirm, promptInput } from '../utils/prompt.js';
7
7
  import * as git from '../services/git.service.js';
8
8
  import * as firebase from '../services/firebase.service.js';
9
9
  import * as gradle from '../services/gradle.service.js';
10
10
  import { refactor } from '../services/refactor.service.js';
11
11
  import * as ios from '../services/ios.service.js';
12
- import * as fastlane from '../services/fastlane.service.js';
12
+ import { configureFastlane } from '../services/fastlane-setup.service.js';
13
+ import { publishAndroid } from '../services/publish.service.js';
13
14
  import { createLogo } from './create-logo.js';
14
15
  import { removeBackground } from './remove-bg.js';
15
16
  import { createAppStoreApp } from './create-appstore-app.js';
17
+ import { createPlayApp } from './create-play-app.js';
16
18
  import { adaptySetup } from './adapty-setup.js';
17
- import { loadConfig } from '../utils/config.js';
19
+ import { configInit } from './config.js';
20
+ import { loadConfig, getConfigPath } from '../utils/config.js';
21
+ import { hasKeystore, generateKeystore } from '../services/keystore.service.js';
18
22
  const TOTAL_STEPS = 13;
19
23
  function buildConfig(appName, options, userConfig) {
20
24
  const appIdLower = appName.toLowerCase();
21
- const prefix = userConfig.bundleIdPrefix || `com.${appIdLower}`;
25
+ const prefix = userConfig.bundleIdPrefix || ('com.' + appIdLower);
22
26
  return {
23
27
  appName,
24
28
  appIdLower,
25
- packageName: `${prefix}.${appIdLower}`,
26
- firebaseProject: `${appIdLower}-app`,
27
- targetDir: `${appName}-All`,
29
+ packageName: prefix + '.' + appIdLower,
30
+ firebaseProject: appIdLower + '-app',
31
+ targetDir: appName + '-All',
28
32
  templateRepo: options.templateRepo || userConfig.templateRepo,
29
33
  };
30
34
  }
@@ -38,19 +42,25 @@ function buildContext(config) {
38
42
  export async function createApp(appName, options) {
39
43
  validateAppName(appName);
40
44
  await validateDependencies();
45
+ // If config file doesn't exist, run interactive setup first so API keys,
46
+ // service account path, and preferences are in place before we need them.
47
+ if (!(await fs.pathExists(getConfigPath()))) {
48
+ logger.warn('No KAppMaker config found. Let\'s set it up first.');
49
+ await configInit();
50
+ }
41
51
  const userConfig = await loadConfig();
42
52
  const config = buildConfig(appName, options, userConfig);
43
53
  const ctx = buildContext(config);
44
54
  const org = options.organization || userConfig.organization || config.appName;
45
55
  logger.banner(config.appName);
46
- logger.info(`Package/Bundle ID: ${config.packageName}`);
47
- logger.info(`Firebase project: ${config.firebaseProject}`);
48
- logger.info(`Target directory: ${config.targetDir}`);
56
+ logger.info('Package/Bundle ID: ' + config.packageName);
57
+ logger.info('Firebase project: ' + config.firebaseProject);
58
+ logger.info('Target directory: ' + config.targetDir);
49
59
  // Step 1: Clone template
50
60
  logger.step(1, TOTAL_STEPS, 'Cloning template repository');
51
61
  const targetPath = path.resolve(config.targetDir);
52
62
  if (await fs.pathExists(targetPath)) {
53
- logger.warn(`Directory "${config.targetDir}" already exists.`);
63
+ logger.warn('Directory "' + config.targetDir + '" already exists.');
54
64
  const shouldOverwrite = await confirm('Delete it and start fresh?');
55
65
  if (!shouldOverwrite) {
56
66
  logger.info('Aborted.');
@@ -89,13 +99,15 @@ export async function createApp(appName, options) {
89
99
  : path.join(assetsDir, 'GoogleService-Info.plist');
90
100
  if (!androidConfigDirExists || !iosConfigDirExists) {
91
101
  await fs.ensureDir(assetsDir);
92
- logger.warn('KAppMaker directory structure not found saving Firebase configs to Assets/');
102
+ logger.warn('KAppMaker directory structure not found -- saving Firebase configs to Assets/');
93
103
  }
94
104
  await firebase.downloadSdkConfig(androidApp.appId, 'ANDROID', finalAndroidPath);
95
105
  await firebase.downloadSdkConfig(iosApp.appId, 'IOS', finalIosPath);
106
+ // Verify the downloaded google-services.json matches the expected package.
107
+ await verifyAndFixGoogleServicesPackage(finalAndroidPath, config.packageName);
96
108
  }
97
109
  else {
98
- logger.warn('Skipping steps 46 (Firebase apps, auth, SDK configs) project not available.');
110
+ logger.warn('Skipping steps 4-6 (Firebase apps, auth, SDK configs) -- project not available.');
99
111
  logger.info('You can set up Firebase manually later and re-run these steps.');
100
112
  }
101
113
  // Step 7: Logo generation (optional)
@@ -113,69 +125,136 @@ export async function createApp(appName, options) {
113
125
  else {
114
126
  logger.info('Skipping logo generation.');
115
127
  }
116
- // Step 8: App Store Connect setup (optional)
117
- logger.step(8, TOTAL_STEPS, 'App Store Connect setup');
118
- const wantsAppStore = await confirm(' Set up App Store Connect?');
119
- if (wantsAppStore) {
120
- await createAppStoreApp({});
121
- }
122
- else {
123
- logger.info('Skipping App Store Connect setup. Run "kappmaker create-appstore-app" later.');
124
- }
125
- // Step 9: Adapty setup (optional)
126
- logger.step(9, TOTAL_STEPS, 'Adapty subscription setup');
127
- const wantsAdapty = await confirm(' Set up Adapty subscriptions?');
128
- if (wantsAdapty) {
129
- await adaptySetup({});
130
- }
131
- else {
132
- logger.info('Skipping Adapty setup. Run "kappmaker adapty setup" later.');
133
- }
134
- // Step 10: Refactor package names, application ID, and app name
135
- logger.step(10, TOTAL_STEPS, 'Configuring mobile app (package refactor)');
128
+ // Step 8: Package refactor
129
+ logger.step(8, TOTAL_STEPS, 'Configuring mobile app (package refactor)');
136
130
  console.log('');
137
131
  console.log(chalk.gray(' Update package name to match application ID?'));
138
- console.log(chalk.gray(' Yes (default) package name will be same as application ID (e.g., com.measify.myapp)'));
139
- console.log(chalk.gray(' No keeps the template package name for easier syncing with the base repo'));
132
+ console.log(chalk.gray(' * Yes (default) -- package name will be same as application ID'));
133
+ console.log(chalk.gray(' * No -- keeps the template package name for easier syncing with the base repo'));
140
134
  const shouldUpdatePackageName = await confirm(' Update package name?');
141
135
  await refactor(ctx.mobileDir, config.packageName, config.appName, !shouldUpdatePackageName);
142
- // Step 11: Setup build environment
143
- logger.step(11, TOTAL_STEPS, 'Setting up build environment');
136
+ // Step 9: Build environment + keystore
137
+ logger.step(9, TOTAL_STEPS, 'Setting up build environment');
144
138
  const gradlewPath = path.join(ctx.mobileDir, 'gradlew');
145
139
  if (await fs.pathExists(gradlewPath)) {
146
140
  await gradle.createLocalProperties(ctx.mobileDir, userConfig.androidSdkPath);
147
141
  }
148
142
  else {
149
- logger.warn('gradlew not found skipping local.properties creation.');
143
+ logger.warn('gradlew not found -- skipping local.properties creation.');
150
144
  }
151
145
  const podfilePath = path.join(ctx.mobileDir, 'iosApp', 'Podfile');
152
146
  if (await fs.pathExists(podfilePath)) {
153
147
  await ios.installPods(ctx.mobileDir);
154
148
  }
155
149
  else {
156
- logger.warn('Podfile not found skipping CocoaPods install.');
150
+ logger.warn('Podfile not found -- skipping CocoaPods install.');
157
151
  }
158
- // Step 12: Set template as upstream
159
- logger.step(12, TOTAL_STEPS, 'Setting up git remotes');
152
+ // Generate signing keystore if missing (fast, <1s). The actual AAB build
153
+ // happens later in step 12 when publishing to Play's internal track.
154
+ if (await fs.pathExists(gradlewPath) && !(await hasKeystore(ctx.mobileDir))) {
155
+ logger.info('Generating Android signing keystore...');
156
+ await generateKeystore(ctx.mobileDir, '', org);
157
+ }
158
+ // Step 10: Git remotes
159
+ logger.step(10, TOTAL_STEPS, 'Setting up git remotes');
160
160
  const repoRoot = path.resolve(config.targetDir);
161
161
  await git.setTemplateAsUpstream(repoRoot);
162
- // Step 13: Android release build
163
- logger.step(13, TOTAL_STEPS, 'Building Android release');
164
- const gradlewExists = await fs.pathExists(path.join(ctx.mobileDir, 'gradlew'));
165
- if (gradlewExists) {
166
- await fastlane.firstTimeBuild(ctx.mobileDir, org);
162
+ // ── Pre-store-setup reminder ──────────────────────────────────────
163
+ console.log('');
164
+ console.log(chalk.bold(' Before continuing, create your Google Play app:'));
165
+ console.log(' ' + chalk.cyan('1.') + ' Open ' + chalk.cyan('https://play.google.com/console/u/0/developers'));
166
+ console.log(' ' + chalk.cyan('2.') + ' Create a new app with package name: ' + chalk.bold(config.packageName));
167
+ console.log(' ' + chalk.cyan('3.') + ' App Store Connect will be created automatically by the CLI');
168
+ console.log('');
169
+ await promptInput(' Press Enter when ready...');
170
+ // Config files should live in the project's Assets dir, not CWD's Assets/.
171
+ const projectAssetsDir = path.join(targetPath, 'Assets');
172
+ const ascConfigPath = path.join(projectAssetsDir, 'appstore-config.json');
173
+ const gpcConfigPath = path.join(projectAssetsDir, 'googleplay-config.json');
174
+ const adaptyConfigPath = path.join(projectAssetsDir, 'adapty-config.json');
175
+ // Step 11: App Store Connect setup (optional)
176
+ logger.step(11, TOTAL_STEPS, 'App Store Connect setup');
177
+ const wantsAppStore = await confirm(' Set up App Store Connect?');
178
+ if (wantsAppStore) {
179
+ await createAppStoreApp({ config: ascConfigPath });
167
180
  }
168
181
  else {
169
- logger.warn('gradlew not found skipping Android release build.');
182
+ logger.info('Skipping App Store Connect setup. Run "kappmaker create-appstore-app" later.');
170
183
  }
171
- const aabPath = await fastlane.findAabPath(ctx.mobileDir);
172
- if (aabPath) {
173
- console.log('');
174
- console.log(chalk.green.bold(' Android App Bundle (AAB) ready!'));
175
- console.log(chalk.cyan(` ${aabPath}`));
176
- console.log(chalk.gray(' Upload this file to Google Play Console to publish your app.'));
177
- console.log('');
184
+ // Step 12: Google Play Console setup (optional)
185
+ // Publishes AAB to internal track first (Fastlane builds + uploads in one step),
186
+ // so billing is enabled for subscription/IAP creation in gpc setup.
187
+ logger.step(12, TOTAL_STEPS, 'Google Play Console setup');
188
+ const wantsPlayStore = await confirm(' Set up Google Play Console? (builds + uploads AAB to internal track first)');
189
+ if (wantsPlayStore) {
190
+ // Ensure Fastlane is configured (Gemfile + Fastfile)
191
+ const gemfilePath = path.join(ctx.mobileDir, 'Gemfile');
192
+ if (!(await fs.pathExists(gemfilePath))) {
193
+ logger.info('Configuring Fastlane (Gemfile + Fastfile + bundle install)...');
194
+ await configureFastlane(ctx.mobileDir);
195
+ }
196
+ // Fastlane's upload_to_play_store checks for the metadata_path directory
197
+ // even when skip_upload_metadata is true. Ensure it exists.
198
+ const playMetadataDir = path.join(ctx.mobileDir, 'distribution', 'android', 'playstore_metadata');
199
+ await fs.ensureDir(playMetadataDir);
200
+ // Publish to internal track — Fastlane's playstore_release lane builds the
201
+ // AAB and uploads it in one step, so no separate build step is needed.
202
+ logger.info('Building and uploading AAB to Google Play internal track...');
203
+ try {
204
+ await publishAndroid(ctx.mobileDir, {
205
+ track: 'internal',
206
+ uploadMetadata: false,
207
+ uploadScreenshots: false,
208
+ uploadImages: false,
209
+ submitForReview: false,
210
+ }, userConfig);
211
+ logger.success('AAB uploaded to internal track.');
212
+ }
213
+ catch {
214
+ logger.warn('Failed to build/upload AAB to internal track.');
215
+ logger.info('You can retry later: kappmaker publish --platform android --track internal');
216
+ logger.info('Continuing with Google Play Console setup -- monetization steps may be skipped.');
217
+ }
218
+ await createPlayApp({ config: gpcConfigPath });
219
+ }
220
+ else {
221
+ logger.info('Skipping Google Play Console setup. Run "kappmaker gpc setup" later.');
222
+ }
223
+ // Step 13: Adapty setup (optional)
224
+ logger.step(13, TOTAL_STEPS, 'Adapty subscription setup');
225
+ const wantsAdapty = await confirm(' Set up Adapty subscriptions?');
226
+ if (wantsAdapty) {
227
+ await adaptySetup({ config: adaptyConfigPath });
228
+ }
229
+ else {
230
+ logger.info('Skipping Adapty setup. Run "kappmaker adapty setup" later.');
178
231
  }
179
232
  logger.done();
180
233
  }
234
+ /**
235
+ * Verify that the downloaded google-services.json contains the expected
236
+ * package name. If not (e.g., Firebase app was from a previous run with a
237
+ * different bundleIdPrefix), fix it in-place.
238
+ */
239
+ async function verifyAndFixGoogleServicesPackage(jsonPath, expectedPackage) {
240
+ if (!(await fs.pathExists(jsonPath)))
241
+ return;
242
+ try {
243
+ const raw = await fs.readFile(jsonPath, 'utf8');
244
+ const data = JSON.parse(raw);
245
+ const clients = data?.client ?? [];
246
+ const match = clients.some((c) => c.client_info?.android_client_info?.package_name === expectedPackage);
247
+ if (!match && clients.length > 0) {
248
+ const actual = clients[0]?.client_info?.android_client_info?.package_name ?? '(unknown)';
249
+ logger.warn('google-services.json has package "' + actual + '" but expected "' + expectedPackage + '".');
250
+ logger.info('Fixing package name in google-services.json...');
251
+ const fixed = raw.replaceAll(actual, expectedPackage);
252
+ await fs.writeFile(jsonPath, fixed, 'utf8');
253
+ logger.success('google-services.json updated to ' + expectedPackage);
254
+ }
255
+ }
256
+ catch {
257
+ // Non-fatal
258
+ }
259
+ }
181
260
  //# sourceMappingURL=create.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,GAAG,MAAM,4BAA4B,CAAC;AAClD,OAAO,KAAK,QAAQ,MAAM,iCAAiC,CAAC;AAC5D,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,KAAK,GAAG,MAAM,4BAA4B,CAAC;AAElD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAGhF,MAAM,WAAW,GAAG,EAAE,CAAC;AAEvB,SAAS,WAAW,CAAC,OAAe,EAAE,OAAsB,EAAE,UAA2B;IACvF,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,UAAU,CAAC,cAAc,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;IAClE,OAAO;QACL,OAAO;QACP,UAAU;QACV,WAAW,EAAE,MAAM,GAAG,GAAG,GAAG,UAAU;QACtC,eAAe,EAAE,UAAU,GAAG,MAAM;QACpC,SAAS,EAAE,OAAO,GAAG,MAAM;QAC3B,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,UAAU,CAAC,YAAY;KAC9D,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,MAAqB;IACzC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC5C,OAAO;QACL,MAAM;QACN,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,OAAe,EACf,OAAsB;IAEtB,eAAe,CAAC,OAAO,CAAC,CAAC;IACzB,MAAM,oBAAoB,EAAE,CAAC;IAE7B,yEAAyE;IACzE,0EAA0E;IAC1E,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;QAClE,MAAM,UAAU,EAAE,CAAC;IACrB,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,UAAU,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACzD,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,IAAI,UAAU,CAAC,YAAY,IAAI,MAAM,CAAC,OAAO,CAAC;IAE9E,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,CAAC,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IACxD,MAAM,CAAC,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;IAC5D,MAAM,CAAC,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAEtD,yBAAyB;IACzB,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,6BAA6B,CAAC,CAAC;IAE3D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAClD,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,SAAS,GAAG,mBAAmB,CAAC,CAAC;QACpE,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,4BAA4B,CAAC,CAAC;QACpE,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAEhC,yBAAyB;IACzB,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,yBAAyB,CAAC,CAAC;IACvD,MAAM,QAAQ,CAAC,aAAa,EAAE,CAAC;IAE/B,kCAAkC;IAClC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,2BAA2B,CAAC,CAAC;IACzD,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAE3D,IAAI,aAAa,EAAE,CAAC;QAClB,+BAA+B;QAC/B,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,wBAAwB,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAEnD,0CAA0C;QAC1C,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,mCAAmC,CAAC,CAAC;QACjE,MAAM,QAAQ,CAAC,mBAAmB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAE3D,+BAA+B;QAC/B,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,kCAAkC,CAAC,CAAC;QAChE,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CACjC,GAAG,CAAC,SAAS,EAAE,YAAY,EAAE,sBAAsB,CACpD,CAAC;QACF,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAC7B,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,0BAA0B,CAC9D,CAAC;QAEF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClD,MAAM,sBAAsB,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACpF,MAAM,kBAAkB,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QAE5E,MAAM,gBAAgB,GAAG,sBAAsB;YAC7C,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;QACjD,MAAM,YAAY,GAAG,kBAAkB;YACrC,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,0BAA0B,CAAC,CAAC;QAErD,IAAI,CAAC,sBAAsB,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACnD,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAC;QAC/F,CAAC;QAED,MAAM,QAAQ,CAAC,iBAAiB,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAChF,MAAM,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QAEpE,2EAA2E;QAC3E,MAAM,iCAAiC,CAAC,gBAAgB,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAChF,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;QAC/F,MAAM,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;IAChF,CAAC;IAED,qCAAqC;IACrC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,qBAAqB,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,2CAA2C,CAAC,CAAC;IAC7E,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;QACnE,MAAM,UAAU,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAEzC,0DAA0D;QAC1D,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YAChD,MAAM,gBAAgB,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC3C,CAAC;IAED,2BAA2B;IAC3B,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,2CAA2C,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;IAC1E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC,CAAC;IAC5F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC,CAAC;IAC3G,MAAM,uBAAuB,GAAG,MAAM,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACxE,MAAM,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,uBAAuB,CAAC,CAAC;IAE5F,uCAAuC;IACvC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,8BAA8B,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACxD,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,MAAM,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;IAC/E,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAClE,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,MAAM,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;IAClE,CAAC;IACD,yEAAyE;IACzE,qEAAqE;IACrE,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QAC5E,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QACtD,MAAM,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAED,uBAAuB;IACvB,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,wBAAwB,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,GAAG,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAE1C,qEAAqE;IACrE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;IACjH,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,uCAAuC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;IAClH,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,6DAA6D,CAAC,CAAC;IACvG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,MAAM,WAAW,CAAC,6BAA6B,CAAC,CAAC;IAEjD,2EAA2E;IAC3E,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACzD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,sBAAsB,CAAC,CAAC;IAC1E,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,wBAAwB,CAAC,CAAC;IAC5E,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;IAE3E,8CAA8C;IAC9C,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,yBAAyB,CAAC,CAAC;IACxD,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,6BAA6B,CAAC,CAAC;IACnE,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,iBAAiB,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;IACrD,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;IAC9F,CAAC;IAED,gDAAgD;IAChD,iFAAiF;IACjF,oEAAoE;IACpE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,2BAA2B,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,8EAA8E,CAAC,CAAC;IACrH,IAAI,cAAc,EAAE,CAAC;QACnB,qDAAqD;QACrD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACxD,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;YAC7E,MAAM,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC;QAED,yEAAyE;QACzE,4DAA4D;QAC5D,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,oBAAoB,CAAC,CAAC;QAClG,MAAM,EAAE,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QAEpC,2EAA2E;QAC3E,uEAAuE;QACvE,MAAM,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;QAC3E,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE;gBAClC,KAAK,EAAE,UAAU;gBACjB,cAAc,EAAE,KAAK;gBACrB,iBAAiB,EAAE,KAAK;gBACxB,YAAY,EAAE,KAAK;gBACnB,eAAe,EAAE,KAAK;aACvB,EAAE,UAAU,CAAC,CAAC;YACf,MAAM,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YAC7D,MAAM,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;YAC1F,MAAM,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;QACjG,CAAC;QAED,MAAM,aAAa,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;IACjD,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;IACtF,CAAC;IAED,mCAAmC;IACnC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,2BAA2B,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,gCAAgC,CAAC,CAAC;IACpE,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,WAAW,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,CAAC,IAAI,EAAE,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,iCAAiC,CAC9C,QAAgB,EAChB,eAAuB;IAEvB,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAAE,OAAO;IAC7C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,OAAO,GAAiF,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC;QACjH,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CACxB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,mBAAmB,EAAE,YAAY,KAAK,eAAe,CAC5E,CAAC;QACF,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,YAAY,IAAI,WAAW,CAAC;YACzF,MAAM,CAAC,IAAI,CAAC,oCAAoC,GAAG,MAAM,GAAG,kBAAkB,GAAG,eAAe,GAAG,IAAI,CAAC,CAAC;YACzG,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YAC9D,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YACtD,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAC5C,MAAM,CAAC,OAAO,CAAC,kCAAkC,GAAG,eAAe,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,YAAY;IACd,CAAC;AACH,CAAC"}
@@ -2,14 +2,22 @@ import path from 'node:path';
2
2
  import fs from 'fs-extra';
3
3
  import sharp from 'sharp';
4
4
  import { logger } from '../utils/logger.js';
5
- import { loadConfig } from '../utils/config.js';
5
+ import { promptInput } from '../utils/prompt.js';
6
+ import { loadConfig, saveConfig } from '../utils/config.js';
6
7
  import * as fal from '../services/fal.service.js';
7
8
  export async function enhance(source, options) {
8
9
  const config = await loadConfig();
9
10
  if (!config.falApiKey) {
10
- logger.fatal('fal.ai API key is not configured.');
11
- logger.info('Set it with: kappmaker config set falApiKey <your-key>');
12
- process.exit(1);
11
+ logger.warn('fal.ai API key is not configured.');
12
+ logger.info('Get one at: https://fal.ai/dashboard/keys');
13
+ const key = await promptInput(' Enter your fal.ai API key: ');
14
+ if (!key.trim()) {
15
+ logger.fatal('fal.ai API key is required.');
16
+ process.exit(1);
17
+ }
18
+ config.falApiKey = key.trim();
19
+ await saveConfig(config);
20
+ logger.success('falApiKey saved to config.');
13
21
  }
14
22
  const sourcePath = path.resolve(source);
15
23
  if (!(await fs.pathExists(sourcePath))) {
@@ -1 +1 @@
1
- {"version":3,"file":"enhance.js","sourceRoot":"","sources":["../../src/commands/enhance.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,GAAG,MAAM,4BAA4B,CAAC;AAGlD,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,MAAc,EAAE,OAAuB;IACnE,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAElC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,2BAA2B,UAAU,EAAE,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,4CAA4C;IAC5C,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;IAChD,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAE/B,mCAAmC;IACnC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,kCAAkC,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAExE,MAAM,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE;QAC9D,KAAK,EAAE,iBAAiB;KACzB,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,4BAA4B,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAE7E,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM;QAC/B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;QAC9B,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAClC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAE7C,8DAA8D;IAC9D,MAAM,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC;IACxC,MAAM,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAE3C,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,oCAAoC,KAAK,IAAI,MAAM,GAAG,CAAC,CAAC;IAC1E,MAAM,KAAK,CAAC,OAAO,CAAC;SACjB,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC;SACrB,MAAM,CAAC,UAAU,CAAC,CAAC;IACtB,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEzB,MAAM,CAAC,OAAO,CAAC,YAAY,UAAU,EAAE,CAAC,CAAC;IACzC,MAAM,CAAC,IAAI,EAAE,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB,CAAC,UAAkB;IAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,eAAe,CAAC,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"enhance.js","sourceRoot":"","sources":["../../src/commands/enhance.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,GAAG,MAAM,4BAA4B,CAAC;AAGlD,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,MAAc,EAAE,OAAuB;IACnE,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAElC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QACzD,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,+BAA+B,CAAC,CAAC;QAC/D,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;QACzB,MAAM,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,2BAA2B,UAAU,EAAE,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,4CAA4C;IAC5C,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;IAChD,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAE/B,mCAAmC;IACnC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,kCAAkC,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAExE,MAAM,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE;QAC9D,KAAK,EAAE,iBAAiB;KACzB,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,4BAA4B,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAE7E,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM;QAC/B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;QAC9B,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAClC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAE7C,8DAA8D;IAC9D,MAAM,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC;IACxC,MAAM,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAE3C,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,oCAAoC,KAAK,IAAI,MAAM,GAAG,CAAC,CAAC;IAC1E,MAAM,KAAK,CAAC,OAAO,CAAC;SACjB,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC;SACrB,MAAM,CAAC,UAAU,CAAC,CAAC;IACtB,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEzB,MAAM,CAAC,OAAO,CAAC,YAAY,UAAU,EAAE,CAAC,CAAC;IACzC,MAAM,CAAC,IAAI,EAAE,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB,CAAC,UAAkB;IAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,eAAe,CAAC,CAAC;AAChD,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function fastlaneConfigure(): Promise<void>;
@@ -0,0 +1,9 @@
1
+ import { logger } from '../utils/logger.js';
2
+ import { resolveMobileDir } from '../services/version.service.js';
3
+ import { configureFastlane } from '../services/fastlane-setup.service.js';
4
+ export async function fastlaneConfigure() {
5
+ const mobileDir = resolveMobileDir();
6
+ logger.info(`Mobile app directory: ${mobileDir}`);
7
+ await configureFastlane(mobileDir);
8
+ }
9
+ //# sourceMappingURL=fastlane-configure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fastlane-configure.js","sourceRoot":"","sources":["../../src/commands/fastlane-configure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;IACrC,MAAM,CAAC,IAAI,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC;IAClD,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACrC,CAAC"}
@@ -2,7 +2,8 @@ import path from 'node:path';
2
2
  import fs from 'fs-extra';
3
3
  import ora from 'ora';
4
4
  import { logger } from '../utils/logger.js';
5
- import { loadConfig } from '../utils/config.js';
5
+ import { promptInput } from '../utils/prompt.js';
6
+ import { loadConfig, saveConfig } from '../utils/config.js';
6
7
  import * as fal from '../services/fal.service.js';
7
8
  import * as openai from '../services/openai.service.js';
8
9
  import * as screenshot from '../services/screenshot.service.js';
@@ -10,14 +11,28 @@ const MAX_REFERENCE_IMAGES = 10;
10
11
  export async function generateScreenshots(options) {
11
12
  const config = await loadConfig();
12
13
  if (!config.openaiApiKey) {
13
- logger.fatal('OpenAI API key is not configured.');
14
- logger.info('Set it with: kappmaker config set openaiApiKey <your-key>');
15
- process.exit(1);
14
+ logger.warn('OpenAI API key is not configured.');
15
+ logger.info('Get one at: https://platform.openai.com/api-keys');
16
+ const key = await promptInput(' Enter your OpenAI API key: ');
17
+ if (!key.trim()) {
18
+ logger.fatal('OpenAI API key is required for screenshot generation.');
19
+ process.exit(1);
20
+ }
21
+ config.openaiApiKey = key.trim();
22
+ await saveConfig(config);
23
+ logger.success('openaiApiKey saved to config.');
16
24
  }
17
25
  if (!config.falApiKey) {
18
- logger.fatal('fal.ai API key is not configured.');
19
- logger.info('Set it with: kappmaker config set falApiKey <your-key>');
20
- process.exit(1);
26
+ logger.warn('fal.ai API key is not configured.');
27
+ logger.info('Get one at: https://fal.ai/dashboard/keys');
28
+ const key = await promptInput(' Enter your fal.ai API key: ');
29
+ if (!key.trim()) {
30
+ logger.fatal('fal.ai API key is required for screenshot generation.');
31
+ process.exit(1);
32
+ }
33
+ config.falApiKey = key.trim();
34
+ await saveConfig(config);
35
+ logger.success('falApiKey saved to config.');
21
36
  }
22
37
  const rows = options.rows ?? 2;
23
38
  const cols = options.cols ?? 4;
@@ -1 +1 @@
1
- {"version":3,"file":"generate-screenshots.js","sourceRoot":"","sources":["../../src/commands/generate-screenshots.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-screenshots.js","sourceRoot":"","sources":["../../src/commands/generate-screenshots.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { CreatePlayAppOptions } from '../types/googleplay.js';
2
+ /** Full 11-step orchestrator (identical to the top-level create-play-app). */
3
+ export declare function gpcSetup(options: CreatePlayAppOptions): Promise<void>;
4
+ /** Quick read-only probe: does this app exist on Play Console? */
5
+ export declare function gpcAppCheck(options: {
6
+ package: string;
7
+ }): Promise<void>;
8
+ /** Push just the listings section (start edit → listings → commit). */
9
+ export declare function gpcListingsPush(options: CreatePlayAppOptions): Promise<void>;
10
+ /** List subscriptions currently on Play Console (package from --package or config). */
11
+ export declare function gpcSubscriptionsList(options: {
12
+ package?: string;
13
+ config?: string;
14
+ }): Promise<void>;
15
+ /** Create/reuse subscriptions from config (idempotent). */
16
+ export declare function gpcSubscriptionsPush(options: CreatePlayAppOptions): Promise<void>;
17
+ /** List one-time in-app products currently on Play Console. */
18
+ export declare function gpcIapList(options: {
19
+ package?: string;
20
+ config?: string;
21
+ }): Promise<void>;
22
+ /** Create/reuse one-time in-app products from config (idempotent). */
23
+ export declare function gpcIapPush(options: CreatePlayAppOptions): Promise<void>;
24
+ /**
25
+ * Push only the data safety declaration. Priority:
26
+ * 1. `data_safety_csv_path` — uploaded verbatim (escape hatch).
27
+ * 2. `data_safety` JSON block — converted via buildDataSafetyCsv().
28
+ */
29
+ export declare function gpcDataSafetyPush(options: CreatePlayAppOptions): Promise<void>;