appstore-mcp 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.
- package/.claude/CLAUDE.md +29 -0
- package/.claude/settings.local.json +24 -0
- package/.prettierrc +7 -0
- package/README.md +170 -0
- package/dist/app-store-service.d.ts +21 -0
- package/dist/app-store-service.d.ts.map +1 -0
- package/dist/app-store-service.js +146 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +22 -0
- package/dist/mcp/resources/countries.d.ts +5 -0
- package/dist/mcp/resources/countries.d.ts.map +1 -0
- package/dist/mcp/resources/countries.js +236 -0
- package/dist/mcp/resources/index.d.ts +3 -0
- package/dist/mcp/resources/index.d.ts.map +1 -0
- package/dist/mcp/resources/index.js +80 -0
- package/dist/mcp/tools/get-app-details.d.ts +3 -0
- package/dist/mcp/tools/get-app-details.d.ts.map +1 -0
- package/dist/mcp/tools/get-app-details.js +84 -0
- package/dist/mcp/tools/get-app-info.d.ts +3 -0
- package/dist/mcp/tools/get-app-info.d.ts.map +1 -0
- package/dist/mcp/tools/get-app-info.js +156 -0
- package/dist/mcp/tools/get-app-release-info.d.ts +3 -0
- package/dist/mcp/tools/get-app-release-info.d.ts.map +1 -0
- package/dist/mcp/tools/get-app-release-info.js +80 -0
- package/dist/mcp/tools/get-app-screenshots.d.ts +3 -0
- package/dist/mcp/tools/get-app-screenshots.d.ts.map +1 -0
- package/dist/mcp/tools/get-app-screenshots.js +71 -0
- package/dist/mcp/tools/get-trending-apps.d.ts +3 -0
- package/dist/mcp/tools/get-trending-apps.d.ts.map +1 -0
- package/dist/mcp/tools/get-trending-apps.js +89 -0
- package/dist/mcp/tools/index.d.ts +3 -0
- package/dist/mcp/tools/index.d.ts.map +1 -0
- package/dist/mcp/tools/index.js +12 -0
- package/dist/mcp/tools/list-categories.d.ts +3 -0
- package/dist/mcp/tools/list-categories.d.ts.map +1 -0
- package/dist/mcp/tools/list-categories.js +38 -0
- package/dist/mcp/tools/list-countries.d.ts +3 -0
- package/dist/mcp/tools/list-countries.d.ts.map +1 -0
- package/dist/mcp/tools/list-countries.js +40 -0
- package/dist/mcp/tools/search-apps.d.ts +3 -0
- package/dist/mcp/tools/search-apps.d.ts.map +1 -0
- package/dist/mcp/tools/search-apps.js +67 -0
- package/dist/services/app-store-service.d.ts +21 -0
- package/dist/services/app-store-service.d.ts.map +1 -0
- package/dist/services/app-store-service.js +146 -0
- package/dist/types.d.ts +46 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +41 -0
- package/eslint.config.js +9 -0
- package/package.json +46 -0
- package/src/index.ts +24 -0
- package/src/mcp/resources/countries.ts +234 -0
- package/src/mcp/resources/index.ts +117 -0
- package/src/mcp/tools/get-app-info.ts +183 -0
- package/src/mcp/tools/get-trending-apps.ts +108 -0
- package/src/mcp/tools/index.ts +10 -0
- package/src/mcp/tools/search-apps.ts +74 -0
- package/src/services/app-store-service.ts +236 -0
- package/src/types.ts +77 -0
- package/tsconfig.json +21 -0
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.COUNTRIES = void 0;
|
|
4
|
+
exports.findCountryByCode = findCountryByCode;
|
|
5
|
+
exports.findCountryByName = findCountryByName;
|
|
6
|
+
exports.COUNTRIES = [
|
|
7
|
+
{ code: 'AF', name: 'Afghanistan' },
|
|
8
|
+
{ code: 'AL', name: 'Albania' },
|
|
9
|
+
{ code: 'DZ', name: 'Algeria' },
|
|
10
|
+
{ code: 'AS', name: 'American Samoa' },
|
|
11
|
+
{ code: 'AD', name: 'Andorra' },
|
|
12
|
+
{ code: 'AO', name: 'Angola' },
|
|
13
|
+
{ code: 'AI', name: 'Anguilla' },
|
|
14
|
+
{ code: 'AR', name: 'Argentina' },
|
|
15
|
+
{ code: 'AM', name: 'Armenia' },
|
|
16
|
+
{ code: 'AW', name: 'Aruba' },
|
|
17
|
+
{ code: 'AU', name: 'Australia' },
|
|
18
|
+
{ code: 'AT', name: 'Austria' },
|
|
19
|
+
{ code: 'AZ', name: 'Azerbaijan' },
|
|
20
|
+
{ code: 'BS', name: 'Bahamas' },
|
|
21
|
+
{ code: 'BH', name: 'Bahrain' },
|
|
22
|
+
{ code: 'BD', name: 'Bangladesh' },
|
|
23
|
+
{ code: 'BB', name: 'Barbados' },
|
|
24
|
+
{ code: 'BY', name: 'Belarus' },
|
|
25
|
+
{ code: 'BE', name: 'Belgium' },
|
|
26
|
+
{ code: 'BZ', name: 'Belize' },
|
|
27
|
+
{ code: 'BJ', name: 'Benin' },
|
|
28
|
+
{ code: 'BM', name: 'Bermuda' },
|
|
29
|
+
{ code: 'BT', name: 'Bhutan' },
|
|
30
|
+
{ code: 'BO', name: 'Bolivia' },
|
|
31
|
+
{ code: 'BA', name: 'Bosnia and Herzegovina' },
|
|
32
|
+
{ code: 'BW', name: 'Botswana' },
|
|
33
|
+
{ code: 'BR', name: 'Brazil' },
|
|
34
|
+
{ code: 'VG', name: 'British Virgin Islands' },
|
|
35
|
+
{ code: 'BN', name: 'Brunei' },
|
|
36
|
+
{ code: 'BG', name: 'Bulgaria' },
|
|
37
|
+
{ code: 'BF', name: 'Burkina Faso' },
|
|
38
|
+
{ code: 'BI', name: 'Burundi' },
|
|
39
|
+
{ code: 'KH', name: 'Cambodia' },
|
|
40
|
+
{ code: 'CM', name: 'Cameroon' },
|
|
41
|
+
{ code: 'CA', name: 'Canada' },
|
|
42
|
+
{ code: 'CV', name: 'Cape Verde' },
|
|
43
|
+
{ code: 'KY', name: 'Cayman Islands' },
|
|
44
|
+
{ code: 'CF', name: 'Central African Republic' },
|
|
45
|
+
{ code: 'TD', name: 'Chad' },
|
|
46
|
+
{ code: 'CL', name: 'Chile' },
|
|
47
|
+
{ code: 'CN', name: 'China' },
|
|
48
|
+
{ code: 'CO', name: 'Colombia' },
|
|
49
|
+
{ code: 'KM', name: 'Comoros' },
|
|
50
|
+
{ code: 'CK', name: 'Cook Islands' },
|
|
51
|
+
{ code: 'CR', name: 'Costa Rica' },
|
|
52
|
+
{ code: 'HR', name: 'Croatia' },
|
|
53
|
+
{ code: 'CU', name: 'Cuba' },
|
|
54
|
+
{ code: 'CW', name: 'Curacao' },
|
|
55
|
+
{ code: 'CY', name: 'Cyprus' },
|
|
56
|
+
{ code: 'CZ', name: 'Czech Republic' },
|
|
57
|
+
{ code: 'CD', name: 'Democratic Republic of the Congo' },
|
|
58
|
+
{ code: 'DK', name: 'Denmark' },
|
|
59
|
+
{ code: 'DJ', name: 'Djibouti' },
|
|
60
|
+
{ code: 'DM', name: 'Dominica' },
|
|
61
|
+
{ code: 'DO', name: 'Dominican Republic' },
|
|
62
|
+
{ code: 'TL', name: 'East Timor' },
|
|
63
|
+
{ code: 'EC', name: 'Ecuador' },
|
|
64
|
+
{ code: 'EG', name: 'Egypt' },
|
|
65
|
+
{ code: 'SV', name: 'El Salvador' },
|
|
66
|
+
{ code: 'ER', name: 'Eritrea' },
|
|
67
|
+
{ code: 'EE', name: 'Estonia' },
|
|
68
|
+
{ code: 'ET', name: 'Ethiopia' },
|
|
69
|
+
{ code: 'FO', name: 'Faroe Islands' },
|
|
70
|
+
{ code: 'FJ', name: 'Fiji' },
|
|
71
|
+
{ code: 'FI', name: 'Finland' },
|
|
72
|
+
{ code: 'FR', name: 'France' },
|
|
73
|
+
{ code: 'PF', name: 'French Polynesia' },
|
|
74
|
+
{ code: 'GA', name: 'Gabon' },
|
|
75
|
+
{ code: 'GM', name: 'Gambia' },
|
|
76
|
+
{ code: 'GE', name: 'Georgia' },
|
|
77
|
+
{ code: 'DE', name: 'Germany' },
|
|
78
|
+
{ code: 'GH', name: 'Ghana' },
|
|
79
|
+
{ code: 'GR', name: 'Greece' },
|
|
80
|
+
{ code: 'GL', name: 'Greenland' },
|
|
81
|
+
{ code: 'GD', name: 'Grenada' },
|
|
82
|
+
{ code: 'GU', name: 'Guam' },
|
|
83
|
+
{ code: 'GT', name: 'Guatemala' },
|
|
84
|
+
{ code: 'GG', name: 'Guernsey' },
|
|
85
|
+
{ code: 'GN', name: 'Guinea' },
|
|
86
|
+
{ code: 'GW', name: 'Guinea-Bissau' },
|
|
87
|
+
{ code: 'GY', name: 'Guyana' },
|
|
88
|
+
{ code: 'HT', name: 'Haiti' },
|
|
89
|
+
{ code: 'HN', name: 'Honduras' },
|
|
90
|
+
{ code: 'HK', name: 'Hong Kong' },
|
|
91
|
+
{ code: 'HU', name: 'Hungary' },
|
|
92
|
+
{ code: 'IS', name: 'Iceland' },
|
|
93
|
+
{ code: 'IN', name: 'India' },
|
|
94
|
+
{ code: 'ID', name: 'Indonesia' },
|
|
95
|
+
{ code: 'IR', name: 'Iran' },
|
|
96
|
+
{ code: 'IQ', name: 'Iraq' },
|
|
97
|
+
{ code: 'IE', name: 'Ireland' },
|
|
98
|
+
{ code: 'IM', name: 'Isle of Man' },
|
|
99
|
+
{ code: 'IL', name: 'Israel' },
|
|
100
|
+
{ code: 'IT', name: 'Italy' },
|
|
101
|
+
{ code: 'CI', name: 'Ivory Coast' },
|
|
102
|
+
{ code: 'JM', name: 'Jamaica' },
|
|
103
|
+
{ code: 'JP', name: 'Japan' },
|
|
104
|
+
{ code: 'JE', name: 'Jersey' },
|
|
105
|
+
{ code: 'JO', name: 'Jordan' },
|
|
106
|
+
{ code: 'KZ', name: 'Kazakhstan' },
|
|
107
|
+
{ code: 'KE', name: 'Kenya' },
|
|
108
|
+
{ code: 'KI', name: 'Kiribati' },
|
|
109
|
+
{ code: 'XK', name: 'Kosovo' },
|
|
110
|
+
{ code: 'KW', name: 'Kuwait' },
|
|
111
|
+
{ code: 'KG', name: 'Kyrgyzstan' },
|
|
112
|
+
{ code: 'LA', name: 'Laos' },
|
|
113
|
+
{ code: 'LV', name: 'Latvia' },
|
|
114
|
+
{ code: 'LB', name: 'Lebanon' },
|
|
115
|
+
{ code: 'LS', name: 'Lesotho' },
|
|
116
|
+
{ code: 'LR', name: 'Liberia' },
|
|
117
|
+
{ code: 'LY', name: 'Libya' },
|
|
118
|
+
{ code: 'LI', name: 'Liechtenstein' },
|
|
119
|
+
{ code: 'LT', name: 'Lithuania' },
|
|
120
|
+
{ code: 'LU', name: 'Luxembourg' },
|
|
121
|
+
{ code: 'MO', name: 'Macau' },
|
|
122
|
+
{ code: 'MK', name: 'Macedonia' },
|
|
123
|
+
{ code: 'MG', name: 'Madagascar' },
|
|
124
|
+
{ code: 'MW', name: 'Malawi' },
|
|
125
|
+
{ code: 'MY', name: 'Malaysia' },
|
|
126
|
+
{ code: 'MV', name: 'Maldives' },
|
|
127
|
+
{ code: 'ML', name: 'Mali' },
|
|
128
|
+
{ code: 'MT', name: 'Malta' },
|
|
129
|
+
{ code: 'MH', name: 'Marshall Islands' },
|
|
130
|
+
{ code: 'MR', name: 'Mauritania' },
|
|
131
|
+
{ code: 'MU', name: 'Mauritius' },
|
|
132
|
+
{ code: 'YT', name: 'Mayotte' },
|
|
133
|
+
{ code: 'MX', name: 'Mexico' },
|
|
134
|
+
{ code: 'FM', name: 'Micronesia' },
|
|
135
|
+
{ code: 'MD', name: 'Moldova' },
|
|
136
|
+
{ code: 'MC', name: 'Monaco' },
|
|
137
|
+
{ code: 'MN', name: 'Mongolia' },
|
|
138
|
+
{ code: 'ME', name: 'Montenegro' },
|
|
139
|
+
{ code: 'MA', name: 'Morocco' },
|
|
140
|
+
{ code: 'MZ', name: 'Mozambique' },
|
|
141
|
+
{ code: 'MM', name: 'Myanmar' },
|
|
142
|
+
{ code: 'NA', name: 'Namibia' },
|
|
143
|
+
{ code: 'NP', name: 'Nepal' },
|
|
144
|
+
{ code: 'NL', name: 'Netherlands' },
|
|
145
|
+
{ code: 'AN', name: 'Netherlands Antilles' },
|
|
146
|
+
{ code: 'NC', name: 'New Caledonia' },
|
|
147
|
+
{ code: 'NZ', name: 'New Zealand' },
|
|
148
|
+
{ code: 'NI', name: 'Nicaragua' },
|
|
149
|
+
{ code: 'NE', name: 'Niger' },
|
|
150
|
+
{ code: 'NG', name: 'Nigeria' },
|
|
151
|
+
{ code: 'KP', name: 'North Korea' },
|
|
152
|
+
{ code: 'MP', name: 'Northern Mariana Islands' },
|
|
153
|
+
{ code: 'NO', name: 'Norway' },
|
|
154
|
+
{ code: 'OM', name: 'Oman' },
|
|
155
|
+
{ code: 'PK', name: 'Pakistan' },
|
|
156
|
+
{ code: 'PS', name: 'Palestine' },
|
|
157
|
+
{ code: 'PA', name: 'Panama' },
|
|
158
|
+
{ code: 'PG', name: 'Papua New Guinea' },
|
|
159
|
+
{ code: 'PY', name: 'Paraguay' },
|
|
160
|
+
{ code: 'PE', name: 'Peru' },
|
|
161
|
+
{ code: 'PH', name: 'Philippines' },
|
|
162
|
+
{ code: 'PL', name: 'Poland' },
|
|
163
|
+
{ code: 'PT', name: 'Portugal' },
|
|
164
|
+
{ code: 'PR', name: 'Puerto Rico' },
|
|
165
|
+
{ code: 'QA', name: 'Qatar' },
|
|
166
|
+
{ code: 'CG', name: 'Republic of the Congo' },
|
|
167
|
+
{ code: 'RE', name: 'Reunion' },
|
|
168
|
+
{ code: 'RO', name: 'Romania' },
|
|
169
|
+
{ code: 'RU', name: 'Russia' },
|
|
170
|
+
{ code: 'RW', name: 'Rwanda' },
|
|
171
|
+
{ code: 'KN', name: 'Saint Kitts and Nevis' },
|
|
172
|
+
{ code: 'LC', name: 'Saint Lucia' },
|
|
173
|
+
{ code: 'MF', name: 'Saint Martin' },
|
|
174
|
+
{ code: 'PM', name: 'Saint Pierre and Miquelon' },
|
|
175
|
+
{ code: 'VC', name: 'Saint Vincent and the Grenadines' },
|
|
176
|
+
{ code: 'WS', name: 'Samoa' },
|
|
177
|
+
{ code: 'SM', name: 'San Marino' },
|
|
178
|
+
{ code: 'ST', name: 'Sao Tome and Principe' },
|
|
179
|
+
{ code: 'SA', name: 'Saudi Arabia' },
|
|
180
|
+
{ code: 'SN', name: 'Senegal' },
|
|
181
|
+
{ code: 'RS', name: 'Serbia' },
|
|
182
|
+
{ code: 'SC', name: 'Seychelles' },
|
|
183
|
+
{ code: 'SL', name: 'Sierra Leone' },
|
|
184
|
+
{ code: 'SG', name: 'Singapore' },
|
|
185
|
+
{ code: 'SX', name: 'Sint Maarten' },
|
|
186
|
+
{ code: 'SK', name: 'Slovakia' },
|
|
187
|
+
{ code: 'SI', name: 'Slovenia' },
|
|
188
|
+
{ code: 'SB', name: 'Solomon Islands' },
|
|
189
|
+
{ code: 'SO', name: 'Somalia' },
|
|
190
|
+
{ code: 'ZA', name: 'South Africa' },
|
|
191
|
+
{ code: 'KR', name: 'South Korea' },
|
|
192
|
+
{ code: 'SS', name: 'South Sudan' },
|
|
193
|
+
{ code: 'ES', name: 'Spain' },
|
|
194
|
+
{ code: 'LK', name: 'Sri Lanka' },
|
|
195
|
+
{ code: 'SD', name: 'Sudan' },
|
|
196
|
+
{ code: 'SR', name: 'Suriname' },
|
|
197
|
+
{ code: 'SZ', name: 'Swaziland' },
|
|
198
|
+
{ code: 'SE', name: 'Sweden' },
|
|
199
|
+
{ code: 'CH', name: 'Switzerland' },
|
|
200
|
+
{ code: 'SY', name: 'Syria' },
|
|
201
|
+
{ code: 'TW', name: 'Taiwan' },
|
|
202
|
+
{ code: 'TJ', name: 'Tajikistan' },
|
|
203
|
+
{ code: 'TZ', name: 'Tanzania' },
|
|
204
|
+
{ code: 'TH', name: 'Thailand' },
|
|
205
|
+
{ code: 'TG', name: 'Togo' },
|
|
206
|
+
{ code: 'TO', name: 'Tonga' },
|
|
207
|
+
{ code: 'TT', name: 'Trinidad and Tobago' },
|
|
208
|
+
{ code: 'TN', name: 'Tunisia' },
|
|
209
|
+
{ code: 'TR', name: 'Turkey' },
|
|
210
|
+
{ code: 'TM', name: 'Turkmenistan' },
|
|
211
|
+
{ code: 'TC', name: 'Turks and Caicos Islands' },
|
|
212
|
+
{ code: 'TV', name: 'Tuvalu' },
|
|
213
|
+
{ code: 'VI', name: 'U.S. Virgin Islands' },
|
|
214
|
+
{ code: 'UG', name: 'Uganda' },
|
|
215
|
+
{ code: 'UA', name: 'Ukraine' },
|
|
216
|
+
{ code: 'AE', name: 'United Arab Emirates' },
|
|
217
|
+
{ code: 'GB', name: 'United Kingdom' },
|
|
218
|
+
{ code: 'US', name: 'United States' },
|
|
219
|
+
{ code: 'UY', name: 'Uruguay' },
|
|
220
|
+
{ code: 'UZ', name: 'Uzbekistan' },
|
|
221
|
+
{ code: 'VU', name: 'Vanuatu' },
|
|
222
|
+
{ code: 'VE', name: 'Venezuela' },
|
|
223
|
+
{ code: 'VN', name: 'Vietnam' },
|
|
224
|
+
{ code: 'EH', name: 'Western Sahara' },
|
|
225
|
+
{ code: 'YE', name: 'Yemen' },
|
|
226
|
+
{ code: 'ZM', name: 'Zambia' },
|
|
227
|
+
{ code: 'ZW', name: 'Zimbabwe' },
|
|
228
|
+
];
|
|
229
|
+
function findCountryByCode(code) {
|
|
230
|
+
return exports.COUNTRIES.find((country) => country.code.toUpperCase() === code.toUpperCase());
|
|
231
|
+
}
|
|
232
|
+
function findCountryByName(name) {
|
|
233
|
+
const lowerName = name.toLowerCase();
|
|
234
|
+
return exports.COUNTRIES.find((country) => country.name.toLowerCase().includes(lowerName));
|
|
235
|
+
}
|
|
236
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21jcC9yZXNvdXJjZXMvY291bnRyaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWtPQSw4Q0FFQztBQUVELDhDQUdDO0FBdk9ZLFFBQUEsU0FBUyxHQUFjO0lBQ2hDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFO0lBQ25DLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO0lBQy9CLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO0lBQy9CLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7SUFDdEMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7SUFDL0IsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7SUFDOUIsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7SUFDaEMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7SUFDakMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7SUFDL0IsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUU7SUFDN0IsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7SUFDakMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7SUFDL0IsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUU7SUFDbEMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7SUFDL0IsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7SUFDL0IsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUU7SUFDbEMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7SUFDaEMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7SUFDL0IsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7SUFDL0IsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7SUFDOUIsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUU7SUFDN0IsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7SUFDL0IsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7SUFDOUIsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7SUFDL0IsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSx3QkFBd0IsRUFBRTtJQUM5QyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtJQUNoQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtJQUM5QixFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLHdCQUF3QixFQUFFO0lBQzlDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO0lBQzlCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO0lBQ2hDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFO0lBQ3BDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVB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QUFrQixFQUFFO0lBQ3hDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO0lBQzdCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO0lBQzlCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO0lBQy9CLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO0lBQy9CLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO0lBQzdCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO0lBQzlCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO0lBQ2pDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO0lBQy9CLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO0lBQzVCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO0lBQ2pDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO0lBQ2hDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO0lBQzlCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFO0lBQ3JDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO0lBQzlCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO0lBQzdCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO0lBQ2hDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO0lBQ2pDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO0lBQy9CLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO0lBQy9CLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO0lBQzdCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO0lBQ2pDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO0lBQzVCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO0lBQzVCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO0lBQy9CLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFO0lBQ25DLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO0lBQzlCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO0lBQzdCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFO0lBQ25DLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO0lBQy9CLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO0lBQzdCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO0lBQzlCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO0lBQzlCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFO0lBQ2xDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO0lBQzdCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO0lBQ2hDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO0lBQzlCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO0lBQzlCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFO0lBQ2xDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO0lBQzVCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO0lBQzlCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO0lBQy9CLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO0lBQy9CLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO0lBQy9CLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO0lBQzdCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFO0lBQ3JDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO0lBQ2pDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFO0lBQ2xDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO0lBQzdCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO0lBQ2pDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFO0lBQ2xDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO0lBQzlCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO0lBQ2hDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO0lBQ2hDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO0lBQzVCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO0lBQzdCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUU7SUFDeEMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUU7SUFDbEMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7SUFDakMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7SUFDL0IsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7SUFDOUIsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUU7SUFDbEMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7SUFDL0IsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7SUFDOUIsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7SUFDaEMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUU7SUFDbEMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7SUFDL0IsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUU7SUFDbEMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7SUFDL0IsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7SUFDL0IsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUU7SUFDN0IsRUFBRSxJQUFJLEVB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QUFFLElBQUksRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFO0lBQ3BDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO0lBQy9CLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO0lBQzlCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFO0lBQ2xDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFO0lBQ3BDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO0lBQ2pDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFO0lBQ3BDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO0lBQ2hDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO0lBQ2hDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUU7SUFDdkMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7SUFDL0IsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUU7SUFDcEMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUU7SUFDbkMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUU7SUFDbkMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUU7SUFDN0IsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7SUFDakMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUU7SUFDN0IsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIpE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,QAgHrD"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerAllResources = registerAllResources;
|
|
4
|
+
const countries_1 = require("./countries");
|
|
5
|
+
const types_1 = require("../../types");
|
|
6
|
+
function registerAllResources(server) {
|
|
7
|
+
server.registerResource('countries', 'appstore://countries', {
|
|
8
|
+
description: 'List of all available App Store country codes',
|
|
9
|
+
mimeType: 'application/json',
|
|
10
|
+
}, async (uri) => ({
|
|
11
|
+
contents: [
|
|
12
|
+
{
|
|
13
|
+
uri: uri.href,
|
|
14
|
+
mimeType: 'application/json',
|
|
15
|
+
text: JSON.stringify({
|
|
16
|
+
count: countries_1.COUNTRIES.length,
|
|
17
|
+
countries: countries_1.COUNTRIES.map((country) => ({
|
|
18
|
+
code: country.code,
|
|
19
|
+
name: country.name,
|
|
20
|
+
})),
|
|
21
|
+
}, null, 2),
|
|
22
|
+
},
|
|
23
|
+
],
|
|
24
|
+
}));
|
|
25
|
+
server.registerResource('categories', 'appstore://categories', {
|
|
26
|
+
description: 'List of all App Store categories with their IDs',
|
|
27
|
+
mimeType: 'application/json',
|
|
28
|
+
}, async (uri) => ({
|
|
29
|
+
contents: [
|
|
30
|
+
{
|
|
31
|
+
uri: uri.href,
|
|
32
|
+
mimeType: 'application/json',
|
|
33
|
+
text: JSON.stringify({
|
|
34
|
+
categories: types_1.APP_STORE_CATEGORIES.map((category) => ({
|
|
35
|
+
id: category.id,
|
|
36
|
+
name: category.name,
|
|
37
|
+
emoji: category.emoji,
|
|
38
|
+
})),
|
|
39
|
+
}, null, 2),
|
|
40
|
+
},
|
|
41
|
+
],
|
|
42
|
+
}));
|
|
43
|
+
server.registerResource('platforms', 'appstore://platforms', {
|
|
44
|
+
description: 'List of supported App Store platforms',
|
|
45
|
+
mimeType: 'application/json',
|
|
46
|
+
}, async (uri) => ({
|
|
47
|
+
contents: [
|
|
48
|
+
{
|
|
49
|
+
uri: uri.href,
|
|
50
|
+
mimeType: 'application/json',
|
|
51
|
+
text: JSON.stringify({
|
|
52
|
+
platforms: types_1.PLATFORMS.map((platform) => ({
|
|
53
|
+
value: platform.value,
|
|
54
|
+
label: platform.label,
|
|
55
|
+
emoji: platform.emoji,
|
|
56
|
+
})),
|
|
57
|
+
}, null, 2),
|
|
58
|
+
},
|
|
59
|
+
],
|
|
60
|
+
}));
|
|
61
|
+
server.registerResource('pricing-types', 'appstore://pricing-types', {
|
|
62
|
+
description: 'List of App Store pricing types (free, paid, grossing)',
|
|
63
|
+
mimeType: 'application/json',
|
|
64
|
+
}, async (uri) => ({
|
|
65
|
+
contents: [
|
|
66
|
+
{
|
|
67
|
+
uri: uri.href,
|
|
68
|
+
mimeType: 'application/json',
|
|
69
|
+
text: JSON.stringify({
|
|
70
|
+
pricingTypes: types_1.PRICING_TYPES.map((pricing) => ({
|
|
71
|
+
value: pricing.value,
|
|
72
|
+
label: pricing.label,
|
|
73
|
+
emoji: pricing.emoji,
|
|
74
|
+
})),
|
|
75
|
+
}, null, 2),
|
|
76
|
+
},
|
|
77
|
+
],
|
|
78
|
+
}));
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWNwL3Jlc291cmNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUlBLG9EQWdIQztBQW5IRCwyQ0FBd0M7QUFDeEMsdUNBQTZFO0FBRTdFLFNBQWdCLG9CQUFvQixDQUFDLE1BQWlCO0lBQ2xELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FDbkIsV0FBVyxFQUNYLHNCQUFzQixFQUN0QjtRQUNJLFdBQVcsRUFBRSwrQ0FBK0M7UUFDNUQsUUFBUSxFQUFFLGtCQUFrQjtLQUMvQixFQUNELEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDWixRQUFRLEVBQUU7WUFDTjtnQkFDSSxHQUFHLEVBQUUsR0FBRyxDQUFDLElBQUk7Z0JBQ2IsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQ2hCO29CQUNJLEtBQUssRUFBRSxxQkFBUyxDQUFDLE1BQU07b0JBQ3ZCLFNBQVMsRUFBRSxxQkFBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQzt3QkFDbkMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO3dCQUNsQixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7cUJBQ3JCLENBQUMsQ0FBQztpQkFDTixFQUNELElBQUksRUFDSixDQUFDLENBQ0o7YUFDSjtTQUNKO0tBQ0osQ0FBQyxDQUNMLENBQUM7SUFFRixNQUFNLENBQUMsZ0JBQWdCLENBQ25CLFlBQVksRUFDWix1QkFBdUIsRUFDdkI7UUFDSSxXQUFXLEVBQUUsaURBQWlEO1FBQzlELFFBQVEsRUFBRSxrQkFBa0I7S0FDL0IsRUFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1osUUFBUSxFQUFFO1lBQ047Z0JBQ0ksR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJO2dCQUNiLFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUNoQjtvQkFDSSxVQUFVLEVBQUUsNEJBQW9CLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO3dCQUNoRCxFQUFFLEVBQUUsUUFBUSxDQUFDLEVBQUU7d0JBQ2YsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJO3dCQUNuQixLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUs7cUJBQ3hCLENBQUMsQ0FBQztpQkFDTixFQUNELElBQUksRUFDSixDQUFDLENBQ0o7YUFDSjtTQUNKO0tBQ0osQ0FBQyxDQUNMLENBQUM7SUFFRixNQUFNLENBQUMsZ0JBQWdCLENBQ25CLFdBQVcsRUFDWCxzQkFBc0IsRUFDdEI7UUFDSSxXQUFXLEVBQUUsdUNBQXVDO1FBQ3BELFFBQVEsRUFBRSxrQkFBa0I7S0FDL0IsRUFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1osUUFBUSxFQUFFO1lBQ047Z0JBQ0ksR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJO2dCQUNiLFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUNoQjtvQkFDSSxTQUFTLEVBQUUsaUJBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7d0JBQ3BDLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSzt3QkFDckIsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLO3dCQUNyQixLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUs7cUJBQ3hCLENBQUMsQ0FBQztpQkFDTixFQUNELElBQUksRUFDSixDQUFDLENBQ0o7YUFDSjtTQUNKO0tBQ0osQ0FBQyxDQUNMLENBQUM7SUFFRixNQUFNLENBQUMsZ0JBQWdCLENBQ25CLGVBQWUsRUFDZiwwQkFBMEIsRUFDMUI7UUFDSSxXQUFXLEVBQUUsd0RBQXdEO1FBQ3JFLFFBQVEsRUFBRSxrQkFBa0I7S0FDL0IsRUFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1osUUFBUSxFQUFFO1lBQ047Z0JBQ0ksR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJO2dCQUNiLFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUNoQjtvQkFDSSxZQUFZLEVBQUUscUJBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7d0JBQzFDLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSzt3QkFDcEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO3dCQUNwQixLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7cUJBQ3ZCLENBQUMsQ0FBQztpQkFDTixFQUNELElBQUksRUFDSixDQUFDLENBQ0o7YUFDSjtTQUNKO0tBQ0osQ0FBQyxDQUNMLENBQUM7QUFDTixDQUFDIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-app-details.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/get-app-details.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIpE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,QA2FtD"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerGetAppDetails = registerGetAppDetails;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const app_store_service_1 = require("../../app-store-service");
|
|
6
|
+
function registerGetAppDetails(server) {
|
|
7
|
+
server.registerTool('get_app_details', {
|
|
8
|
+
description: 'Get detailed information about a specific app by its App Store ID',
|
|
9
|
+
inputSchema: {
|
|
10
|
+
appId: zod_1.z.string().describe('The App Store ID of the app (numeric ID from the App Store URL)'),
|
|
11
|
+
country: zod_1.z
|
|
12
|
+
.string()
|
|
13
|
+
.optional()
|
|
14
|
+
.describe('Country code for the App Store (e.g., US, GB, JP). Defaults to US'),
|
|
15
|
+
},
|
|
16
|
+
}, async ({ appId, country }) => {
|
|
17
|
+
const countryCode = country || 'US';
|
|
18
|
+
try {
|
|
19
|
+
const app = await app_store_service_1.AppStoreService.getAppDetails(appId, countryCode);
|
|
20
|
+
if (!app) {
|
|
21
|
+
return {
|
|
22
|
+
content: [
|
|
23
|
+
{
|
|
24
|
+
type: 'text',
|
|
25
|
+
text: JSON.stringify({
|
|
26
|
+
success: false,
|
|
27
|
+
error: `App with ID ${appId} not found`,
|
|
28
|
+
}, null, 2),
|
|
29
|
+
},
|
|
30
|
+
],
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
const result = {
|
|
34
|
+
success: true,
|
|
35
|
+
app: {
|
|
36
|
+
id: app.id,
|
|
37
|
+
name: app.name,
|
|
38
|
+
artistName: app.artistName,
|
|
39
|
+
bundleId: app.bundleId,
|
|
40
|
+
url: app.url,
|
|
41
|
+
iconUrl: app.iconUrl,
|
|
42
|
+
description: app.description,
|
|
43
|
+
version: app.version,
|
|
44
|
+
price: app.price,
|
|
45
|
+
formattedPrice: app.formattedPrice || 'Free',
|
|
46
|
+
primaryGenre: app.primaryGenreName,
|
|
47
|
+
genres: app.genres,
|
|
48
|
+
rating: app.averageUserRating?.toFixed(1) || 'N/A',
|
|
49
|
+
ratingCount: app.userRatingCount || 0,
|
|
50
|
+
releaseDate: app.releaseDate,
|
|
51
|
+
currentVersionReleaseDate: app.currentVersionReleaseDate,
|
|
52
|
+
minimumOsVersion: app.minimumOsVersion,
|
|
53
|
+
fileSizeBytes: app.fileSizeBytes,
|
|
54
|
+
contentAdvisoryRating: app.contentAdvisoryRating,
|
|
55
|
+
screenshotCount: app.screenshotUrls?.length || 0,
|
|
56
|
+
ipadScreenshotCount: app.ipadScreenshotUrls?.length || 0,
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
return {
|
|
60
|
+
content: [
|
|
61
|
+
{
|
|
62
|
+
type: 'text',
|
|
63
|
+
text: JSON.stringify(result, null, 2),
|
|
64
|
+
},
|
|
65
|
+
],
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
70
|
+
return {
|
|
71
|
+
content: [
|
|
72
|
+
{
|
|
73
|
+
type: 'text',
|
|
74
|
+
text: JSON.stringify({
|
|
75
|
+
success: false,
|
|
76
|
+
error: errorMessage,
|
|
77
|
+
}, null, 2),
|
|
78
|
+
},
|
|
79
|
+
],
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWFwcC1kZXRhaWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21jcC90b29scy9nZXQtYXBwLWRldGFpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFJQSxzREEyRkM7QUE5RkQsNkJBQXdCO0FBQ3hCLCtEQUEwRDtBQUUxRCxTQUFnQixxQkFBcUIsQ0FBQyxNQUFpQjtJQUNuRCxNQUFNLENBQUMsWUFBWSxDQUNmLGlCQUFpQixFQUNqQjtRQUNJLFdBQVcsRUFBRSxtRUFBbUU7UUFDaEYsV0FBVyxFQUFFO1lBQ1QsS0FBSyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsaUVBQWlFLENBQUM7WUFDN0YsT0FBTyxFQUFFLE9BQUM7aUJBQ0wsTUFBTSxFQUFFO2lCQUNSLFFBQVEsRUFBRTtpQkFDVixRQUFRLENBQUMsbUVBQW1FLENBQUM7U0FDckY7S0FDSixFQUNELEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO1FBQ3pCLE1BQU0sV0FBVyxHQUFHLE9BQU8sSUFBSSxJQUFJLENBQUM7UUFDcEMsSUFBSSxDQUFDO1lBQ0QsTUFBTSxHQUFHLEdBQUcsTUFBTSxtQ0FBZSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFFcEUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNQLE9BQU87b0JBQ0gsT0FBTyxFQUFFO3dCQUNMOzRCQUNJLElBQUksRUFBRSxNQUFlOzRCQUNyQixJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FDaEI7Z0NBQ0ksT0FBTyxFQUFFLEtBQUs7Z0NBQ2QsS0FBSyxFQUFFLGVBQWUsS0FBSyxZQUFZOzZCQUMxQyxFQUNELElBQUksRUFDSixDQUFDLENBQ0o7eUJBQ0o7cUJBQ0o7aUJBQ0osQ0FBQztZQUNOLENBQUM7WUFFRCxNQUFNLE1BQU0sR0FBRztnQkFDWCxPQUFPLEVBQUUsSUFBSTtnQkFDYixHQUFHLEVBQUU7b0JBQ0QsRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUFFO29CQUNWLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSTtvQkFDZCxVQUFVLEVBQUUsR0FBRyxDQUFDLFVBQVU7b0JBQzFCLFFBQVEsRUFBRSxHQUFHLENBQUMsUUFBUTtvQkFDdEIsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHO29CQUNaLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTztvQkFDcEIsV0FBVyxFQUFFLEdBQUcsQ0FBQyxXQUFXO29CQUM1QixPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU87b0JBQ3BCLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSztvQkFDaEIsY0FBYyxFQUFFLEdBQUcsQ0FBQyxjQUFjLElBQUksTUFBTTtvQkFDNUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxnQkFBZ0I7b0JBQ2xDLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTTtvQkFDbEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSztvQkFDbEQsV0FBVyxFQUFFLEdBQUcsQ0FBQyxlQUFlLElBQUksQ0FBQztvQkFDckMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxXQUFXO29CQUM1Qix5QkFBeUIsRUFBRSxHQUFHLENBQUMseUJBQXlCO29CQUN4RCxnQkFBZ0IsRUFBRSxHQUFHLENBQUMsZ0JBQWdCO29CQUN0QyxhQUFhLEVBQUUsR0FBRyxDQUFDLGFBQWE7b0JBQ2hDLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxxQkFBcUI7b0JBQ2hELGVBQWUsRUFBRSxHQUFHLENBQUMsY0FBYyxFQUFFLE1BQU0sSUFBSSxDQUFDO29CQUNoRCxtQkFBbUIsRUFBRSxHQUFHLENBQUMsa0JBQWtCLEVBQUUsTUFBTSxJQUFJLENBQUM7aUJBQzNEO2FBQ0osQ0FBQztZQUVGLE9BQU87Z0JBQ0gsT0FBTyxFQUFFO29CQUNMO3dCQUNJLElBQUksRUFBRSxNQUFlO3dCQUNyQixJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztxQkFDeEM7aUJBQ0o7YUFDSixDQUFDO1FBQ04sQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDYixNQUFNLFlBQVksR0FBRyxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUM7WUFDOUUsT0FBTztnQkFDSCxPQUFPLEVBQUU7b0JBQ0w7d0JBQ0ksSUFBSSxFQUFFLE1BQWU7d0JBQ3JCLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUNoQjs0QkFDSSxPQUFPLEVBQUUsS0FBSzs0QkFDZCxLQUFLLEVBQUUsWUFBWTt5QkFDdEIsRUFDRCxJQUFJLEVBQ0osQ0FBQyxDQUNKO3FCQUNKO2lCQUNKO2FBQ0osQ0FBQztRQUNOLENBQUM7SUFDTCxDQUFDLENBQ0osQ0FBQztBQUNOLENBQUMifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-app-info.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/get-app-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAgBpE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,QAsKnD"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerGetAppInfo = registerGetAppInfo;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const app_store_service_1 = require("../../services/app-store-service");
|
|
6
|
+
function formatDate(dateString) {
|
|
7
|
+
if (!dateString)
|
|
8
|
+
return null;
|
|
9
|
+
const date = new Date(dateString);
|
|
10
|
+
return date.toLocaleDateString('en-US', {
|
|
11
|
+
year: 'numeric',
|
|
12
|
+
month: 'long',
|
|
13
|
+
day: 'numeric',
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
function registerGetAppInfo(server) {
|
|
17
|
+
server.registerTool('get_app_info', {
|
|
18
|
+
description: 'Get information about a specific app by its App Store ID. Use the "include" parameter to specify what data to return.',
|
|
19
|
+
inputSchema: {
|
|
20
|
+
appId: zod_1.z
|
|
21
|
+
.string()
|
|
22
|
+
.describe('The App Store ID of the app (numeric ID from the App Store URL)'),
|
|
23
|
+
country: zod_1.z
|
|
24
|
+
.string()
|
|
25
|
+
.optional()
|
|
26
|
+
.describe('Country code for the App Store (e.g., US, GB, JP). Defaults to US'),
|
|
27
|
+
include: zod_1.z
|
|
28
|
+
.string()
|
|
29
|
+
.optional()
|
|
30
|
+
.describe('What info to include: "basic" (name, artist, icon, price, rating), "full" (all details including description), "release" (release dates and version), "screenshots" (screenshot URLs). Defaults to "basic"'),
|
|
31
|
+
},
|
|
32
|
+
}, async ({ appId, country, include }) => {
|
|
33
|
+
const countryCode = country || 'US';
|
|
34
|
+
const infoType = (include || 'basic');
|
|
35
|
+
try {
|
|
36
|
+
const app = await app_store_service_1.AppStoreService.getAppDetails(appId, countryCode);
|
|
37
|
+
if (!app) {
|
|
38
|
+
return {
|
|
39
|
+
content: [
|
|
40
|
+
{
|
|
41
|
+
type: 'text',
|
|
42
|
+
text: JSON.stringify({
|
|
43
|
+
success: false,
|
|
44
|
+
error: `App with ID ${appId} not found`,
|
|
45
|
+
}, null, 2),
|
|
46
|
+
},
|
|
47
|
+
],
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
let result = {
|
|
51
|
+
success: true,
|
|
52
|
+
appId: app.id,
|
|
53
|
+
country: countryCode,
|
|
54
|
+
include: infoType,
|
|
55
|
+
};
|
|
56
|
+
switch (infoType) {
|
|
57
|
+
case 'basic':
|
|
58
|
+
result.app = {
|
|
59
|
+
id: app.id,
|
|
60
|
+
name: app.name,
|
|
61
|
+
artistName: app.artistName,
|
|
62
|
+
url: app.url,
|
|
63
|
+
iconUrl: app.iconUrl,
|
|
64
|
+
formattedPrice: app.formattedPrice || 'Free',
|
|
65
|
+
rating: app.averageUserRating?.toFixed(1) || 'N/A',
|
|
66
|
+
ratingCount: app.userRatingCount || 0,
|
|
67
|
+
primaryGenre: app.primaryGenreName,
|
|
68
|
+
};
|
|
69
|
+
break;
|
|
70
|
+
case 'full':
|
|
71
|
+
result.app = {
|
|
72
|
+
id: app.id,
|
|
73
|
+
name: app.name,
|
|
74
|
+
artistName: app.artistName,
|
|
75
|
+
bundleId: app.bundleId,
|
|
76
|
+
url: app.url,
|
|
77
|
+
iconUrl: app.iconUrl,
|
|
78
|
+
description: app.description,
|
|
79
|
+
version: app.version,
|
|
80
|
+
price: app.price,
|
|
81
|
+
formattedPrice: app.formattedPrice || 'Free',
|
|
82
|
+
primaryGenre: app.primaryGenreName,
|
|
83
|
+
genres: app.genres,
|
|
84
|
+
rating: app.averageUserRating?.toFixed(1) || 'N/A',
|
|
85
|
+
ratingCount: app.userRatingCount || 0,
|
|
86
|
+
releaseDate: app.releaseDate,
|
|
87
|
+
releaseDateFormatted: formatDate(app.releaseDate),
|
|
88
|
+
currentVersionReleaseDate: app.currentVersionReleaseDate,
|
|
89
|
+
currentVersionReleaseDateFormatted: formatDate(app.currentVersionReleaseDate),
|
|
90
|
+
minimumOsVersion: app.minimumOsVersion,
|
|
91
|
+
fileSizeBytes: app.fileSizeBytes,
|
|
92
|
+
contentAdvisoryRating: app.contentAdvisoryRating,
|
|
93
|
+
screenshotCount: app.screenshotUrls?.length || 0,
|
|
94
|
+
ipadScreenshotCount: app.ipadScreenshotUrls?.length || 0,
|
|
95
|
+
};
|
|
96
|
+
break;
|
|
97
|
+
case 'release':
|
|
98
|
+
result.release = {
|
|
99
|
+
currentVersion: app.version,
|
|
100
|
+
originalReleaseDate: app.releaseDate,
|
|
101
|
+
originalReleaseDateFormatted: formatDate(app.releaseDate),
|
|
102
|
+
currentVersionReleaseDate: app.currentVersionReleaseDate,
|
|
103
|
+
currentVersionReleaseDateFormatted: formatDate(app.currentVersionReleaseDate),
|
|
104
|
+
};
|
|
105
|
+
break;
|
|
106
|
+
case 'screenshots':
|
|
107
|
+
result.screenshots = {
|
|
108
|
+
iphone: {
|
|
109
|
+
count: app.screenshotUrls?.length || 0,
|
|
110
|
+
urls: app.screenshotUrls || [],
|
|
111
|
+
},
|
|
112
|
+
ipad: {
|
|
113
|
+
count: app.ipadScreenshotUrls?.length || 0,
|
|
114
|
+
urls: app.ipadScreenshotUrls || [],
|
|
115
|
+
},
|
|
116
|
+
};
|
|
117
|
+
break;
|
|
118
|
+
default:
|
|
119
|
+
result.app = {
|
|
120
|
+
id: app.id,
|
|
121
|
+
name: app.name,
|
|
122
|
+
artistName: app.artistName,
|
|
123
|
+
url: app.url,
|
|
124
|
+
iconUrl: app.iconUrl,
|
|
125
|
+
formattedPrice: app.formattedPrice || 'Free',
|
|
126
|
+
rating: app.averageUserRating?.toFixed(1) || 'N/A',
|
|
127
|
+
ratingCount: app.userRatingCount || 0,
|
|
128
|
+
primaryGenre: app.primaryGenreName,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
return {
|
|
132
|
+
content: [
|
|
133
|
+
{
|
|
134
|
+
type: 'text',
|
|
135
|
+
text: JSON.stringify(result, null, 2),
|
|
136
|
+
},
|
|
137
|
+
],
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
catch (error) {
|
|
141
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
142
|
+
return {
|
|
143
|
+
content: [
|
|
144
|
+
{
|
|
145
|
+
type: 'text',
|
|
146
|
+
text: JSON.stringify({
|
|
147
|
+
success: false,
|
|
148
|
+
error: errorMessage,
|
|
149
|
+
}, null, 2),
|
|
150
|
+
},
|
|
151
|
+
],
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWFwcC1pbmZvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21jcC90b29scy9nZXQtYXBwLWluZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFnQkEsZ0RBc0tDO0FBckxELDZCQUF3QjtBQUN4Qix3RUFBbUU7QUFJbkUsU0FBUyxVQUFVLENBQUMsVUFBbUI7SUFDbkMsSUFBSSxDQUFDLFVBQVU7UUFBRSxPQUFPLElBQUksQ0FBQztJQUM3QixNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNsQyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUU7UUFDcEMsSUFBSSxFQUFFLFNBQVM7UUFDZixLQUFLLEVBQUUsTUFBTTtRQUNiLEdBQUcsRUFBRSxTQUFTO0tBQ2pCLENBQUMsQ0FBQztBQUNQLENBQUM7QUFFRCxTQUFnQixrQkFBa0IsQ0FBQyxNQUFpQjtJQUNoRCxNQUFNLENBQUMsWUFBWSxDQUNmLGNBQWMsRUFDZDtRQUNJLFdBQVcsRUFDUCx1SEFBdUg7UUFDM0gsV0FBVyxFQUFFO1lBQ1QsS0FBSyxFQUFFLE9BQUM7aUJBQ0gsTUFBTSxFQUFFO2lCQUNSLFFBQVEsQ0FBQyxpRUFBaUUsQ0FBQztZQUNoRixPQUFPLEVBQUUsT0FBQztpQkFDTCxNQUFNLEVBQUU7aUJBQ1IsUUFBUSxFQUFFO2lCQUNWLFFBQVEsQ0FBQyxtRUFBbUUsQ0FBQztZQUNsRixPQUFPLEVBQUUsT0FBQztpQkFDTCxNQUFNLEVBQUU7aUJBQ1IsUUFBUSxFQUFFO2lCQUNWLFFBQVEsQ0FDTCw0TUFBNE0sQ0FDL007U0FDUjtLQUNKLEVBQ0QsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO1FBQ2xDLE1BQU0sV0FBVyxHQUFHLE9BQU8sSUFBSSxJQUFJLENBQUM7UUFDcEMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxPQUFPLElBQUksT0FB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-app-release-info.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/get-app-release-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIpE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,QAyF1D"}
|