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,9 +3,15 @@ import { run, runStreaming } from '../utils/exec.js';
3
3
  import { logger } from '../utils/logger.js';
4
4
  import { confirm } from '../utils/prompt.js';
5
5
  import { loadConfig } from '../utils/config.js';
6
+ // Minimum supported asc CLI version. v1.0 removed compatibility shims for
7
+ // `apps create`, `age-rating set`, `submit preflight`, `release run`, etc.
8
+ // See https://docs.asccli.sh/migrate-to-1-0
9
+ const MIN_ASC_VERSION = '1.2.1';
6
10
  export async function validateAscInstalled() {
11
+ let versionOutput = null;
7
12
  try {
8
- await execa('asc', ['--version']);
13
+ const result = await execa('asc', ['--version']);
14
+ versionOutput = result.stdout;
9
15
  }
10
16
  catch {
11
17
  logger.warn('asc CLI is not installed.');
@@ -18,8 +24,31 @@ export async function validateAscInstalled() {
18
24
  logger.fatal('asc CLI is required. Install manually: brew install asc');
19
25
  process.exit(1);
20
26
  }
27
+ return;
28
+ }
29
+ if (versionOutput && !meetsMinimumVersion(versionOutput, MIN_ASC_VERSION)) {
30
+ const found = versionOutput.match(/\d+\.\d+\.\d+/)?.[0] ?? versionOutput.trim();
31
+ logger.warn(`asc CLI ${found} is older than ${MIN_ASC_VERSION}. Some commands may fail.`);
32
+ logger.info('Upgrade with: brew upgrade asc');
33
+ logger.info('Migration notes: https://docs.asccli.sh/migrate-to-1-0');
21
34
  }
22
35
  }
36
+ function meetsMinimumVersion(versionString, minimum) {
37
+ const match = versionString.match(/(\d+)\.(\d+)\.(\d+)/);
38
+ if (!match)
39
+ return true; // Unknown format — don't block
40
+ const [, maj, min, patch] = match;
41
+ const [minMaj, minMin, minPatch] = minimum.split('.').map(Number);
42
+ const current = [Number(maj), Number(min), Number(patch)];
43
+ const required = [minMaj, minMin, minPatch];
44
+ for (let i = 0; i < 3; i++) {
45
+ if (current[i] > required[i])
46
+ return true;
47
+ if (current[i] < required[i])
48
+ return false;
49
+ }
50
+ return true;
51
+ }
23
52
  export async function validateAscAuth() {
24
53
  const result = await run('asc', ['auth', 'status', '--validate'], {
25
54
  label: 'Checking App Store Connect authentication',
@@ -64,24 +93,76 @@ export async function validateAscAuth() {
64
93
  }
65
94
  }
66
95
  }
67
- export async function createBundleId(bundleId, name, platform) {
68
- const result = await run('asc', ['bundle-ids', 'create', '--identifier', bundleId, '--name', name, '--platform', platform], { label: `Creating bundle ID: ${bundleId}`, allowFailure: true });
96
+ /**
97
+ * Default capabilities enabled on every new bundle ID. These match the
98
+ * standard KAppMaker app requirements (subscriptions, push, Apple Sign In).
99
+ */
100
+ const BUNDLE_ID_CAPABILITIES = ['IN_APP_PURCHASE', 'PUSH_NOTIFICATIONS', 'APPLE_ID_AUTH'];
101
+ export async function createBundleId(bundleId, _name, platform) {
102
+ // Name follows Apple convention: "XC com measify archgee" for "com.measify.archgee"
103
+ const derivedName = `XC ${bundleId.replace(/\./g, ' ')}`;
104
+ const result = await run('asc', ['bundle-ids', 'create', '--identifier', bundleId, '--name', derivedName, '--platform', platform], { label: `Creating bundle ID: ${bundleId}`, allowFailure: true });
69
105
  if (result.exitCode !== 0) {
70
106
  logger.info(`Bundle ID "${bundleId}" may already exist, continuing...`);
71
107
  }
108
+ // Find the bundle ID's resource ID (needed for capabilities API)
109
+ const resourceId = await findBundleIdResourceId(bundleId);
110
+ if (!resourceId) {
111
+ logger.warn('Could not find bundle ID resource ID — skipping capability setup.');
112
+ return;
113
+ }
114
+ // Enable capabilities: Sign in with Apple, In-App Purchases, Push Notifications
115
+ for (const capability of BUNDLE_ID_CAPABILITIES) {
116
+ await run('asc', [
117
+ 'bundle-ids', 'capabilities', 'add',
118
+ '--bundle', resourceId,
119
+ '--capability', capability,
120
+ ], {
121
+ label: `Enabling ${capability} on ${bundleId}`,
122
+ allowFailure: true,
123
+ });
124
+ }
125
+ }
126
+ async function findBundleIdResourceId(identifier) {
127
+ const result = await run('asc', ['bundle-ids', 'list', '--output', 'json'], {
128
+ label: 'Looking up bundle ID resource ID',
129
+ allowFailure: true,
130
+ });
131
+ if (result.exitCode !== 0 || !result.stdout)
132
+ return null;
133
+ try {
134
+ const data = JSON.parse(result.stdout);
135
+ const bundles = data?.data ?? data ?? [];
136
+ for (const b of bundles) {
137
+ const attrs = b.attributes ?? b;
138
+ if (attrs.identifier === identifier || attrs.bundleId === identifier) {
139
+ return b.id;
140
+ }
141
+ }
142
+ }
143
+ catch {
144
+ // Fall through
145
+ }
146
+ return null;
72
147
  }
73
148
  export async function createApp(config) {
74
- // asc apps create requires Apple ID auth (not API key)
75
- // Use runStreaming so user can enter credentials if needed
76
- const shouldCreate = await confirm(' App not found. Create it now? (requires Apple ID login)');
149
+ // v1.0+ removed `asc apps create`; creation lives under `asc web apps create`
150
+ // and requires an explicit --apple-id for the web-session auth path.
151
+ const kappConfig = await loadConfig();
152
+ if (!kappConfig.appleId) {
153
+ logger.fatal('Apple ID is required to create apps (asc web apps create --apple-id).');
154
+ logger.info('Set it with: kappmaker config appstore-defaults --init');
155
+ logger.info('Or create the app manually at: https://appstoreconnect.apple.com/apps');
156
+ process.exit(1);
157
+ }
158
+ const shouldCreate = await confirm(' App not found. Create it now? (requires Apple ID session)');
77
159
  if (shouldCreate) {
78
160
  await runStreaming('asc', [
79
- 'apps', 'create',
161
+ 'web', 'apps', 'create',
80
162
  '--name', config.name,
81
163
  '--bundle-id', config.bundle_id,
82
164
  '--sku', config.sku,
83
- '--platform', config.platform,
84
- '--primary-locale', config.primary_locale,
165
+ '--apple-id', kappConfig.appleId,
85
166
  ], { label: `Creating app: ${config.name}` });
86
167
  const appId = await findAppByBundleId(config.bundle_id);
87
168
  if (appId)
@@ -91,7 +172,7 @@ export async function createApp(config) {
91
172
  }
92
173
  logger.fatal('App must exist on App Store Connect before configuring it.');
93
174
  logger.info('Create it manually at: https://appstoreconnect.apple.com/apps');
94
- logger.info('Or run again and choose yes to create via Apple ID login.');
175
+ logger.info('Or run again and choose yes to create via asc web apps create.');
95
176
  process.exit(1);
96
177
  }
97
178
  export async function updateContentRights(appId, contentRights) {
@@ -163,8 +244,9 @@ const AGE_RATING_FLAG_MAP = {
163
244
  user_generated_content: 'user-generated-content',
164
245
  };
165
246
  export async function setAgeRating(appId, ageRating) {
166
- // Start with --all-none to set safe defaults, then override any non-default values
167
- const args = ['age-rating', 'set', '--app', appId, '--all-none'];
247
+ // v1.0 renamed `asc age-rating set` `asc age-rating edit`.
248
+ // Start with --all-none to set safe defaults, then override any non-default values.
249
+ const args = ['age-rating', 'edit', '--app', appId, '--all-none'];
168
250
  for (const [key, value] of Object.entries(ageRating)) {
169
251
  if (value === undefined || value === '' || value === 'NONE' || value === false)
170
252
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"asc.service.js","sourceRoot":"","sources":["../../src/services/asc.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"asc.service.js","sourceRoot":"","sources":["../../src/services/asc.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function configureFastlane(mobileDir: string): Promise<void>;
@@ -0,0 +1,50 @@
1
+ import path from 'path';
2
+ import { fileURLToPath } from 'url';
3
+ import fs from 'fs-extra';
4
+ import { runStreaming } from '../utils/exec.js';
5
+ import { logger } from '../utils/logger.js';
6
+ const GEMFILE_CONTENT = `source "https://rubygems.org"
7
+
8
+ gem "fastlane"
9
+ `;
10
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
11
+ async function getFastfileContent() {
12
+ const templatePath = path.join(__dirname, '..', 'templates', 'Fastfile.txt');
13
+ // In compiled dist/, templates is a sibling; in src/ via tsx, same structure
14
+ if (await fs.pathExists(templatePath)) {
15
+ return fs.readFile(templatePath, 'utf8');
16
+ }
17
+ // Fallback: try from source location
18
+ const srcPath = path.join(__dirname, '..', '..', 'src', 'templates', 'Fastfile.txt');
19
+ return fs.readFile(srcPath, 'utf8');
20
+ }
21
+ export async function configureFastlane(mobileDir) {
22
+ const gemfilePath = path.join(mobileDir, 'Gemfile');
23
+ const fastlaneDir = path.join(mobileDir, 'fastlane');
24
+ const fastfilePath = path.join(fastlaneDir, 'Fastfile');
25
+ // Create Gemfile
26
+ if (await fs.pathExists(gemfilePath)) {
27
+ logger.warn('Gemfile already exists — skipping.');
28
+ }
29
+ else {
30
+ await fs.writeFile(gemfilePath, GEMFILE_CONTENT, 'utf8');
31
+ logger.success('Created Gemfile');
32
+ }
33
+ // Create fastlane/Fastfile
34
+ if (await fs.pathExists(fastfilePath)) {
35
+ logger.warn('fastlane/Fastfile already exists — skipping.');
36
+ }
37
+ else {
38
+ const fastfileContent = await getFastfileContent();
39
+ await fs.ensureDir(fastlaneDir);
40
+ await fs.writeFile(fastfilePath, fastfileContent, 'utf8');
41
+ logger.success('Created fastlane/Fastfile');
42
+ }
43
+ // Run bundle install
44
+ await runStreaming('bundle', ['install'], {
45
+ cwd: mobileDir,
46
+ label: 'Running bundle install',
47
+ });
48
+ logger.success('Fastlane configured successfully.');
49
+ }
50
+ //# sourceMappingURL=fastlane-setup.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fastlane-setup.service.js","sourceRoot":"","sources":["../../src/services/fastlane-setup.service.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,eAAe,GAAG;;;CAGvB,CAAC;AAEF,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/D,KAAK,UAAU,kBAAkB;IAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IAC7E,6EAA6E;IAC7E,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IACD,qCAAqC;IACrC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IACrF,OAAO,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,SAAiB;IACvD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACpD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAExD,iBAAiB;IACjB,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;QACzD,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACpC,CAAC;IAED,2BAA2B;IAC3B,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACN,MAAM,eAAe,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACnD,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAChC,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;QAC1D,MAAM,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC9C,CAAC;IAED,qBAAqB;IACrB,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE;QACxC,GAAG,EAAE,SAAS;QACd,KAAK,EAAE,wBAAwB;KAChC,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;AACtD,CAAC"}
@@ -3,6 +3,7 @@ import os from 'node:os';
3
3
  import fs from 'fs-extra';
4
4
  import { run, runStreaming } from '../utils/exec.js';
5
5
  import { logger } from '../utils/logger.js';
6
+ import { promptInput } from '../utils/prompt.js';
6
7
  export async function firebaseLogin() {
7
8
  await runStreaming('firebase', ['login'], {
8
9
  label: 'Opening Firebase login...',
@@ -53,30 +54,59 @@ export async function enableAnonymousAuth(projectId) {
53
54
  logger.warn('Could not read Firebase access token. Enable anonymous auth manually in the Firebase console.');
54
55
  return;
55
56
  }
56
- const url = `https://identitytoolkit.googleapis.com/admin/v2/projects/${projectId}/config?updateMask=signIn.anonymous.enabled`;
57
+ const headers = {
58
+ Authorization: `Bearer ${accessToken}`,
59
+ 'Content-Type': 'application/json',
60
+ };
61
+ // Enable the Identity Toolkit API (required for the config endpoint).
57
62
  try {
58
- const response = await fetch(url, {
59
- method: 'PATCH',
60
- headers: {
61
- Authorization: `Bearer ${accessToken}`,
62
- 'Content-Type': 'application/json',
63
- },
64
- body: JSON.stringify({
65
- signIn: { anonymous: { enabled: true } },
66
- }),
67
- });
63
+ const enableUrl = 'https://serviceusage.googleapis.com/v1/projects/' + projectId + '/services/identitytoolkit.googleapis.com:enable';
64
+ await fetch(enableUrl, { method: 'POST', headers });
65
+ }
66
+ catch {
67
+ // Non-fatal
68
+ }
69
+ const url = 'https://identitytoolkit.googleapis.com/admin/v2/projects/' + projectId + '/config?updateMask=signIn.anonymous.enabled';
70
+ const body = JSON.stringify({ signIn: { anonymous: { enabled: true } } });
71
+ // First attempt — works if Firebase Auth is already initialized.
72
+ const firstTry = await tryEnableAnonymous(url, headers, body);
73
+ if (firstTry === 'ok')
74
+ return;
75
+ if (firstTry === 'not_found') {
76
+ // Firebase Auth needs to be initialized in the console first.
77
+ // Ask the user to do it, then we'll retry.
78
+ const consoleUrl = 'https://console.firebase.google.com/project/' + projectId + '/authentication';
79
+ console.log('');
80
+ logger.info('Firebase Authentication needs to be initialized for this project.');
81
+ logger.info('Please open the link below and click "Get started":');
82
+ console.log('');
83
+ console.log(' ' + consoleUrl);
84
+ console.log('');
85
+ await promptInput(' Press Enter after clicking "Get started"...');
86
+ // Retry after user initialized Auth in the console.
87
+ const secondTry = await tryEnableAnonymous(url, headers, body);
88
+ if (secondTry === 'ok')
89
+ return;
90
+ logger.warn('Still could not enable anonymous auth.');
91
+ logger.info('You can enable it manually: Firebase Console -> Authentication -> Sign-in method -> Anonymous.');
92
+ }
93
+ }
94
+ async function tryEnableAnonymous(url, headers, body) {
95
+ try {
96
+ const response = await fetch(url, { method: 'PATCH', headers, body });
68
97
  if (response.ok) {
69
98
  logger.success('Anonymous authentication enabled.');
99
+ return 'ok';
70
100
  }
71
- else {
72
- const errorText = await response.text();
73
- logger.warn(`Failed to enable anonymous auth (HTTP ${response.status}): ${errorText}`);
74
- logger.info('You can enable it manually in the Firebase console → Authentication → Sign-in method.');
101
+ const errorText = await response.text();
102
+ if (response.status === 404 && errorText.includes('CONFIGURATION_NOT_FOUND')) {
103
+ return 'not_found';
75
104
  }
105
+ logger.warn('Failed to enable anonymous auth (HTTP ' + response.status + ')');
106
+ return 'error';
76
107
  }
77
- catch (error) {
78
- logger.warn(`Could not enable anonymous auth: ${error}`);
79
- logger.info('You can enable it manually in the Firebase console → Authentication → Sign-in method.');
108
+ catch {
109
+ return 'error';
80
110
  }
81
111
  }
82
112
  // ── Internal helpers ────────────────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"firebase.service.js","sourceRoot":"","sources":["../../src/services/firebase.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"firebase.service.js","sourceRoot":"","sources":["../../src/services/firebase.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { GooglePlayDataSafety } from '../types/googleplay.js';
2
+ /**
3
+ * Build a filled Data Safety CSV from a user-provided declaration.
4
+ * Returns the CSV string ready to be wrapped in `{ safetyLabels: csv }`.
5
+ */
6
+ export declare function buildDataSafetyCsv(declaration: GooglePlayDataSafety): string;
7
+ /**
8
+ * Count how many REQUIRED / MAYBE_REQUIRED rows still have no value after
9
+ * defaults + overrides — useful for a pre-flight warning.
10
+ */
11
+ export declare function countUnansweredRequired(declaration: GooglePlayDataSafety): number;
@@ -0,0 +1,160 @@
1
+ import template from '../templates/data-safety-template.json' with { type: 'json' };
2
+ const rows = template;
3
+ /**
4
+ * KAppMaker defaults — mirror the App Store Connect privacy defaults as closely
5
+ * as the Play Data Safety schema allows. Review before publishing to production.
6
+ *
7
+ * iOS → Play mapping:
8
+ * USER_ID → PSL_USER_ACCOUNT (Personal info, App functionality)
9
+ * DEVICE_ID → PSL_DEVICE_ID (Identifiers, Analytics)
10
+ * CRASH_DATA → PSL_CRASH_LOGS (App info, Analytics)
11
+ * PERFORMANCE_DATA → PSL_OTHER_PERFORMANCE (App info, Analytics)
12
+ * OTHER_DIAGNOSTIC_DATA → PSL_PERFORMANCE_DIAGNOSTICS(App info, Analytics)
13
+ * OTHER_USAGE_DATA → PSL_OTHER_APP_ACTIVITY (App activity, Analytics)
14
+ * PRODUCT_INTERACTION → PSL_USER_INTERACTION (App activity, Analytics)
15
+ *
16
+ * Defaults:
17
+ * - Account creation: "My app does not allow users to create an account"
18
+ * - Data deletion: skipped (OPTIONAL question — omitted entirely)
19
+ * - App activity: only "App interactions" (PSL_USER_INTERACTION), NOT "Other"
20
+ * - Data handling for ALL collected types:
21
+ * • Ephemeral = YES (processed ephemerally)
22
+ * • User control = REQUIRED (users can't turn off collection)
23
+ * • Collected only (not shared with third parties)
24
+ * - Encrypted in transit: YES
25
+ * - No sensitive data (no health, no financial, no location, no personal info)
26
+ */
27
+ const KAPPMAKER_DEFAULTS = {
28
+ // ── Top-level disclosures ─────────────────────────────────────────
29
+ PSL_DATA_COLLECTION_COLLECTS_PERSONAL_DATA: true,
30
+ PSL_DATA_COLLECTION_ENCRYPTED_IN_TRANSIT: true,
31
+ // Account creation: "My app does not allow users to create an account"
32
+ 'PSL_SUPPORTED_ACCOUNT_CREATION_METHODS/PSL_ACM_NONE': true,
33
+ // Can users log in with accounts created outside the app? → No
34
+ PSL_HAS_OUTSIDE_APP_ACCOUNTS: false,
35
+ // Do you provide a way for users to request deletion? → skip (OPTIONAL)
36
+ // PSL_SUPPORT_DATA_DELETION_BY_USER — omitted, optional question
37
+ // ── Data type: Personal info / User IDs ────────────────────────────
38
+ 'PSL_DATA_TYPES_PERSONAL/PSL_USER_ACCOUNT': true,
39
+ 'PSL_DATA_USAGE_RESPONSES:PSL_USER_ACCOUNT:PSL_DATA_USAGE_COLLECTION_AND_SHARING/PSL_DATA_USAGE_ONLY_COLLECTED': true,
40
+ 'PSL_DATA_USAGE_RESPONSES:PSL_USER_ACCOUNT:PSL_DATA_USAGE_EPHEMERAL': true,
41
+ 'PSL_DATA_USAGE_RESPONSES:PSL_USER_ACCOUNT:DATA_USAGE_USER_CONTROL/PSL_DATA_USAGE_USER_CONTROL_REQUIRED': true,
42
+ 'PSL_DATA_USAGE_RESPONSES:PSL_USER_ACCOUNT:DATA_USAGE_COLLECTION_PURPOSE/PSL_APP_FUNCTIONALITY': true,
43
+ // ── Data type: Identifiers / Device ID ────────────────────────────
44
+ 'PSL_DATA_TYPES_IDENTIFIERS/PSL_DEVICE_ID': true,
45
+ // Data handling: collected only (not shared), ephemeral, collection required
46
+ 'PSL_DATA_USAGE_RESPONSES:PSL_DEVICE_ID:PSL_DATA_USAGE_COLLECTION_AND_SHARING/PSL_DATA_USAGE_ONLY_COLLECTED': true,
47
+ 'PSL_DATA_USAGE_RESPONSES:PSL_DEVICE_ID:PSL_DATA_USAGE_EPHEMERAL': true,
48
+ 'PSL_DATA_USAGE_RESPONSES:PSL_DEVICE_ID:DATA_USAGE_USER_CONTROL/PSL_DATA_USAGE_USER_CONTROL_REQUIRED': true,
49
+ 'PSL_DATA_USAGE_RESPONSES:PSL_DEVICE_ID:DATA_USAGE_COLLECTION_PURPOSE/PSL_ANALYTICS': true,
50
+ 'PSL_DATA_USAGE_RESPONSES:PSL_DEVICE_ID:DATA_USAGE_COLLECTION_PURPOSE/PSL_APP_FUNCTIONALITY': true,
51
+ // ── Data type: App info / Crash logs ──────────────────────────────
52
+ 'PSL_DATA_TYPES_APP_PERFORMANCE/PSL_CRASH_LOGS': true,
53
+ 'PSL_DATA_USAGE_RESPONSES:PSL_CRASH_LOGS:PSL_DATA_USAGE_COLLECTION_AND_SHARING/PSL_DATA_USAGE_ONLY_COLLECTED': true,
54
+ 'PSL_DATA_USAGE_RESPONSES:PSL_CRASH_LOGS:PSL_DATA_USAGE_EPHEMERAL': true,
55
+ 'PSL_DATA_USAGE_RESPONSES:PSL_CRASH_LOGS:DATA_USAGE_USER_CONTROL/PSL_DATA_USAGE_USER_CONTROL_REQUIRED': true,
56
+ 'PSL_DATA_USAGE_RESPONSES:PSL_CRASH_LOGS:DATA_USAGE_COLLECTION_PURPOSE/PSL_ANALYTICS': true,
57
+ // ── Data type: App info / Performance diagnostics ─────────────────
58
+ 'PSL_DATA_TYPES_APP_PERFORMANCE/PSL_PERFORMANCE_DIAGNOSTICS': true,
59
+ 'PSL_DATA_USAGE_RESPONSES:PSL_PERFORMANCE_DIAGNOSTICS:PSL_DATA_USAGE_COLLECTION_AND_SHARING/PSL_DATA_USAGE_ONLY_COLLECTED': true,
60
+ 'PSL_DATA_USAGE_RESPONSES:PSL_PERFORMANCE_DIAGNOSTICS:PSL_DATA_USAGE_EPHEMERAL': true,
61
+ 'PSL_DATA_USAGE_RESPONSES:PSL_PERFORMANCE_DIAGNOSTICS:DATA_USAGE_USER_CONTROL/PSL_DATA_USAGE_USER_CONTROL_REQUIRED': true,
62
+ 'PSL_DATA_USAGE_RESPONSES:PSL_PERFORMANCE_DIAGNOSTICS:DATA_USAGE_COLLECTION_PURPOSE/PSL_ANALYTICS': true,
63
+ // ── Data type: App info / Other performance ──────────────────────
64
+ 'PSL_DATA_TYPES_APP_PERFORMANCE/PSL_OTHER_PERFORMANCE': true,
65
+ 'PSL_DATA_USAGE_RESPONSES:PSL_OTHER_PERFORMANCE:PSL_DATA_USAGE_COLLECTION_AND_SHARING/PSL_DATA_USAGE_ONLY_COLLECTED': true,
66
+ 'PSL_DATA_USAGE_RESPONSES:PSL_OTHER_PERFORMANCE:PSL_DATA_USAGE_EPHEMERAL': true,
67
+ 'PSL_DATA_USAGE_RESPONSES:PSL_OTHER_PERFORMANCE:DATA_USAGE_USER_CONTROL/PSL_DATA_USAGE_USER_CONTROL_REQUIRED': true,
68
+ 'PSL_DATA_USAGE_RESPONSES:PSL_OTHER_PERFORMANCE:DATA_USAGE_COLLECTION_PURPOSE/PSL_ANALYTICS': true,
69
+ // ── Data type: App activity / App interactions (only this one, not "Other") ──
70
+ 'PSL_DATA_TYPES_APP_ACTIVITY/PSL_USER_INTERACTION': true,
71
+ 'PSL_DATA_USAGE_RESPONSES:PSL_USER_INTERACTION:PSL_DATA_USAGE_COLLECTION_AND_SHARING/PSL_DATA_USAGE_ONLY_COLLECTED': true,
72
+ 'PSL_DATA_USAGE_RESPONSES:PSL_USER_INTERACTION:PSL_DATA_USAGE_EPHEMERAL': true,
73
+ 'PSL_DATA_USAGE_RESPONSES:PSL_USER_INTERACTION:DATA_USAGE_USER_CONTROL/PSL_DATA_USAGE_USER_CONTROL_REQUIRED': true,
74
+ 'PSL_DATA_USAGE_RESPONSES:PSL_USER_INTERACTION:DATA_USAGE_COLLECTION_PURPOSE/PSL_ANALYTICS': true,
75
+ };
76
+ /** Normalize ":"/"/" composite keys into a single canonical form used for lookup. */
77
+ function rowLookupKey(qid, rid) {
78
+ if (rid === null)
79
+ return qid;
80
+ return `${qid}/${rid}`;
81
+ }
82
+ /** Accept both "QID/RID" and "QID:RID" from user input. */
83
+ function normalizeAnswerKey(key) {
84
+ // "QID:RID" → "QID/RID" (but preserve the inner "PSL_DATA_USAGE_RESPONSES:..." triple colons)
85
+ // Only convert the LAST ":" before the trailing responseId, which is harder to
86
+ // detect generically. Safer: accept both forms, try matching in buildAnswerMap.
87
+ return key;
88
+ }
89
+ function buildAnswerMap(defaults, overrides) {
90
+ const merged = new Map();
91
+ for (const [k, v] of Object.entries(defaults))
92
+ merged.set(k, v);
93
+ if (overrides) {
94
+ for (const [k, v] of Object.entries(overrides)) {
95
+ merged.set(normalizeAnswerKey(k), v);
96
+ }
97
+ }
98
+ return merged;
99
+ }
100
+ /**
101
+ * Render the CSV. Columns: Question ID, Response ID, Response value, Answer
102
+ * requirement, Human-friendly question label. First row is the header from
103
+ * the template.
104
+ */
105
+ function renderCsv(filled) {
106
+ return filled.map((row) => row.map(csvEscape).join(',')).join('\n');
107
+ }
108
+ function csvEscape(cell) {
109
+ if (cell === null || cell === undefined)
110
+ return '';
111
+ const s = String(cell);
112
+ if (/[",\n\r]/.test(s)) {
113
+ return `"${s.replace(/"/g, '""')}"`;
114
+ }
115
+ return s;
116
+ }
117
+ /**
118
+ * Build a filled Data Safety CSV from a user-provided declaration.
119
+ * Returns the CSV string ready to be wrapped in `{ safetyLabels: csv }`.
120
+ */
121
+ export function buildDataSafetyCsv(declaration) {
122
+ const applyDefaults = declaration.apply_defaults !== false; // default true
123
+ const answers = buildAnswerMap(applyDefaults ? KAPPMAKER_DEFAULTS : {}, declaration.answers);
124
+ const filled = rows.map((row, idx) => {
125
+ if (idx === 0)
126
+ return [...row]; // header row as-is
127
+ const [qid, rid, , requirement, label] = row;
128
+ const key = rowLookupKey(qid, rid);
129
+ const answer = answers.get(key);
130
+ let value = null;
131
+ if (answer === true)
132
+ value = 'TRUE';
133
+ else if (answer === false)
134
+ value = 'FALSE';
135
+ else if (typeof answer === 'string')
136
+ value = answer;
137
+ // null / undefined → leave blank
138
+ return [qid, rid, value, requirement, label];
139
+ });
140
+ return renderCsv(filled);
141
+ }
142
+ /**
143
+ * Count how many REQUIRED / MAYBE_REQUIRED rows still have no value after
144
+ * defaults + overrides — useful for a pre-flight warning.
145
+ */
146
+ export function countUnansweredRequired(declaration) {
147
+ const answers = buildAnswerMap(declaration.apply_defaults !== false ? KAPPMAKER_DEFAULTS : {}, declaration.answers);
148
+ let missing = 0;
149
+ for (let i = 1; i < rows.length; i++) {
150
+ const [qid, rid, , requirement] = rows[i];
151
+ if (requirement !== 'REQUIRED')
152
+ continue;
153
+ const key = rowLookupKey(qid, rid);
154
+ const a = answers.get(key);
155
+ if (a === undefined || a === null)
156
+ missing++;
157
+ }
158
+ return missing;
159
+ }
160
+ //# sourceMappingURL=gpc-data-safety.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gpc-data-safety.service.js","sourceRoot":"","sources":["../../src/services/gpc-data-safety.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { GooglePlaySubscription, GooglePlayInAppProduct } from '../types/googleplay.js';
2
+ interface Money {
3
+ currencyCode: string;
4
+ units: string;
5
+ nanos: number;
6
+ }
7
+ /**
8
+ * Convert a human-readable price like "6.99" into the Google Play money
9
+ * representation: { currencyCode, units, nanos }. Nanos are billionths,
10
+ * so "6.99" becomes { units: "6", nanos: 990000000 }.
11
+ */
12
+ export declare function priceToMoney(price: string, currencyCode: string): Money;
13
+ export declare function listSubscriptions(packageName: string): Promise<Set<string>>;
14
+ export declare function setupSubscriptions(packageName: string, subscriptions: GooglePlaySubscription[], playDefaultLanguage: string): Promise<void>;
15
+ export declare function activateBasePlan(packageName: string, productId: string, basePlanId: string): Promise<void>;
16
+ export declare function listInAppProducts(packageName: string): Promise<Set<string>>;
17
+ export declare function setupInAppProducts(packageName: string, products: GooglePlayInAppProduct[]): Promise<void>;
18
+ export {};