@analyticscli/growth-engineer 0.1.0-preview.9 → 0.1.1-preview.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 (40) hide show
  1. package/dist/config.d.ts +925 -45
  2. package/dist/config.js +58 -6
  3. package/dist/config.js.map +1 -1
  4. package/dist/index.js +134 -21
  5. package/dist/index.js.map +1 -1
  6. package/dist/runtime/export-asc-summary.mjs +295 -4
  7. package/dist/runtime/export-asc-summary.mjs.map +1 -1
  8. package/dist/runtime/export-coolify-summary.d.mts +2 -0
  9. package/dist/runtime/export-coolify-summary.mjs +230 -0
  10. package/dist/runtime/export-coolify-summary.mjs.map +1 -0
  11. package/dist/runtime/export-paddle-summary.d.mts +2 -0
  12. package/dist/runtime/export-paddle-summary.mjs +170 -0
  13. package/dist/runtime/export-paddle-summary.mjs.map +1 -0
  14. package/dist/runtime/export-sentry-summary.mjs +265 -38
  15. package/dist/runtime/export-sentry-summary.mjs.map +1 -1
  16. package/dist/runtime/export-seo-summary.d.mts +2 -0
  17. package/dist/runtime/export-seo-summary.mjs +503 -0
  18. package/dist/runtime/export-seo-summary.mjs.map +1 -0
  19. package/dist/runtime/openclaw-exporters-lib.d.mts +51 -0
  20. package/dist/runtime/openclaw-exporters-lib.mjs +769 -63
  21. package/dist/runtime/openclaw-exporters-lib.mjs.map +1 -1
  22. package/dist/runtime/openclaw-growth-engineer.mjs +163 -4
  23. package/dist/runtime/openclaw-growth-engineer.mjs.map +1 -1
  24. package/dist/runtime/openclaw-growth-env.mjs +5 -0
  25. package/dist/runtime/openclaw-growth-env.mjs.map +1 -1
  26. package/dist/runtime/openclaw-growth-preflight.mjs +446 -30
  27. package/dist/runtime/openclaw-growth-preflight.mjs.map +1 -1
  28. package/dist/runtime/openclaw-growth-runner.mjs +831 -146
  29. package/dist/runtime/openclaw-growth-runner.mjs.map +1 -1
  30. package/dist/runtime/openclaw-growth-shared.d.mts +158 -3
  31. package/dist/runtime/openclaw-growth-shared.mjs +574 -8
  32. package/dist/runtime/openclaw-growth-shared.mjs.map +1 -1
  33. package/dist/runtime/openclaw-growth-start.mjs +802 -39
  34. package/dist/runtime/openclaw-growth-start.mjs.map +1 -1
  35. package/dist/runtime/openclaw-growth-status.mjs +85 -31
  36. package/dist/runtime/openclaw-growth-status.mjs.map +1 -1
  37. package/dist/runtime/openclaw-growth-wizard.mjs +1952 -217
  38. package/dist/runtime/openclaw-growth-wizard.mjs.map +1 -1
  39. package/package.json +3 -1
  40. package/templates/config.example.json +128 -65
@@ -0,0 +1,503 @@
1
+ #!/usr/bin/env node
2
+ import { createSign } from 'node:crypto';
3
+ import { readFile } from 'node:fs/promises';
4
+ import process from 'node:process';
5
+ import { buildSeoSummary, writeJsonOutput } from './openclaw-exporters-lib.mjs';
6
+ import { loadOpenClawGrowthSecrets } from './openclaw-growth-env.mjs';
7
+ function printHelpAndExit(exitCode, reason = null) {
8
+ if (reason) {
9
+ process.stderr.write(`${reason}\n\n`);
10
+ }
11
+ process.stdout.write(`
12
+ Export SEO Summary
13
+
14
+ Builds an OpenClaw-compatible SEO summary JSON from Google Search Console, keyword CSVs, and optional DataForSEO.
15
+
16
+ Usage:
17
+ node scripts/export-seo-summary.mjs [options]
18
+
19
+ Options:
20
+ --site <url> Optional GSC site URL/property (default: GSC_SITE_URL; omitted = all verified sites)
21
+ --from <date> Start date YYYY-MM-DD (default: 90 days before --to)
22
+ --to <date> End date YYYY-MM-DD (default: yesterday UTC)
23
+ --last <duration> Relative GSC window like 90d (used when --from is omitted)
24
+ --dimensions <a,b> GSC dimensions (default: query,page)
25
+ --row-limit <n> GSC row limit (default: 250)
26
+ --max-sites <n> Max GSC sites to query when --site is omitted (default: 20)
27
+ --country <code> Optional GSC country dimension filter
28
+ --device <device> Optional GSC device dimension filter
29
+ --gsc-csv <file> Import Google Search Console CSV (repeatable)
30
+ --csv <file> Import keyword metrics CSV from Ahrefs/Semrush/DataForSEO/etc. (repeatable)
31
+ --seed <keyword> Seed keyword for optional DataForSEO (repeatable)
32
+ --dataforseo Fetch live DataForSEO keyword data
33
+ --confirm-paid Required for live DataForSEO calls
34
+ --max-paid-requests <n> DataForSEO request cap (default: 1)
35
+ --location-code <n> DataForSEO location code (default: 2840)
36
+ --language-code <code> DataForSEO language code (default: en)
37
+ --out <file> Write JSON to file instead of stdout
38
+ --max-signals <n> Maximum signals to emit (default: 8)
39
+ --help, -h Show help
40
+
41
+ Environment:
42
+ GSC_SITE_URL
43
+ GOOGLE_SEARCH_CONSOLE_ACCESS_TOKEN or GSC_ACCESS_TOKEN
44
+ GOOGLE_APPLICATION_CREDENTIALS or GSC_SERVICE_ACCOUNT_JSON
45
+ DATAFORSEO_LOGIN and DATAFORSEO_PASSWORD
46
+ `);
47
+ process.exit(exitCode);
48
+ }
49
+ function formatDate(date) {
50
+ return date.toISOString().slice(0, 10);
51
+ }
52
+ function addDays(date, days) {
53
+ const copy = new Date(date);
54
+ copy.setUTCDate(copy.getUTCDate() + days);
55
+ return copy;
56
+ }
57
+ function parseDurationDays(value, fallback) {
58
+ const match = String(value || '').trim().match(/^(\d+)\s*d$/i);
59
+ if (!match)
60
+ return fallback;
61
+ const parsed = Number.parseInt(match[1], 10);
62
+ return Number.isFinite(parsed) && parsed > 0 ? parsed : fallback;
63
+ }
64
+ function parseArgs(argv) {
65
+ const defaultTo = formatDate(addDays(new Date(), -1));
66
+ const args = {
67
+ site: String(process.env.GSC_SITE_URL || '').trim(),
68
+ from: '',
69
+ to: defaultTo,
70
+ last: '90d',
71
+ dimensions: ['query', 'page'],
72
+ rowLimit: 250,
73
+ maxSites: 20,
74
+ country: '',
75
+ device: '',
76
+ gscCsvFiles: [],
77
+ csvFiles: [],
78
+ seeds: [],
79
+ dataforseo: false,
80
+ confirmPaid: false,
81
+ maxPaidRequests: 1,
82
+ locationCode: 2840,
83
+ languageCode: 'en',
84
+ out: '',
85
+ maxSignals: 8,
86
+ };
87
+ for (let index = 0; index < argv.length; index += 1) {
88
+ const token = argv[index];
89
+ const next = argv[index + 1];
90
+ if (token === '--') {
91
+ continue;
92
+ }
93
+ else if (token === '--site') {
94
+ args.site = String(next || '').trim();
95
+ index += 1;
96
+ }
97
+ else if (token === '--from') {
98
+ args.from = String(next || '').trim();
99
+ index += 1;
100
+ }
101
+ else if (token === '--to') {
102
+ args.to = String(next || '').trim();
103
+ index += 1;
104
+ }
105
+ else if (token === '--last') {
106
+ args.last = String(next || '').trim() || args.last;
107
+ index += 1;
108
+ }
109
+ else if (token === '--dimensions') {
110
+ args.dimensions = String(next || '')
111
+ .split(',')
112
+ .map((value) => value.trim())
113
+ .filter(Boolean);
114
+ index += 1;
115
+ }
116
+ else if (token === '--row-limit') {
117
+ args.rowLimit = positiveInt(next, '--row-limit');
118
+ index += 1;
119
+ }
120
+ else if (token === '--max-sites') {
121
+ args.maxSites = positiveInt(next, '--max-sites');
122
+ index += 1;
123
+ }
124
+ else if (token === '--country') {
125
+ args.country = String(next || '').trim();
126
+ index += 1;
127
+ }
128
+ else if (token === '--device') {
129
+ args.device = String(next || '').trim();
130
+ index += 1;
131
+ }
132
+ else if (token === '--gsc-csv') {
133
+ args.gscCsvFiles.push(String(next || '').trim());
134
+ index += 1;
135
+ }
136
+ else if (token === '--csv') {
137
+ args.csvFiles.push(String(next || '').trim());
138
+ index += 1;
139
+ }
140
+ else if (token === '--seed') {
141
+ args.seeds.push(String(next || '').trim());
142
+ index += 1;
143
+ }
144
+ else if (token === '--dataforseo') {
145
+ args.dataforseo = true;
146
+ }
147
+ else if (token === '--confirm-paid') {
148
+ args.confirmPaid = true;
149
+ }
150
+ else if (token === '--max-paid-requests') {
151
+ args.maxPaidRequests = positiveInt(next, '--max-paid-requests');
152
+ index += 1;
153
+ }
154
+ else if (token === '--location-code') {
155
+ args.locationCode = positiveInt(next, '--location-code');
156
+ index += 1;
157
+ }
158
+ else if (token === '--language-code') {
159
+ args.languageCode = String(next || 'en').trim() || 'en';
160
+ index += 1;
161
+ }
162
+ else if (token === '--out') {
163
+ args.out = String(next || '').trim();
164
+ index += 1;
165
+ }
166
+ else if (token === '--max-signals') {
167
+ args.maxSignals = positiveInt(next, '--max-signals');
168
+ index += 1;
169
+ }
170
+ else if (token === '--help' || token === '-h') {
171
+ printHelpAndExit(0);
172
+ }
173
+ else {
174
+ printHelpAndExit(1, `Unknown argument: ${token}`);
175
+ }
176
+ }
177
+ if (!args.from) {
178
+ args.from = formatDate(addDays(new Date(`${args.to}T00:00:00Z`), -parseDurationDays(args.last, 90)));
179
+ }
180
+ return args;
181
+ }
182
+ function positiveInt(value, label) {
183
+ const parsed = Number.parseInt(String(value || ''), 10);
184
+ if (!Number.isFinite(parsed) || parsed <= 0) {
185
+ printHelpAndExit(1, `Invalid value for ${label}: ${String(value || '')}`);
186
+ }
187
+ return parsed;
188
+ }
189
+ function parseCsv(raw) {
190
+ const rows = [];
191
+ let current = [];
192
+ let field = '';
193
+ let quoted = false;
194
+ for (let index = 0; index < raw.length; index += 1) {
195
+ const char = raw[index];
196
+ if (char === '"') {
197
+ if (quoted && raw[index + 1] === '"') {
198
+ field += '"';
199
+ index += 1;
200
+ }
201
+ else {
202
+ quoted = !quoted;
203
+ }
204
+ }
205
+ else if (char === ',' && !quoted) {
206
+ current.push(field);
207
+ field = '';
208
+ }
209
+ else if (char === '\n' && !quoted) {
210
+ current.push(field);
211
+ rows.push(current);
212
+ current = [];
213
+ field = '';
214
+ }
215
+ else if (char !== '\r') {
216
+ field += char;
217
+ }
218
+ }
219
+ if (field || current.length) {
220
+ current.push(field);
221
+ rows.push(current);
222
+ }
223
+ return rows;
224
+ }
225
+ function normalizeHeader(value) {
226
+ return String(value || '').toLowerCase().replace(/[^a-z0-9]+/g, '_').replace(/^_+|_+$/g, '');
227
+ }
228
+ function parseNumber(value) {
229
+ if (value === undefined || value === null || value === '')
230
+ return undefined;
231
+ const parsed = Number(String(value).trim().replace(/[$,%]/g, '').replace(/,/g, ''));
232
+ return Number.isFinite(parsed) ? parsed : undefined;
233
+ }
234
+ async function readKeywordCsv(filePath, source) {
235
+ const raw = await readFile(filePath, 'utf8');
236
+ const rows = parseCsv(raw).filter((row) => row.some((cell) => String(cell).trim()));
237
+ if (rows.length < 2)
238
+ return [];
239
+ const headers = rows[0].map(normalizeHeader);
240
+ const indexOf = (...names) => names.map((name) => headers.indexOf(name)).find((index) => index >= 0) ?? -1;
241
+ const keywordIndex = indexOf('keyword', 'query', 'search_query', 'term');
242
+ if (keywordIndex < 0) {
243
+ throw new Error(`No keyword/query column found in ${filePath}`);
244
+ }
245
+ const pageIndex = indexOf('page', 'url', 'landing_page');
246
+ const clicksIndex = indexOf('clicks');
247
+ const impressionsIndex = indexOf('impressions');
248
+ const ctrIndex = indexOf('ctr');
249
+ const positionIndex = indexOf('position', 'average_position', 'avg_position');
250
+ const volumeIndex = indexOf('volume', 'search_volume', 'avg_monthly_searches', 'monthly_volume');
251
+ const difficultyIndex = indexOf('kd', 'difficulty', 'keyword_difficulty', 'competition_index');
252
+ const cpcIndex = indexOf('cpc', 'cost_per_click');
253
+ return rows.slice(1).map((row) => ({
254
+ query: String(row[keywordIndex] || '').trim().toLowerCase(),
255
+ page: pageIndex >= 0 ? String(row[pageIndex] || '').trim() : '',
256
+ clicks: clicksIndex >= 0 ? parseNumber(row[clicksIndex]) : undefined,
257
+ impressions: impressionsIndex >= 0 ? parseNumber(row[impressionsIndex]) : undefined,
258
+ ctr: ctrIndex >= 0 ? parseNumber(row[ctrIndex]) : undefined,
259
+ position: positionIndex >= 0 ? parseNumber(row[positionIndex]) : undefined,
260
+ volume: volumeIndex >= 0 ? parseNumber(row[volumeIndex]) : undefined,
261
+ difficulty: difficultyIndex >= 0 ? parseNumber(row[difficultyIndex]) : undefined,
262
+ cpc: cpcIndex >= 0 ? parseNumber(row[cpcIndex]) : undefined,
263
+ source,
264
+ })).filter((row) => row.query);
265
+ }
266
+ function base64url(value) {
267
+ return Buffer.from(value).toString('base64').replace(/=/g, '').replace(/\+/g, '-').replace(/\//g, '_');
268
+ }
269
+ async function readServiceAccount() {
270
+ const raw = process.env.GSC_SERVICE_ACCOUNT_JSON || process.env.GOOGLE_SERVICE_ACCOUNT_JSON;
271
+ if (raw?.trim())
272
+ return JSON.parse(raw);
273
+ const filePath = process.env.GOOGLE_APPLICATION_CREDENTIALS || process.env.GSC_SERVICE_ACCOUNT_FILE;
274
+ if (!filePath)
275
+ return null;
276
+ return JSON.parse(await readFile(filePath, 'utf8'));
277
+ }
278
+ async function getGscAccessToken() {
279
+ const direct = String(process.env.GOOGLE_SEARCH_CONSOLE_ACCESS_TOKEN || process.env.GSC_ACCESS_TOKEN || '').trim();
280
+ if (direct)
281
+ return direct;
282
+ const account = await readServiceAccount();
283
+ if (!account)
284
+ return '';
285
+ const now = Math.floor(Date.now() / 1000);
286
+ const header = { alg: 'RS256', typ: 'JWT' };
287
+ const claim = {
288
+ iss: account.client_email,
289
+ scope: 'https://www.googleapis.com/auth/webmasters.readonly',
290
+ aud: account.token_uri || 'https://oauth2.googleapis.com/token',
291
+ exp: now + 3600,
292
+ iat: now,
293
+ };
294
+ const unsigned = `${base64url(JSON.stringify(header))}.${base64url(JSON.stringify(claim))}`;
295
+ const signer = createSign('RSA-SHA256');
296
+ signer.update(unsigned);
297
+ signer.end();
298
+ const assertion = `${unsigned}.${signer.sign(account.private_key, 'base64').replace(/=/g, '').replace(/\+/g, '-').replace(/\//g, '_')}`;
299
+ const response = await fetch(account.token_uri || 'https://oauth2.googleapis.com/token', {
300
+ method: 'POST',
301
+ headers: { 'content-type': 'application/x-www-form-urlencoded' },
302
+ body: new URLSearchParams({
303
+ grant_type: 'urn:ietf:params:oauth:grant-type:jwt-bearer',
304
+ assertion,
305
+ }),
306
+ });
307
+ const body = await response.json().catch(() => null);
308
+ if (!response.ok) {
309
+ throw new Error(`GSC service account token exchange failed (${response.status}): ${JSON.stringify(body)}`);
310
+ }
311
+ return String(body?.access_token || '').trim();
312
+ }
313
+ function buildDimensionFilterGroups(args) {
314
+ const filters = [];
315
+ if (args.country) {
316
+ filters.push({ dimension: 'country', operator: 'equals', expression: args.country.toLowerCase() });
317
+ }
318
+ if (args.device) {
319
+ filters.push({ dimension: 'device', operator: 'equals', expression: args.device.toUpperCase() });
320
+ }
321
+ return filters.length > 0 ? [{ filters }] : undefined;
322
+ }
323
+ async function gscFetchJson(url, token, options = {}) {
324
+ const response = await fetch(url, {
325
+ ...options,
326
+ headers: {
327
+ Accept: 'application/json',
328
+ Authorization: `Bearer ${token}`,
329
+ ...(options.headers || {}),
330
+ },
331
+ });
332
+ const payload = await response.json().catch(() => null);
333
+ if (!response.ok) {
334
+ throw new Error(`HTTP ${response.status}: ${JSON.stringify(payload)}`);
335
+ }
336
+ return payload || {};
337
+ }
338
+ async function listGscSites(token, args, warnings) {
339
+ if (args.site)
340
+ return [args.site];
341
+ const payload = await gscFetchJson('https://www.googleapis.com/webmasters/v3/sites', token);
342
+ const sites = (Array.isArray(payload?.siteEntry) ? payload.siteEntry : [])
343
+ .filter((entry) => {
344
+ const siteUrl = String(entry?.siteUrl || '').trim();
345
+ const permissionLevel = String(entry?.permissionLevel || '').trim();
346
+ return siteUrl && permissionLevel !== 'siteUnverifiedUser';
347
+ })
348
+ .map((entry) => String(entry.siteUrl).trim())
349
+ .slice(0, Math.max(1, Number(args.maxSites) || 20));
350
+ if (sites.length === 0) {
351
+ warnings.push('GSC account returned no verified sites; skipped Search Analytics API fetch.');
352
+ }
353
+ if (Array.isArray(payload?.siteEntry) && payload.siteEntry.length > sites.length) {
354
+ warnings.push(`GSC site list was capped at ${sites.length} verified sites. Use --site for a specific property or raise --max-sites intentionally.`);
355
+ }
356
+ return sites;
357
+ }
358
+ async function fetchGscRows(args, warnings) {
359
+ const token = await getGscAccessToken();
360
+ if (!token) {
361
+ warnings.push('GSC access token/service account missing; skipped Google Search Console API fetch.');
362
+ return [];
363
+ }
364
+ const sites = await listGscSites(token, args, warnings);
365
+ const rows = [];
366
+ const body = {
367
+ startDate: args.from,
368
+ endDate: args.to,
369
+ dimensions: args.dimensions,
370
+ rowLimit: args.rowLimit,
371
+ dimensionFilterGroups: buildDimensionFilterGroups(args),
372
+ };
373
+ for (const siteUrl of sites) {
374
+ try {
375
+ const payload = await gscFetchJson(`https://www.googleapis.com/webmasters/v3/sites/${encodeURIComponent(siteUrl)}/searchAnalytics/query`, token, {
376
+ method: 'POST',
377
+ headers: {
378
+ 'content-type': 'application/json',
379
+ },
380
+ body: JSON.stringify(body),
381
+ });
382
+ rows.push(...(Array.isArray(payload?.rows) ? payload.rows : []).map((row) => ({
383
+ ...row,
384
+ siteUrl,
385
+ source: args.site ? 'gsc-api' : `gsc-api:${siteUrl}`,
386
+ })));
387
+ }
388
+ catch (error) {
389
+ warnings.push(`GSC Search Analytics query failed for ${siteUrl}: ${error instanceof Error ? error.message : String(error)}`);
390
+ }
391
+ }
392
+ return rows;
393
+ }
394
+ async function dataForSeoRequest(endpoint, tasks) {
395
+ const login = process.env.DATAFORSEO_LOGIN;
396
+ const password = process.env.DATAFORSEO_PASSWORD;
397
+ if (!login || !password) {
398
+ throw new Error('DATAFORSEO_LOGIN and DATAFORSEO_PASSWORD are required for --dataforseo.');
399
+ }
400
+ const response = await fetch(`https://api.dataforseo.com/v3/${endpoint}`, {
401
+ method: 'POST',
402
+ headers: {
403
+ authorization: `Basic ${Buffer.from(`${login}:${password}`).toString('base64')}`,
404
+ 'content-type': 'application/json',
405
+ },
406
+ body: JSON.stringify(tasks),
407
+ });
408
+ const body = await response.json().catch(() => null);
409
+ if (!response.ok) {
410
+ throw new Error(`DataForSEO request failed (${response.status}): ${JSON.stringify(body)}`);
411
+ }
412
+ return body;
413
+ }
414
+ function normalizeDataForSeoItems(payload, source) {
415
+ const rows = [];
416
+ for (const task of payload?.tasks || []) {
417
+ for (const item of task?.result || []) {
418
+ const query = String(item?.keyword || '').trim().toLowerCase();
419
+ if (!query)
420
+ continue;
421
+ rows.push({
422
+ query,
423
+ volume: parseNumber(item.search_volume),
424
+ cpc: parseNumber(item.cpc),
425
+ difficulty: parseNumber(item.competition_index ?? item.keyword_difficulty),
426
+ source,
427
+ });
428
+ }
429
+ }
430
+ return rows;
431
+ }
432
+ async function fetchDataForSeoRows(args, warnings) {
433
+ if (!args.dataforseo)
434
+ return [];
435
+ if (!args.confirmPaid) {
436
+ warnings.push(`Skipped DataForSEO because --confirm-paid is missing (max-paid-requests would be ${args.maxPaidRequests}).`);
437
+ return [];
438
+ }
439
+ const seeds = args.seeds.filter(Boolean).slice(0, Math.max(1, args.maxPaidRequests));
440
+ if (seeds.length === 0) {
441
+ warnings.push('Skipped DataForSEO because no --seed values were provided.');
442
+ return [];
443
+ }
444
+ const tasks = seeds.map((seed) => ({
445
+ keywords: [seed],
446
+ location_code: args.locationCode,
447
+ language_code: args.languageCode,
448
+ sort_by: 'search_volume',
449
+ include_adult_keywords: false,
450
+ }));
451
+ const payload = await dataForSeoRequest('keywords_data/google_ads/keywords_for_keywords/live', tasks);
452
+ return normalizeDataForSeoItems(payload, 'dataforseo-ideas');
453
+ }
454
+ async function main() {
455
+ await loadOpenClawGrowthSecrets();
456
+ const args = parseArgs(process.argv.slice(2));
457
+ const warnings = [];
458
+ const rows = [];
459
+ const keywordRows = [];
460
+ try {
461
+ rows.push(...(await fetchGscRows(args, warnings)));
462
+ }
463
+ catch (error) {
464
+ warnings.push(error instanceof Error ? error.message : String(error));
465
+ }
466
+ for (const filePath of args.gscCsvFiles.filter(Boolean)) {
467
+ try {
468
+ rows.push(...(await readKeywordCsv(filePath, 'gsc-csv')));
469
+ }
470
+ catch (error) {
471
+ warnings.push(`${filePath}: ${error instanceof Error ? error.message : String(error)}`);
472
+ }
473
+ }
474
+ for (const filePath of args.csvFiles.filter(Boolean)) {
475
+ try {
476
+ keywordRows.push(...(await readKeywordCsv(filePath, 'keyword-csv')));
477
+ }
478
+ catch (error) {
479
+ warnings.push(`${filePath}: ${error instanceof Error ? error.message : String(error)}`);
480
+ }
481
+ }
482
+ try {
483
+ keywordRows.push(...(await fetchDataForSeoRows(args, warnings)));
484
+ }
485
+ catch (error) {
486
+ warnings.push(error instanceof Error ? error.message : String(error));
487
+ }
488
+ const summary = buildSeoSummary({
489
+ siteUrl: args.site || 'all_verified_gsc_sites',
490
+ window: `${args.from}_${args.to}`,
491
+ rows,
492
+ keywordRows,
493
+ paidProvider: args.dataforseo && args.confirmPaid ? 'dataforseo' : null,
494
+ warnings,
495
+ maxSignals: args.maxSignals,
496
+ });
497
+ await writeJsonOutput(args.out, summary);
498
+ }
499
+ main().catch((error) => {
500
+ process.stderr.write(`${error instanceof Error ? error.message : String(error)}\n`);
501
+ process.exitCode = 1;
502
+ });
503
+ //# sourceMappingURL=export-seo-summary.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-seo-summary.mjs","sourceRoot":"","sources":["../../src/runtime/export-seo-summary.mts"],"names":[],"mappings":";AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,SAAS,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAC/C,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,MAAM,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCtB,CAAC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,UAAU,CAAC,IAAI;IACtB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,OAAO,CAAC,IAAI,EAAE,IAAI;IACzB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,CAAC;IAC1C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAK,EAAE,QAAQ;IACxC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC/D,IAAI,CAAC,KAAK;QAAE,OAAO,QAAQ,CAAC;IAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7C,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;AACnE,CAAC;AAED,SAAS,SAAS,CAAC,IAAI;IACrB,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG;QACX,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QACnD,IAAI,EAAE,EAAE;QACR,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,KAAK;QACX,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;QAC7B,QAAQ,EAAE,GAAG;QACb,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,EAAE;QACV,WAAW,EAAE,EAAE;QACf,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,EAAE;QACT,UAAU,EAAE,KAAK;QACjB,WAAW,EAAE,KAAK;QAClB,eAAe,EAAE,CAAC;QAClB,YAAY,EAAE,IAAI;QAClB,YAAY,EAAE,IAAI;QAClB,GAAG,EAAE,EAAE;QACP,UAAU,EAAE,CAAC;KACd,CAAC;IAEF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC7B,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,SAAS;QACX,CAAC;aAAM,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACtC,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACtC,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACpC,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC;YACnD,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;YACpC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;iBACjC,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;iBAC5B,MAAM,CAAC,OAAO,CAAC,CAAC;YACnB,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;YACnC,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;YACjD,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;YACnC,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;YACjD,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;YACjC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACzC,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACxC,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;YACjC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACjD,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9C,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3C,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;YACpC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;aAAM,IAAI,KAAK,KAAK,gBAAgB,EAAE,CAAC;YACtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;aAAM,IAAI,KAAK,KAAK,qBAAqB,EAAE,CAAC;YAC3C,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;YAChE,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,KAAK,KAAK,iBAAiB,EAAE,CAAC;YACvC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;YACzD,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,KAAK,KAAK,iBAAiB,EAAE,CAAC;YACvC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;YACxD,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACrC,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,KAAK,KAAK,eAAe,EAAE,CAAC;YACrC,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;YACrD,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAChD,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,gBAAgB,CAAC,CAAC,EAAE,qBAAqB,KAAK,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACvG,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,WAAW,CAAC,KAAK,EAAE,KAAK;IAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACxD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QAC5C,gBAAgB,CAAC,CAAC,EAAE,qBAAqB,KAAK,KAAK,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,QAAQ,CAAC,GAAG;IACnB,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,IAAI,MAAM,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACrC,KAAK,IAAI,GAAG,CAAC;gBACb,KAAK,IAAI,CAAC,CAAC;YACb,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,CAAC,MAAM,CAAC;YACnB,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,KAAK,GAAG,EAAE,CAAC;QACb,CAAC;aAAM,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnB,OAAO,GAAG,EAAE,CAAC;YACb,KAAK,GAAG,EAAE,CAAC;QACb,CAAC;aAAM,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACzB,KAAK,IAAI,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IACD,IAAI,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,eAAe,CAAC,KAAK;IAC5B,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC/F,CAAC;AAED,SAAS,WAAW,CAAC,KAAK;IACxB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IAC5E,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IACpF,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,QAAQ,EAAE,MAAM;IAC5C,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACpF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3G,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;IACzE,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,oCAAoC,QAAQ,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,EAAE,kBAAkB,EAAE,cAAc,CAAC,CAAC;IAC9E,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,eAAe,EAAE,sBAAsB,EAAE,gBAAgB,CAAC,CAAC;IACjG,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,CAAC,CAAC;IAC/F,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACjC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE;QAC3D,IAAI,EAAE,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;QAC/D,MAAM,EAAE,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QACpE,WAAW,EAAE,gBAAgB,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QACnF,GAAG,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QAC3D,QAAQ,EAAE,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QAC1E,MAAM,EAAE,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QACpE,UAAU,EAAE,eAAe,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QAChF,GAAG,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QAC3D,MAAM;KACP,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,SAAS,CAAC,KAAK;IACtB,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACzG,CAAC;AAED,KAAK,UAAU,kBAAkB;IAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;IAC5F,IAAI,GAAG,EAAE,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;IACpG,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,KAAK,UAAU,iBAAiB;IAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACnH,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,OAAO,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAC3C,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;IAC5C,MAAM,KAAK,GAAG;QACZ,GAAG,EAAE,OAAO,CAAC,YAAY;QACzB,KAAK,EAAE,qDAAqD;QAC5D,GAAG,EAAE,OAAO,CAAC,SAAS,IAAI,qCAAqC;QAC/D,GAAG,EAAE,GAAG,GAAG,IAAI;QACf,GAAG,EAAE,GAAG;KACT,CAAC;IACF,MAAM,QAAQ,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;IAC5F,MAAM,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACxC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxB,MAAM,CAAC,GAAG,EAAE,CAAC;IACb,MAAM,SAAS,GAAG,GAAG,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;IACxI,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,SAAS,IAAI,qCAAqC,EAAE;QACvF,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,mCAAmC,EAAE;QAChE,IAAI,EAAE,IAAI,eAAe,CAAC;YACxB,UAAU,EAAE,6CAA6C;YACzD,SAAS;SACV,CAAC;KACH,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,8CAA8C,QAAQ,CAAC,MAAM,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7G,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACjD,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAI;IACtC,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACrG,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACnG,CAAC;IACD,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,UAAe,EAAE;IACvD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,GAAG,OAAO;QACV,OAAO,EAAE;YACP,MAAM,EAAE,kBAAkB;YAC1B,aAAa,EAAE,UAAU,KAAK,EAAE;YAChC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;SAC3B;KACF,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACxD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,OAAO,IAAI,EAAE,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ;IAC/C,IAAI,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,gDAAgD,EAAE,KAAK,CAAC,CAAC;IAC5F,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;SACvE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAChB,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,EAAE,eAAe,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACpE,OAAO,OAAO,IAAI,eAAe,KAAK,oBAAoB,CAAC;IAC7D,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;SAC5C,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACtD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;IAC/F,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACjF,QAAQ,CAAC,IAAI,CAAC,+BAA+B,KAAK,CAAC,MAAM,yFAAyF,CAAC,CAAC;IACtJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,IAAI,EAAE,QAAQ;IACxC,MAAM,KAAK,GAAG,MAAM,iBAAiB,EAAE,CAAC;IACxC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,QAAQ,CAAC,IAAI,CAAC,oFAAoF,CAAC,CAAC;QACpG,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,MAAM,IAAI,GAAG;QACX,SAAS,EAAE,IAAI,CAAC,IAAI;QACpB,OAAO,EAAE,IAAI,CAAC,EAAE;QAChB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,qBAAqB,EAAE,0BAA0B,CAAC,IAAI,CAAC;KACxD,CAAC;IACF,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,YAAY,CAChC,kDAAkD,kBAAkB,CAAC,OAAO,CAAC,wBAAwB,EACrG,KAAK,EACL;gBACE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aAC3B,CACF,CAAC;YACF,IAAI,CAAC,IAAI,CACP,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAClE,GAAG,GAAG;gBACN,OAAO;gBACP,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,OAAO,EAAE;aACrD,CAAC,CAAC,CACJ,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC,yCAAyC,OAAO,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/H,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,QAAQ,EAAE,KAAK;IAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC3C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IACjD,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;IAC7F,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,iCAAiC,QAAQ,EAAE,EAAE;QACxE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,SAAS,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAChF,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;KAC5B,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,CAAC,MAAM,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAO,EAAE,MAAM;IAC/C,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;QACxC,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC/D,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,IAAI,CAAC,IAAI,CAAC;gBACR,KAAK;gBACL,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC;gBACvC,GAAG,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC1B,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,kBAAkB,CAAC;gBAC1E,MAAM;aACP,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,IAAI,EAAE,QAAQ;IAC/C,IAAI,CAAC,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAChC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,oFAAoF,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;QAC5H,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IACrF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;QAC5E,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACjC,QAAQ,EAAE,CAAC,IAAI,CAAC;QAChB,aAAa,EAAE,IAAI,CAAC,YAAY;QAChC,aAAa,EAAE,IAAI,CAAC,YAAY;QAChC,OAAO,EAAE,eAAe;QACxB,sBAAsB,EAAE,KAAK;KAC9B,CAAC,CAAC,CAAC;IACJ,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,qDAAqD,EAAE,KAAK,CAAC,CAAC;IACtG,OAAO,wBAAwB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;AAC/D,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,yBAAyB,EAAE,CAAC;IAClC,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,MAAM,WAAW,GAAG,EAAE,CAAC;IAEvB,IAAI,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,QAAQ,CAAC,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACxE,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACxD,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACrD,IAAI,CAAC;YACH,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;QACvE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IACD,IAAI,CAAC;QACH,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,QAAQ,CAAC,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,OAAO,GAAG,eAAe,CAAC;QAC9B,OAAO,EAAE,IAAI,CAAC,IAAI,IAAI,wBAAwB;QAC9C,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,EAAE;QACjC,IAAI;QACJ,WAAW;QACX,YAAY,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI;QACvE,QAAQ;QACR,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC,CAAC;IACH,MAAM,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC"}
@@ -25,6 +25,8 @@ export declare function buildAscSummary(input: any): {
25
25
  analyticsWindow: any;
26
26
  analyticsAvailability: string;
27
27
  analyticsWarnings: any;
28
+ batchReports: any;
29
+ productionVersions: any[];
28
30
  analytics: {
29
31
  units: {
30
32
  total: number;
@@ -71,6 +73,36 @@ export declare function buildRevenueCatSummary(input: any): {
71
73
  warnings: any;
72
74
  };
73
75
  };
76
+ export declare function buildPaddleSummary(input: any): {
77
+ project: string;
78
+ window: string;
79
+ metrics: any;
80
+ signals: any[];
81
+ meta: {
82
+ generatedAt: string;
83
+ source: string;
84
+ environment: any;
85
+ currencyCode: string;
86
+ updatedAt: string;
87
+ warnings: any;
88
+ };
89
+ };
90
+ export declare function buildSeoSummary(input: any): {
91
+ project: string;
92
+ window: any;
93
+ rows: any;
94
+ keywordRows: any;
95
+ signals: any[];
96
+ meta: {
97
+ generatedAt: string;
98
+ source: string;
99
+ siteUrl: any;
100
+ gscRows: any;
101
+ keywordRows: any;
102
+ paidProvider: any;
103
+ warnings: any;
104
+ };
105
+ };
74
106
  export declare function buildSentrySummary(input: any): {
75
107
  project: string;
76
108
  window: string;
@@ -98,4 +130,23 @@ export declare function buildSentrySummary(input: any): {
98
130
  issuesReturned: any;
99
131
  };
100
132
  };
133
+ export declare function buildCoolifySummary(input: any): {
134
+ project: string;
135
+ window: string;
136
+ applications: any;
137
+ deployments: any;
138
+ resources: any;
139
+ servers: any;
140
+ signals: any[];
141
+ meta: {
142
+ generatedAt: string;
143
+ source: string;
144
+ baseUrl: string;
145
+ applicationsReturned: any;
146
+ deploymentsReturned: any;
147
+ resourcesReturned: any;
148
+ serversReturned: any;
149
+ warnings: any;
150
+ };
151
+ };
101
152
  export declare function writeJsonOutput(outPath: any, payload: any): Promise<string>;