kappmaker 1.0.0

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 (103) hide show
  1. package/README.md +545 -0
  2. package/dist/cli.d.ts +2 -0
  3. package/dist/cli.js +195 -0
  4. package/dist/cli.js.map +1 -0
  5. package/dist/commands/adapty-setup.d.ts +2 -0
  6. package/dist/commands/adapty-setup.js +240 -0
  7. package/dist/commands/adapty-setup.js.map +1 -0
  8. package/dist/commands/config.d.ts +12 -0
  9. package/dist/commands/config.js +230 -0
  10. package/dist/commands/config.js.map +1 -0
  11. package/dist/commands/create-appstore-app.d.ts +2 -0
  12. package/dist/commands/create-appstore-app.js +261 -0
  13. package/dist/commands/create-appstore-app.js.map +1 -0
  14. package/dist/commands/create-logo.d.ts +2 -0
  15. package/dist/commands/create-logo.js +93 -0
  16. package/dist/commands/create-logo.js.map +1 -0
  17. package/dist/commands/create.d.ts +2 -0
  18. package/dist/commands/create.js +143 -0
  19. package/dist/commands/create.js.map +1 -0
  20. package/dist/commands/enhance.d.ts +2 -0
  21. package/dist/commands/enhance.js +55 -0
  22. package/dist/commands/enhance.js.map +1 -0
  23. package/dist/commands/generate-screenshots.d.ts +2 -0
  24. package/dist/commands/generate-screenshots.js +174 -0
  25. package/dist/commands/generate-screenshots.js.map +1 -0
  26. package/dist/commands/remove-bg.d.ts +2 -0
  27. package/dist/commands/remove-bg.js +41 -0
  28. package/dist/commands/remove-bg.js.map +1 -0
  29. package/dist/commands/split.d.ts +2 -0
  30. package/dist/commands/split.js +37 -0
  31. package/dist/commands/split.js.map +1 -0
  32. package/dist/commands/translate-screenshots.d.ts +2 -0
  33. package/dist/commands/translate-screenshots.js +224 -0
  34. package/dist/commands/translate-screenshots.js.map +1 -0
  35. package/dist/index.d.ts +2 -0
  36. package/dist/index.js +12 -0
  37. package/dist/index.js.map +1 -0
  38. package/dist/services/adapty.service.d.ts +26 -0
  39. package/dist/services/adapty.service.js +230 -0
  40. package/dist/services/adapty.service.js.map +1 -0
  41. package/dist/services/asc-monetization.service.d.ts +3 -0
  42. package/dist/services/asc-monetization.service.js +223 -0
  43. package/dist/services/asc-monetization.service.js.map +1 -0
  44. package/dist/services/asc.service.d.ts +14 -0
  45. package/dist/services/asc.service.js +321 -0
  46. package/dist/services/asc.service.js.map +1 -0
  47. package/dist/services/fal.service.d.ts +15 -0
  48. package/dist/services/fal.service.js +236 -0
  49. package/dist/services/fal.service.js.map +1 -0
  50. package/dist/services/fastlane.service.d.ts +2 -0
  51. package/dist/services/fastlane.service.js +32 -0
  52. package/dist/services/fastlane.service.js.map +1 -0
  53. package/dist/services/firebase.service.d.ts +7 -0
  54. package/dist/services/firebase.service.js +176 -0
  55. package/dist/services/firebase.service.js.map +1 -0
  56. package/dist/services/git.service.d.ts +3 -0
  57. package/dist/services/git.service.js +13 -0
  58. package/dist/services/git.service.js.map +1 -0
  59. package/dist/services/gradle.service.d.ts +4 -0
  60. package/dist/services/gradle.service.js +31 -0
  61. package/dist/services/gradle.service.js.map +1 -0
  62. package/dist/services/ios.service.d.ts +1 -0
  63. package/dist/services/ios.service.js +9 -0
  64. package/dist/services/ios.service.js.map +1 -0
  65. package/dist/services/logo.service.d.ts +12 -0
  66. package/dist/services/logo.service.js +168 -0
  67. package/dist/services/logo.service.js.map +1 -0
  68. package/dist/services/openai.service.d.ts +2 -0
  69. package/dist/services/openai.service.js +42 -0
  70. package/dist/services/openai.service.js.map +1 -0
  71. package/dist/services/screenshot-styles.d.ts +1 -0
  72. package/dist/services/screenshot-styles.js +1050 -0
  73. package/dist/services/screenshot-styles.js.map +1 -0
  74. package/dist/services/screenshot.service.d.ts +14 -0
  75. package/dist/services/screenshot.service.js +136 -0
  76. package/dist/services/screenshot.service.js.map +1 -0
  77. package/dist/templates/adapty-config.json +50 -0
  78. package/dist/templates/appstore-config.json +188 -0
  79. package/dist/types/adapty.d.ts +38 -0
  80. package/dist/types/adapty.js +2 -0
  81. package/dist/types/adapty.js.map +1 -0
  82. package/dist/types/appstore.d.ts +150 -0
  83. package/dist/types/appstore.js +2 -0
  84. package/dist/types/appstore.js.map +1 -0
  85. package/dist/types/index.d.ts +80 -0
  86. package/dist/types/index.js +2 -0
  87. package/dist/types/index.js.map +1 -0
  88. package/dist/utils/config.d.ts +18 -0
  89. package/dist/utils/config.js +107 -0
  90. package/dist/utils/config.js.map +1 -0
  91. package/dist/utils/exec.d.ts +17 -0
  92. package/dist/utils/exec.js +62 -0
  93. package/dist/utils/exec.js.map +1 -0
  94. package/dist/utils/logger.d.ts +10 -0
  95. package/dist/utils/logger.js +29 -0
  96. package/dist/utils/logger.js.map +1 -0
  97. package/dist/utils/prompt.d.ts +2 -0
  98. package/dist/utils/prompt.js +26 -0
  99. package/dist/utils/prompt.js.map +1 -0
  100. package/dist/utils/validator.d.ts +2 -0
  101. package/dist/utils/validator.js +93 -0
  102. package/dist/utils/validator.js.map +1 -0
  103. package/package.json +35 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screenshot-styles.js","sourceRoot":"","sources":["../../src/services/screenshot-styles.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,qFAAqF;AACrF,iFAAiF;AAEjF,MAAM,aAAa,GAAG,yJAAyJ,CAAC;AAEhL,MAAM,UAAU,GAAG;;;;;;;6DAO0C,CAAC;AAE9D,oEAAoE;AAEpE,MAAM,OAAO,GAAG,GAAG,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmD9B,UAAU,EAAE,CAAC;AAEf,oEAAoE;AAEpE,MAAM,OAAO,GAAG,GAAG,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyI9B,UAAU;kEACsD,CAAC;AAEnE,oEAAoE;AAEpE,MAAM,OAAO,GAAG,GAAG,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4I9B,UAAU;gEACoD,CAAC;AAEjE,oEAAoE;AAEpE,MAAM,OAAO,GAAG,GAAG,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsI9B,UAAU;;8DAEkD,CAAC;AAE/D,oEAAoE;AAEpE,MAAM,OAAO,GAAG,GAAG,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+H9B,UAAU;;qDAEyC,CAAC;AAEtD,oEAAoE;AAEpE,MAAM,OAAO,GAAG,GAAG,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+I9B,UAAU;;;wCAG4B,CAAC;AAEzC,oEAAoE;AAEpE,MAAM,OAAO,GAAG,GAAG,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwH9B,UAAU;;wDAE4C,CAAC;AAEzD,oEAAoE;AAEpE,MAAM,OAAO,GAAG,GAAG,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgJ9B,UAAU;;;wCAG4B,CAAC;AAEzC,qEAAqE;AAErE,MAAM,CAAC,MAAM,aAAa,GAA2B;IACnD,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,OAAO;CACX,CAAC"}
@@ -0,0 +1,14 @@
1
+ export declare const LOCALE_MAPPING: Record<string, string | null>;
2
+ export declare const DEFAULT_LOCALES: string[];
3
+ /**
4
+ * Resolve a locale code to its Play Store form.
5
+ * Accepts either Play Store codes (tr-TR) or iOS codes (tr).
6
+ * Returns the Play Store code, or null if unrecognized.
7
+ */
8
+ export declare function resolveLocale(input: string): string | null;
9
+ export declare function combineScreenshots(imagePaths: string[], rows: number, cols: number): Promise<{
10
+ buffer: Buffer;
11
+ count: number;
12
+ }>;
13
+ export declare function splitTranslatedGrid(gridBuffer: Buffer, count: number, rows: number, cols: number, targetWidth: number, targetHeight: number): Promise<Buffer[]>;
14
+ export declare function saveToFastlane(tiles: Buffer[], locale: string, outputDir: string): Promise<void>;
@@ -0,0 +1,136 @@
1
+ import path from 'node:path';
2
+ import fs from 'fs-extra';
3
+ import sharp from 'sharp';
4
+ // ── Locale mapping (Play Store → App Store) ─────────────────────────
5
+ export const LOCALE_MAPPING = {
6
+ 'ar': 'ar-SA',
7
+ 'bg-BG': null,
8
+ 'bn-BD': null,
9
+ 'ca': 'ca',
10
+ 'cs-CZ': 'cs',
11
+ 'da-DK': 'da',
12
+ 'de-DE': 'de-DE',
13
+ 'el-GR': 'el',
14
+ 'en-AU': 'en-AU',
15
+ 'en-GB': 'en-GB',
16
+ 'es-ES': 'es-ES',
17
+ 'es-419': 'es-MX',
18
+ 'et-EE': null,
19
+ 'fi-FI': 'fi',
20
+ 'fil': null,
21
+ 'fr-FR': 'fr-FR',
22
+ 'fr-CA': 'fr-CA',
23
+ 'he-IL': 'he',
24
+ 'hi-IN': 'hi',
25
+ 'hr': 'hr',
26
+ 'hu-HU': 'hu',
27
+ 'id': 'id',
28
+ 'it-IT': 'it',
29
+ 'ja-JP': 'ja',
30
+ 'ko-KR': 'ko',
31
+ 'lt-LT': null,
32
+ 'lv-LV': null,
33
+ 'ms': 'ms',
34
+ 'nl-NL': 'nl-NL',
35
+ 'no-NO': 'no',
36
+ 'pl-PL': 'pl',
37
+ 'pt-BR': 'pt-BR',
38
+ 'pt-PT': 'pt-PT',
39
+ 'ro': 'ro',
40
+ 'ru-RU': 'ru',
41
+ 'sk': 'sk',
42
+ 'sl-SI': null,
43
+ 'sr': null,
44
+ 'sv-SE': 'sv',
45
+ 'sw': null,
46
+ 'ta-IN': null,
47
+ 'te-IN': null,
48
+ 'th': 'th',
49
+ 'tr-TR': 'tr',
50
+ 'uk': 'uk',
51
+ 'vi': 'vi',
52
+ 'zh-CN': 'zh-Hans',
53
+ 'zh-TW': 'zh-Hant',
54
+ };
55
+ export const DEFAULT_LOCALES = Object.keys(LOCALE_MAPPING);
56
+ // Reverse mapping: App Store locale → Play Store locale
57
+ const IOS_TO_PLAYSTORE = {};
58
+ for (const [ps, ios] of Object.entries(LOCALE_MAPPING)) {
59
+ if (ios)
60
+ IOS_TO_PLAYSTORE[ios] = ps;
61
+ }
62
+ /**
63
+ * Resolve a locale code to its Play Store form.
64
+ * Accepts either Play Store codes (tr-TR) or iOS codes (tr).
65
+ * Returns the Play Store code, or null if unrecognized.
66
+ */
67
+ export function resolveLocale(input) {
68
+ if (input in LOCALE_MAPPING)
69
+ return input;
70
+ if (input in IOS_TO_PLAYSTORE)
71
+ return IOS_TO_PLAYSTORE[input];
72
+ return null;
73
+ }
74
+ // ── Grid operations ─────────────────────────────────────────────────
75
+ export async function combineScreenshots(imagePaths, rows, cols) {
76
+ const firstMeta = await sharp(imagePaths[0]).metadata();
77
+ const tileW = firstMeta.width;
78
+ const tileH = firstMeta.height;
79
+ const canvasW = cols * tileW;
80
+ const canvasH = rows * tileH;
81
+ const compositeInputs = [];
82
+ const count = Math.min(imagePaths.length, rows * cols);
83
+ for (let i = 0; i < count; i++) {
84
+ const row = Math.floor(i / cols);
85
+ const col = i % cols;
86
+ const resized = await sharp(imagePaths[i]).resize(tileW, tileH).toBuffer();
87
+ compositeInputs.push({
88
+ input: resized,
89
+ left: col * tileW,
90
+ top: row * tileH,
91
+ });
92
+ }
93
+ const buffer = await sharp({
94
+ create: { width: canvasW, height: canvasH, channels: 3, background: { r: 0, g: 0, b: 0 } },
95
+ })
96
+ .composite(compositeInputs)
97
+ .png()
98
+ .toBuffer();
99
+ return { buffer, count };
100
+ }
101
+ export async function splitTranslatedGrid(gridBuffer, count, rows, cols, targetWidth, targetHeight) {
102
+ const meta = await sharp(gridBuffer).metadata();
103
+ const tileW = Math.floor(meta.width / cols);
104
+ const tileH = Math.floor(meta.height / rows);
105
+ const buffers = [];
106
+ for (let i = 0; i < count; i++) {
107
+ const row = Math.floor(i / cols);
108
+ const col = i % cols;
109
+ const tile = await sharp(gridBuffer)
110
+ .extract({ left: col * tileW, top: row * tileH, width: tileW, height: tileH })
111
+ .resize(targetWidth, targetHeight)
112
+ .png()
113
+ .toBuffer();
114
+ buffers.push(tile);
115
+ }
116
+ return buffers;
117
+ }
118
+ // ── Fastlane directory output ───────────────────────────────────────
119
+ export async function saveToFastlane(tiles, locale, outputDir) {
120
+ // Android
121
+ const androidDir = path.join(outputDir, 'android', 'playstore_metadata', locale, 'images', 'phoneScreenshots');
122
+ await fs.ensureDir(androidDir);
123
+ for (let i = 0; i < tiles.length; i++) {
124
+ await fs.writeFile(path.join(androidDir, `${i + 1}_${locale}.png`), tiles[i]);
125
+ }
126
+ // iOS
127
+ const iosLocale = LOCALE_MAPPING[locale];
128
+ if (iosLocale) {
129
+ const iosDir = path.join(outputDir, 'ios', 'appstore_metadata', 'screenshots', iosLocale);
130
+ await fs.ensureDir(iosDir);
131
+ for (let i = 0; i < tiles.length; i++) {
132
+ await fs.writeFile(path.join(iosDir, `${i}_APP_IPHONE_65_${i}.png`), tiles[i]);
133
+ }
134
+ }
135
+ }
136
+ //# sourceMappingURL=screenshot.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screenshot.service.js","sourceRoot":"","sources":["../../src/services/screenshot.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ {
2
+ "app": {
3
+ "title": "",
4
+ "bundle_id": "",
5
+ "package_id": "",
6
+ "app_id": ""
7
+ },
8
+ "access_level": {
9
+ "sdk_id": "Premium",
10
+ "title": "Premium"
11
+ },
12
+ "products": [
13
+ {
14
+ "title": "Weekly Premium",
15
+ "period": "weekly",
16
+ "price": "6.99",
17
+ "ios_product_id": "",
18
+ "android_product_id": "",
19
+ "android_base_plan_id": ""
20
+ },
21
+ {
22
+ "title": "Yearly Premium",
23
+ "period": "annual",
24
+ "price": "29.99",
25
+ "ios_product_id": "",
26
+ "android_product_id": "",
27
+ "android_base_plan_id": ""
28
+ }
29
+ ],
30
+ "paywalls": [
31
+ {
32
+ "title": "Default Paywall",
33
+ "product_titles": ["Weekly Premium", "Yearly Premium"]
34
+ },
35
+ {
36
+ "title": "Onboarding Paywall",
37
+ "product_titles": ["Weekly Premium", "Yearly Premium"]
38
+ }
39
+ ],
40
+ "placements": [
41
+ {
42
+ "title": "Default",
43
+ "developer_id": "default"
44
+ },
45
+ {
46
+ "title": "Onboarding",
47
+ "developer_id": "onboarding"
48
+ }
49
+ ]
50
+ }
@@ -0,0 +1,188 @@
1
+ {
2
+ "app": {
3
+ "id": "",
4
+ "name": "",
5
+ "bundle_id": "",
6
+ "sku": "",
7
+ "platform": "IOS",
8
+ "primary_locale": "en-US",
9
+ "content_rights": "DOES_NOT_USE_THIRD_PARTY_CONTENT"
10
+ },
11
+ "version": {
12
+ "version_string": "1.0.0",
13
+ "copyright": "",
14
+ "release_type": "AFTER_APPROVAL"
15
+ },
16
+ "categories": {
17
+ "primary": "UTILITIES",
18
+ "primary_subcategory_one": "",
19
+ "primary_subcategory_two": "",
20
+ "secondary": "",
21
+ "secondary_subcategory_one": "",
22
+ "secondary_subcategory_two": ""
23
+ },
24
+ "localizations": [
25
+ {
26
+ "locale": "en-US",
27
+ "subtitle": "",
28
+ "description": "",
29
+ "keywords": "",
30
+ "whats_new": "Initial release.",
31
+ "promotional_text": "",
32
+ "support_url": "",
33
+ "marketing_url": "",
34
+ "privacy_policy_url": ""
35
+ }
36
+ ],
37
+ "privacy": {
38
+ "enabled": true,
39
+ "publish": true,
40
+ "allow_deletes": true,
41
+ "data_usages": [
42
+ {
43
+ "category": "USER_ID",
44
+ "purposes": ["APP_FUNCTIONALITY"],
45
+ "dataProtections": ["DATA_LINKED_TO_YOU"]
46
+ },
47
+ {
48
+ "category": "DEVICE_ID",
49
+ "purposes": ["APP_FUNCTIONALITY"],
50
+ "dataProtections": ["DATA_LINKED_TO_YOU"]
51
+ },
52
+ {
53
+ "category": "CRASH_DATA",
54
+ "purposes": ["ANALYTICS"],
55
+ "dataProtections": ["DATA_NOT_LINKED_TO_YOU"]
56
+ },
57
+ {
58
+ "category": "PERFORMANCE_DATA",
59
+ "purposes": ["ANALYTICS"],
60
+ "dataProtections": ["DATA_NOT_LINKED_TO_YOU"]
61
+ },
62
+ {
63
+ "category": "OTHER_DIAGNOSTIC_DATA",
64
+ "purposes": ["ANALYTICS"],
65
+ "dataProtections": ["DATA_NOT_LINKED_TO_YOU"]
66
+ },
67
+ {
68
+ "category": "OTHER_USAGE_DATA",
69
+ "purposes": ["ANALYTICS"],
70
+ "dataProtections": ["DATA_NOT_LINKED_TO_YOU"]
71
+ },
72
+ {
73
+ "category": "PRODUCT_INTERACTION",
74
+ "purposes": ["ANALYTICS"],
75
+ "dataProtections": ["DATA_NOT_LINKED_TO_YOU"]
76
+ }
77
+ ]
78
+ },
79
+ "age_rating": {
80
+ "alcohol_tobacco_or_drug_use_or_references": "NONE",
81
+ "contests": "NONE",
82
+ "gambling_simulated": "NONE",
83
+ "guns_or_other_weapons": "NONE",
84
+ "medical_or_treatment_information": "NONE",
85
+ "profanity_or_crude_humor": "NONE",
86
+ "sexual_content_graphic_and_nudity": "NONE",
87
+ "sexual_content_or_nudity": "NONE",
88
+ "horror_or_fear_themes": "NONE",
89
+ "mature_or_suggestive_themes": "NONE",
90
+ "violence_cartoon_or_fantasy": "NONE",
91
+ "violence_realistic": "NONE",
92
+ "violence_realistic_prolonged_graphic_or_sadistic": "NONE",
93
+ "advertising": false,
94
+ "age_assurance": false,
95
+ "gambling": false,
96
+ "health_or_wellness_topics": false,
97
+ "loot_box": false,
98
+ "messaging_and_chat": false,
99
+ "parental_controls": false,
100
+ "unrestricted_web_access": false,
101
+ "user_generated_content": false
102
+ },
103
+ "pricing": {
104
+ "base_territory": "USA",
105
+ "price_tier": "0",
106
+ "price": "0",
107
+ "availability": {
108
+ "available_in_new_territories": true,
109
+ "include_all": true,
110
+ "territories": []
111
+ }
112
+ },
113
+ "subscriptions": {
114
+ "availability": {
115
+ "available_in_new_territories": true,
116
+ "include_all": true,
117
+ "territories": []
118
+ },
119
+ "groups": [
120
+ {
121
+ "reference_name": "",
122
+ "localizations": [
123
+ {
124
+ "locale": "en-US",
125
+ "name": "Premium Access",
126
+ "custom_app_name": ""
127
+ }
128
+ ],
129
+ "subscriptions": [
130
+ {
131
+ "ref_name": "",
132
+ "product_id": "",
133
+ "subscription_period": "ONE_WEEK",
134
+ "family_sharable": false,
135
+ "prices": [
136
+ {
137
+ "territory": "USA",
138
+ "price": "6.99"
139
+ }
140
+ ],
141
+ "localizations": [
142
+ {
143
+ "locale": "en-US",
144
+ "name": "Weekly Premium",
145
+ "description": "Full access for one week."
146
+ }
147
+ ]
148
+ },
149
+ {
150
+ "ref_name": "",
151
+ "product_id": "",
152
+ "subscription_period": "ONE_YEAR",
153
+ "family_sharable": false,
154
+ "prices": [
155
+ {
156
+ "territory": "USA",
157
+ "price": "29.99"
158
+ }
159
+ ],
160
+ "localizations": [
161
+ {
162
+ "locale": "en-US",
163
+ "name": "Yearly Premium",
164
+ "description": "Full access for one year."
165
+ }
166
+ ]
167
+ }
168
+ ]
169
+ }
170
+ ]
171
+ },
172
+ "in_app_purchases": [],
173
+ "encryption": {
174
+ "contains_proprietary_cryptography": false,
175
+ "contains_third_party_cryptography": false,
176
+ "available_on_french_store": true,
177
+ "description": "This app does not use encryption."
178
+ },
179
+ "review_info": {
180
+ "contact_first_name": "",
181
+ "contact_last_name": "",
182
+ "contact_phone": "",
183
+ "contact_email": "",
184
+ "demo_username": "",
185
+ "demo_password": "",
186
+ "notes": ""
187
+ }
188
+ }
@@ -0,0 +1,38 @@
1
+ export interface AdaptyConfig {
2
+ app: AdaptyAppConfig;
3
+ access_level: AdaptyAccessLevel;
4
+ products: AdaptyProduct[];
5
+ paywalls: AdaptyPaywallConfig[];
6
+ placements: AdaptyPlacementConfig[];
7
+ }
8
+ export interface AdaptyAppConfig {
9
+ title: string;
10
+ bundle_id: string;
11
+ package_id: string;
12
+ app_id: string;
13
+ }
14
+ export interface AdaptyAccessLevel {
15
+ sdk_id: string;
16
+ title: string;
17
+ }
18
+ export interface AdaptyProduct {
19
+ title: string;
20
+ period: string;
21
+ price: string;
22
+ ios_product_id: string;
23
+ android_product_id: string;
24
+ android_base_plan_id: string;
25
+ adapty_product_id?: string;
26
+ }
27
+ export interface AdaptyPaywallConfig {
28
+ title: string;
29
+ product_titles: string[];
30
+ paywall_id?: string;
31
+ }
32
+ export interface AdaptyPlacementConfig {
33
+ title: string;
34
+ developer_id: string;
35
+ }
36
+ export interface CreateAdaptyOptions {
37
+ config?: string;
38
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=adapty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapty.js","sourceRoot":"","sources":["../../src/types/adapty.ts"],"names":[],"mappings":""}
@@ -0,0 +1,150 @@
1
+ export interface AppStoreConfig {
2
+ app: AppStoreAppConfig;
3
+ version: AppStoreVersionConfig;
4
+ categories: AppStoreCategoriesConfig;
5
+ localizations: AppStoreLocalization[];
6
+ privacy: AppStorePrivacyConfig;
7
+ age_rating: AppStoreAgeRatingConfig;
8
+ pricing: AppStorePricingConfig;
9
+ subscriptions: AppStoreSubscriptionsConfig;
10
+ in_app_purchases: AppStoreInAppPurchase[];
11
+ encryption: AppStoreEncryptionConfig;
12
+ review_info: AppStoreReviewInfoConfig;
13
+ }
14
+ export interface AppStoreAppConfig {
15
+ id: string;
16
+ name: string;
17
+ bundle_id: string;
18
+ sku: string;
19
+ platform: string;
20
+ primary_locale: string;
21
+ content_rights: string;
22
+ }
23
+ export interface AppStoreVersionConfig {
24
+ version_string: string;
25
+ copyright: string;
26
+ release_type: string;
27
+ }
28
+ export interface AppStoreCategoriesConfig {
29
+ primary: string;
30
+ primary_subcategory_one?: string;
31
+ primary_subcategory_two?: string;
32
+ secondary?: string;
33
+ secondary_subcategory_one?: string;
34
+ secondary_subcategory_two?: string;
35
+ }
36
+ export interface AppStoreLocalization {
37
+ locale: string;
38
+ subtitle?: string;
39
+ description?: string;
40
+ keywords?: string;
41
+ whats_new?: string;
42
+ promotional_text?: string;
43
+ support_url?: string;
44
+ marketing_url?: string;
45
+ privacy_policy_url?: string;
46
+ }
47
+ export interface AppStorePrivacyConfig {
48
+ enabled: boolean;
49
+ publish: boolean;
50
+ allow_deletes: boolean;
51
+ data_usages: AppStoreDataUsage[];
52
+ }
53
+ export interface AppStoreDataUsage {
54
+ category: string;
55
+ purposes?: string[];
56
+ dataProtections: string[];
57
+ }
58
+ export interface AppStoreAgeRatingConfig {
59
+ alcohol_tobacco_or_drug_use_or_references?: string;
60
+ contests?: string;
61
+ gambling_simulated?: string;
62
+ guns_or_other_weapons?: string;
63
+ medical_or_treatment_information?: string;
64
+ profanity_or_crude_humor?: string;
65
+ sexual_content_graphic_and_nudity?: string;
66
+ sexual_content_or_nudity?: string;
67
+ horror_or_fear_themes?: string;
68
+ mature_or_suggestive_themes?: string;
69
+ violence_cartoon_or_fantasy?: string;
70
+ violence_realistic?: string;
71
+ violence_realistic_prolonged_graphic_or_sadistic?: string;
72
+ advertising?: boolean;
73
+ age_assurance?: boolean;
74
+ gambling?: boolean;
75
+ health_or_wellness_topics?: boolean;
76
+ loot_box?: boolean;
77
+ messaging_and_chat?: boolean;
78
+ parental_controls?: boolean;
79
+ unrestricted_web_access?: boolean;
80
+ user_generated_content?: boolean;
81
+ }
82
+ export interface AppStorePricingConfig {
83
+ base_territory: string;
84
+ price_tier: string;
85
+ price: string;
86
+ availability: AppStoreAvailability;
87
+ }
88
+ export interface AppStoreAvailability {
89
+ available_in_new_territories: boolean;
90
+ include_all: boolean;
91
+ territories: string[];
92
+ }
93
+ export interface AppStoreSubscriptionsConfig {
94
+ availability?: AppStoreAvailability;
95
+ groups: AppStoreSubscriptionGroup[];
96
+ }
97
+ export interface AppStoreSubscriptionGroup {
98
+ reference_name: string;
99
+ localizations?: AppStoreSubscriptionGroupLocalization[];
100
+ subscriptions: AppStoreSubscription[];
101
+ }
102
+ export interface AppStoreSubscriptionGroupLocalization {
103
+ locale: string;
104
+ name: string;
105
+ custom_app_name?: string;
106
+ }
107
+ export interface AppStoreSubscription {
108
+ ref_name: string;
109
+ product_id: string;
110
+ subscription_period: string;
111
+ family_sharable: boolean;
112
+ prices: AppStoreSubscriptionPrice[];
113
+ localizations: AppStoreSubscriptionLocalization[];
114
+ }
115
+ export interface AppStoreSubscriptionPrice {
116
+ territory: string;
117
+ price?: string;
118
+ tier?: string;
119
+ }
120
+ export interface AppStoreSubscriptionLocalization {
121
+ locale: string;
122
+ name: string;
123
+ description: string;
124
+ }
125
+ export interface AppStoreInAppPurchase {
126
+ type: string;
127
+ ref_name: string;
128
+ product_id: string;
129
+ family_sharable: boolean;
130
+ prices: AppStoreSubscriptionPrice[];
131
+ localizations: AppStoreSubscriptionLocalization[];
132
+ }
133
+ export interface AppStoreEncryptionConfig {
134
+ contains_proprietary_cryptography: boolean;
135
+ contains_third_party_cryptography: boolean;
136
+ available_on_french_store: boolean;
137
+ description: string;
138
+ }
139
+ export interface AppStoreReviewInfoConfig {
140
+ contact_first_name: string;
141
+ contact_last_name: string;
142
+ contact_phone: string;
143
+ contact_email: string;
144
+ demo_username?: string;
145
+ demo_password?: string;
146
+ notes?: string;
147
+ }
148
+ export interface CreateAppStoreOptions {
149
+ config?: string;
150
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=appstore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appstore.js","sourceRoot":"","sources":["../../src/types/appstore.ts"],"names":[],"mappings":""}