@analyticscli/growth-engineer 0.1.1-preview.3 → 0.1.1-preview.30

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.
@@ -4,8 +4,12 @@ import fs from 'node:fs/promises';
4
4
  import os from 'node:os';
5
5
  import path from 'node:path';
6
6
  import process from 'node:process';
7
+ import { promisify } from 'node:util';
8
+ import { gunzip } from 'node:zlib';
7
9
  import { buildAscSummary, writeJsonOutput } from './openclaw-exporters-lib.mjs';
8
10
  import { loadOpenClawGrowthSecrets } from './openclaw-growth-env.mjs';
11
+ const gunzipAsync = promisify(gunzip);
12
+ const DEFAULT_ASC_TIMEOUT_SECONDS = '120';
9
13
  function printHelpAndExit(exitCode, reason = null) {
10
14
  if (reason) {
11
15
  process.stderr.write(`${reason}\n\n`);
@@ -21,11 +25,10 @@ Usage:
21
25
  Options:
22
26
  --app <id> Optional App Store Connect app ID filter (defaults to all accessible apps)
23
27
  --out <file> Write JSON to file instead of stdout
24
- --start <date> App Store Connect Analytics start date (YYYY-MM-DD, default: last 30 complete days)
25
- --end <date> App Store Connect Analytics end date (YYYY-MM-DD, default: yesterday UTC)
28
+ --start <date> App Store Connect Analytics start date (YYYY-MM-DD, default: 30 complete days)
29
+ --end <date> App Store Connect Analytics end date (YYYY-MM-DD, default: two days ago UTC)
26
30
  --cache-dir <dir> Cache downloaded ASC batch reports (default: data/openclaw-growth-engineer/asc-cache)
27
- --include-web-analytics Include experimental ASC web analytics queries only when API reports are insufficient
28
- --skip-web-analytics Deprecated no-op; web analytics is skipped by default
31
+ --force-refresh Re-download reports even when the daily cache already has them
29
32
  --country <code> Ratings country override (default: all countries)
30
33
  --reviews-limit <n> Review summarizations limit (default: 20)
31
34
  --feedback-limit <n> TestFlight feedback limit (default: 20)
@@ -36,7 +39,7 @@ Options:
36
39
  process.exit(exitCode);
37
40
  }
38
41
  function parseArgs(argv) {
39
- const defaultEnd = formatDate(addDays(new Date(), -1));
42
+ const defaultEnd = formatDate(addDays(new Date(), -2));
40
43
  const defaultStart = formatDate(addDays(parseDate(defaultEnd), -29));
41
44
  const args = {
42
45
  app: '',
@@ -44,7 +47,7 @@ function parseArgs(argv) {
44
47
  start: String(process.env.ASC_ANALYTICS_START || defaultStart).trim(),
45
48
  end: String(process.env.ASC_ANALYTICS_END || defaultEnd).trim(),
46
49
  cacheDir: String(process.env.ASC_BATCH_CACHE_DIR || 'data/openclaw-growth-engineer/asc-cache').trim(),
47
- webAnalytics: ['1', 'true', 'yes'].includes(String(process.env.ASC_INCLUDE_WEB_ANALYTICS || '').toLowerCase()),
50
+ forceRefresh: ['1', 'true', 'yes'].includes(String(process.env.ASC_FORCE_REFRESH || '').toLowerCase()),
48
51
  country: '',
49
52
  reviewsLimit: 20,
50
53
  feedbackLimit: 20,
@@ -77,11 +80,8 @@ function parseArgs(argv) {
77
80
  args.cacheDir = String(next || '').trim();
78
81
  index += 1;
79
82
  }
80
- else if (token === '--include-web-analytics') {
81
- args.webAnalytics = true;
82
- }
83
- else if (token === '--skip-web-analytics') {
84
- args.webAnalytics = false;
83
+ else if (token === '--force-refresh') {
84
+ args.forceRefresh = true;
85
85
  }
86
86
  else if (token === '--country') {
87
87
  args.country = String(next || '').trim();
@@ -139,11 +139,17 @@ function parseDate(value) {
139
139
  function formatDate(date) {
140
140
  return date.toISOString().slice(0, 10);
141
141
  }
142
+ function ascCommandEnv() {
143
+ return {
144
+ ...process.env,
145
+ ASC_TIMEOUT_SECONDS: normalizeString(process.env.ASC_TIMEOUT_SECONDS) || DEFAULT_ASC_TIMEOUT_SECONDS,
146
+ };
147
+ }
142
148
  function runJsonCommand(command, commandArgs) {
143
149
  return new Promise((resolve, reject) => {
144
150
  const child = spawn(command, commandArgs, {
145
151
  stdio: ['ignore', 'pipe', 'pipe'],
146
- env: process.env,
152
+ env: ascCommandEnv(),
147
153
  });
148
154
  let stdout = '';
149
155
  let stderr = '';
@@ -222,6 +228,44 @@ function finishMetricTotals(metrics) {
222
228
  data: metric.data,
223
229
  }));
224
230
  }
231
+ function addBreakdownMetric(target, key, field, value) {
232
+ if (!key || value === null || value === undefined || !Number.isFinite(Number(value)))
233
+ return;
234
+ const existing = target.get(key) || {
235
+ key,
236
+ title: key,
237
+ impressions: 0,
238
+ pageViewUnique: 0,
239
+ units: 0,
240
+ redownloads: 0,
241
+ purchases: 0,
242
+ proceeds: 0,
243
+ crashes: 0,
244
+ };
245
+ existing[field] = (existing[field] || 0) + Number(value);
246
+ target.set(key, existing);
247
+ }
248
+ async function fileExists(filePath) {
249
+ try {
250
+ await fs.access(filePath);
251
+ return true;
252
+ }
253
+ catch {
254
+ return false;
255
+ }
256
+ }
257
+ async function readReportText(filePath) {
258
+ const buffer = await fs.readFile(filePath);
259
+ if (buffer.length >= 2 && buffer[0] === 0x1f && buffer[1] === 0x8b) {
260
+ return (await gunzipAsync(buffer)).toString('utf8');
261
+ }
262
+ return buffer.toString('utf8');
263
+ }
264
+ async function materializeParsedReport(rawPath, parsedPath) {
265
+ const content = await readReportText(rawPath);
266
+ await fs.mkdir(path.dirname(parsedPath), { recursive: true });
267
+ await fs.writeFile(parsedPath, content, 'utf8');
268
+ }
225
269
  function splitDelimitedLine(line, delimiter) {
226
270
  const cells = [];
227
271
  let current = '';
@@ -249,7 +293,7 @@ function splitDelimitedLine(line, delimiter) {
249
293
  return cells;
250
294
  }
251
295
  async function parseDelimitedReport(filePath) {
252
- const content = await fs.readFile(filePath, 'utf8');
296
+ const content = await readReportText(filePath);
253
297
  const lines = content.split(/\r?\n/).filter((line) => line.trim());
254
298
  if (lines.length < 2)
255
299
  return [];
@@ -273,8 +317,102 @@ function findHeader(row, candidates) {
273
317
  }
274
318
  return null;
275
319
  }
320
+ function firstRowValue(row, candidates) {
321
+ const header = findHeader(row, candidates);
322
+ if (!header)
323
+ return null;
324
+ const value = String(row[header] || '').trim();
325
+ return value || null;
326
+ }
327
+ function reportCachePaths(appCacheDir, baseName) {
328
+ const safeBase = String(baseName || 'report').replace(/[^a-zA-Z0-9._-]+/g, '-');
329
+ return {
330
+ rawPath: path.join(appCacheDir, `${safeBase}.txt.gz`),
331
+ parsedPath: path.join(appCacheDir, `${safeBase}.txt`),
332
+ manifestPath: path.join(appCacheDir, `${safeBase}.manifest.json`),
333
+ };
334
+ }
335
+ async function loadCachedReport(label, paths) {
336
+ if (await fileExists(paths.parsedPath)) {
337
+ const rows = await parseDelimitedReport(paths.parsedPath);
338
+ return { label, outputPath: paths.parsedPath, rows, cacheStatus: 'hit' };
339
+ }
340
+ if (await fileExists(paths.rawPath)) {
341
+ await materializeParsedReport(paths.rawPath, paths.parsedPath);
342
+ const rows = await parseDelimitedReport(paths.parsedPath);
343
+ return { label, outputPath: paths.parsedPath, rows, cacheStatus: 'hit_raw' };
344
+ }
345
+ return null;
346
+ }
347
+ async function writeReportManifest(paths, report) {
348
+ await fs.writeFile(paths.manifestPath, `${JSON.stringify({
349
+ label: report.label,
350
+ fetchedAt: new Date().toISOString(),
351
+ outputPath: report.outputPath,
352
+ rowCount: report.rows.length,
353
+ cacheStatus: report.cacheStatus,
354
+ }, null, 2)}\n`, 'utf8');
355
+ }
356
+ async function loadCachedReportsFromDir(appCacheDir, warnings, reason) {
357
+ let entries = [];
358
+ try {
359
+ entries = await fs.readdir(appCacheDir);
360
+ }
361
+ catch {
362
+ return [];
363
+ }
364
+ const manifests = entries.filter((entry) => entry.endsWith('.manifest.json')).sort();
365
+ const reports = [];
366
+ for (const manifestName of manifests) {
367
+ try {
368
+ const manifestPath = path.join(appCacheDir, manifestName);
369
+ const manifest = JSON.parse(await fs.readFile(manifestPath, 'utf8'));
370
+ const parsedPath = String(manifest.outputPath || '').trim();
371
+ if (!parsedPath || !(await fileExists(parsedPath)))
372
+ continue;
373
+ const rows = await parseDelimitedReport(parsedPath);
374
+ reports.push({
375
+ label: String(manifest.label || manifestName.replace(/\.manifest\.json$/, '')),
376
+ outputPath: parsedPath,
377
+ rows,
378
+ cacheStatus: 'fallback_hit',
379
+ });
380
+ }
381
+ catch {
382
+ // Ignore malformed cache entries; a fresh download will repair them.
383
+ }
384
+ }
385
+ if (reports.length > 0 && reason) {
386
+ warnings.push(`${reason}: using ${reports.length} cached ASC report(s) from ${appCacheDir}`);
387
+ }
388
+ return reports;
389
+ }
390
+ async function loadLatestCachedReports(appCacheRoot, requestedEnd, warnings) {
391
+ let entries = [];
392
+ try {
393
+ entries = await fs.readdir(appCacheRoot, { withFileTypes: true });
394
+ }
395
+ catch {
396
+ return [];
397
+ }
398
+ const requestedTime = parseDate(requestedEnd).getTime();
399
+ const dateDirs = entries
400
+ .filter((entry) => entry.isDirectory() && /^\d{4}-\d{2}-\d{2}$/.test(entry.name))
401
+ .map((entry) => entry.name)
402
+ .filter((date) => parseDate(date).getTime() <= requestedTime)
403
+ .sort()
404
+ .reverse();
405
+ for (const date of dateDirs) {
406
+ const reports = await loadCachedReportsFromDir(path.join(appCacheRoot, date), warnings, `ASC App Analytics batch report unavailable for ${requestedEnd}`);
407
+ if (reports.length > 0)
408
+ return reports;
409
+ }
410
+ return [];
411
+ }
276
412
  function summarizeBatchRows(rows, appId) {
277
413
  const metrics = new Map();
414
+ const sourceBreakdowns = new Map();
415
+ const crashBreakdowns = new Map();
278
416
  for (const row of rows) {
279
417
  const appIdHeader = findHeader(row, ['apple identifier', 'app apple identifier', 'app id', 'adam id']);
280
418
  if (appIdHeader && String(row[appIdHeader] || '').trim() && String(row[appIdHeader]).trim() !== String(appId)) {
@@ -283,12 +421,21 @@ function summarizeBatchRows(rows, appId) {
283
421
  const dateHeader = findHeader(row, ['date', 'begin date', 'start date', 'end date']);
284
422
  const date = dateHeader ? String(row[dateHeader] || '').slice(0, 10) : null;
285
423
  const fields = [
424
+ { measure: 'impressions', candidates: ['impressions', 'unique impressions', 'impression count'] },
425
+ { measure: 'pageViewUnique', candidates: ['unique product page views', 'product page views', 'page views', 'page view count', 'page views unique'] },
286
426
  { measure: 'units', candidates: ['units', 'app units', 'downloads', 'first-time downloads'] },
287
427
  { measure: 'redownloads', candidates: ['redownloads', 're-downloads'] },
288
428
  { measure: 'conversionRate', candidates: ['conversion rate', 'app store conversion rate'], rate: true },
289
429
  { measure: 'crashRate', candidates: ['crash rate'], rate: true },
290
430
  { measure: 'crashes', candidates: ['crashes', 'crash count'] },
291
- { measure: 'pageViewUnique', candidates: ['unique product page views', 'product page views', 'page views'] },
431
+ { measure: 'sessions', candidates: ['sessions', 'session count'] },
432
+ { measure: 'activeDevices', candidates: ['active devices', 'active devices count', 'unique devices'] },
433
+ { measure: 'installations', candidates: ['installations', 'installs', 'app installations'] },
434
+ { measure: 'deletions', candidates: ['deletions', 'deletes', 'app deletions'] },
435
+ { measure: 'purchases', candidates: ['purchases', 'purchase count', 'sales', 'paying purchases'] },
436
+ { measure: 'payingUsers', candidates: ['paying users', 'unique paying users'] },
437
+ { measure: 'subscriptions', candidates: ['subscriptions', 'active subscriptions', 'paid subscriptions'] },
438
+ { measure: 'trialStarts', candidates: ['trial starts', 'free trial starts', 'introductory offer starts'] },
292
439
  { measure: 'proceeds', candidates: ['developer proceeds', 'proceeds'] },
293
440
  ];
294
441
  for (const field of fields) {
@@ -297,8 +444,51 @@ function summarizeBatchRows(rows, appId) {
297
444
  continue;
298
445
  addMetricTotals(metrics, field.measure, coerceNumber(row[header]), date, { rate: Boolean(field.rate) });
299
446
  }
447
+ const source = firstRowValue(row, ['source type', 'download source type', 'source', 'source name', 'referrer', 'app referrer', 'web referrer', 'campaign']) ||
448
+ firstRowValue(row, ['page type', 'event type']);
449
+ if (source) {
450
+ const sourceFields = [
451
+ { field: 'impressions', candidates: ['impressions', 'unique impressions', 'impression count'] },
452
+ { field: 'pageViewUnique', candidates: ['unique product page views', 'product page views', 'page views', 'page view count', 'page views unique'] },
453
+ { field: 'units', candidates: ['units', 'app units', 'downloads', 'first-time downloads'] },
454
+ { field: 'redownloads', candidates: ['redownloads', 're-downloads'] },
455
+ { field: 'purchases', candidates: ['purchases', 'purchase count', 'sales'] },
456
+ { field: 'proceeds', candidates: ['developer proceeds', 'proceeds'] },
457
+ ];
458
+ for (const field of sourceFields) {
459
+ const header = findHeader(row, field.candidates);
460
+ if (header)
461
+ addBreakdownMetric(sourceBreakdowns, source, field.field, coerceNumber(row[header]));
462
+ }
463
+ }
464
+ const crashesHeader = findHeader(row, ['crashes', 'crash count']);
465
+ const crashes = crashesHeader ? coerceNumber(row[crashesHeader]) : null;
466
+ if (crashes !== null && crashes > 0) {
467
+ const version = firstRowValue(row, ['app version', 'version', 'app version number']) || 'Unknown app version';
468
+ const platform = firstRowValue(row, ['platform', 'device type', 'device', 'os']) || '';
469
+ const key = `${version}${platform ? ` (${platform})` : ''}`;
470
+ addBreakdownMetric(crashBreakdowns, key, 'crashes', crashes);
471
+ }
300
472
  }
301
- return { results: finishMetricTotals(metrics) };
473
+ const results = finishMetricTotals(metrics);
474
+ return {
475
+ results,
476
+ sourceBreakdown: [...sourceBreakdowns.values()]
477
+ .filter((entry) => entry.impressions > 0 || entry.pageViewUnique > 0 || entry.units > 0 || entry.purchases > 0 || entry.proceeds > 0)
478
+ .sort((a, b) => (b.pageViewUnique || b.impressions || b.units || 0) - (a.pageViewUnique || a.impressions || a.units || 0)),
479
+ crashBreakdown: [...crashBreakdowns.values()]
480
+ .map((entry) => ({ label: entry.title, value: entry.crashes }))
481
+ .filter((entry) => entry.value > 0)
482
+ .sort((a, b) => b.value - a.value),
483
+ overviewMetricCatalog: results.map((metric) => ({
484
+ section: 'batchReports',
485
+ measure: metric.measure,
486
+ total: metric.total,
487
+ previousTotal: metric.previousTotal,
488
+ percentChange: metric.percentChange,
489
+ type: 'COUNT',
490
+ })),
491
+ };
302
492
  }
303
493
  function extractItems(payload) {
304
494
  if (Array.isArray(payload))
@@ -339,22 +529,47 @@ function extractInstances(payload) {
339
529
  byId.set(instance.id, instance);
340
530
  return [...byId.values()];
341
531
  }
342
- async function downloadAndParseReport(label, commandArgs, outputPath, warnings) {
532
+ async function downloadAndParseReport(label, commandArgs, appCacheDir, baseName, args, warnings) {
533
+ const paths = reportCachePaths(appCacheDir, baseName);
534
+ if (!args.forceRefresh) {
535
+ const cached = await loadCachedReport(label, paths);
536
+ if (cached)
537
+ return cached;
538
+ }
343
539
  try {
344
- await fs.mkdir(path.dirname(outputPath), { recursive: true });
345
- await runJsonCommand('asc', [...commandArgs, '--output', outputPath, '--decompress']);
346
- const rows = await parseDelimitedReport(outputPath);
347
- return { label, outputPath, rows };
540
+ await fs.mkdir(appCacheDir, { recursive: true });
541
+ await runJsonCommand('asc', [...commandArgs, '--output', paths.rawPath]);
542
+ await materializeParsedReport(paths.rawPath, paths.parsedPath);
543
+ const rows = await parseDelimitedReport(paths.parsedPath);
544
+ const report = { label, outputPath: paths.parsedPath, rows, cacheStatus: 'downloaded' };
545
+ await writeReportManifest(paths, report);
546
+ return report;
348
547
  }
349
548
  catch (error) {
350
- warnings.push(`${label}: ${error instanceof Error ? error.message : String(error)}`);
351
- return null;
549
+ const compressedError = error instanceof Error ? error.message : String(error);
550
+ try {
551
+ await runJsonCommand('asc', [...commandArgs, '--output', paths.parsedPath, '--decompress']);
552
+ const rows = await parseDelimitedReport(paths.parsedPath);
553
+ const report = { label, outputPath: paths.parsedPath, rows, cacheStatus: 'downloaded_decompressed' };
554
+ await writeReportManifest(paths, report);
555
+ return report;
556
+ }
557
+ catch (fallbackError) {
558
+ const cached = await loadCachedReport(label, paths);
559
+ if (cached) {
560
+ warnings.push(`${label}: fresh download failed; using cached report (${compressedError})`);
561
+ return cached;
562
+ }
563
+ warnings.push(`${label}: ${fallbackError instanceof Error ? fallbackError.message : String(fallbackError)}`);
564
+ return null;
565
+ }
352
566
  }
353
567
  }
354
568
  async function downloadBatchAnalyticsReports(appId, args, warnings) {
355
569
  const reports = [];
356
- const appCacheDir = path.resolve(args.cacheDir || path.join(os.tmpdir(), 'openclaw-asc-cache'), appId, args.end);
357
- const vendor = String(process.env.ASC_VENDOR_NUMBER || process.env.ASC_ANALYTICS_VENDOR_NUMBER || '').trim();
570
+ const appCacheRoot = path.resolve(args.cacheDir || path.join(os.tmpdir(), 'openclaw-asc-cache'), appId);
571
+ const appCacheDir = path.join(appCacheRoot, args.end);
572
+ const vendor = String(process.env.ASC_VENDOR_NUMBER || '').trim();
358
573
  if (vendor) {
359
574
  const sales = await downloadAndParseReport('ASC daily sales batch report', [
360
575
  'analytics',
@@ -369,7 +584,7 @@ async function downloadBatchAnalyticsReports(appId, args, warnings) {
369
584
  'DAILY',
370
585
  '--date',
371
586
  args.end,
372
- ], path.join(appCacheDir, 'sales-daily.tsv'), warnings);
587
+ ], appCacheDir, 'sales-daily', args, warnings);
373
588
  if (sales)
374
589
  reports.push(sales);
375
590
  }
@@ -378,42 +593,26 @@ async function downloadBatchAnalyticsReports(appId, args, warnings) {
378
593
  'requests',
379
594
  '--app',
380
595
  appId,
381
- '--state',
382
- 'COMPLETED',
383
596
  '--output',
384
597
  'json',
385
598
  ], warnings);
386
599
  let requestId = extractItems(requestsPayload).map(extractId).find(Boolean);
387
600
  if (!requestId) {
388
- const anyRequestsPayload = await runBestEffortAscQuery('ASC analytics all requests query', [
601
+ const createdRequest = await runBestEffortAscQuery('ASC analytics ongoing request creation', [
389
602
  'analytics',
390
- 'requests',
603
+ 'request',
391
604
  '--app',
392
605
  appId,
606
+ '--access-type',
607
+ 'ONGOING',
393
608
  '--output',
394
609
  'json',
395
610
  ], warnings);
396
- const existingRequestId = extractItems(anyRequestsPayload).map(extractId).find(Boolean);
397
- if (!existingRequestId) {
398
- const createdRequest = await runBestEffortAscQuery('ASC analytics ongoing request creation', [
399
- 'analytics',
400
- 'request',
401
- '--app',
402
- appId,
403
- '--access-type',
404
- 'ONGOING',
405
- '--output',
406
- 'json',
407
- ], warnings);
408
- const createdRequestId = extractId(createdRequest) || extractItems(createdRequest).map(extractId).find(Boolean);
409
- warnings.push(createdRequestId
410
- ? `ASC App Analytics batch report: created ongoing analytics request ${createdRequestId}; report instances will be available after Apple finishes processing`
411
- : 'ASC App Analytics batch report: requested ongoing analytics access; report instances will be available after Apple finishes processing');
412
- return reports;
413
- }
414
- requestId = existingRequestId;
415
- warnings.push(`ASC App Analytics batch report: request ${requestId} is not completed yet; using other ASC API-key surfaces for this run`);
416
- return reports;
611
+ const createdRequestId = extractId(createdRequest) || extractItems(createdRequest).map(extractId).find(Boolean);
612
+ warnings.push(createdRequestId
613
+ ? `ASC App Analytics batch report: created ongoing analytics request ${createdRequestId}; report instances will be available after Apple finishes processing`
614
+ : 'ASC App Analytics batch report: requested ongoing analytics access; report instances will be available after Apple finishes processing');
615
+ return reports.length > 0 ? reports : loadLatestCachedReports(appCacheRoot, args.end, warnings);
417
616
  }
418
617
  const viewPayload = await runBestEffortAscQuery('ASC analytics reports view query', [
419
618
  'analytics',
@@ -430,10 +629,13 @@ async function downloadBatchAnalyticsReports(appId, args, warnings) {
430
629
  const instances = extractInstances(viewPayload).slice(0, Math.max(1, Number(args.analyticsInstanceLimit) || 8));
431
630
  if (instances.length === 0) {
432
631
  warnings.push(`ASC App Analytics batch report: request ${requestId} has no downloadable instances for ${args.end}`);
433
- return reports;
632
+ const cached = await loadCachedReportsFromDir(appCacheDir, warnings, 'ASC App Analytics batch report has no downloadable instances');
633
+ if (reports.length > 0 || cached.length > 0)
634
+ return [...reports, ...cached];
635
+ return loadLatestCachedReports(appCacheRoot, args.end, warnings);
434
636
  }
435
637
  for (const instance of instances) {
436
- const report = await downloadAndParseReport(`ASC App Analytics batch report ${instance.id}`, ['analytics', 'download', '--request-id', requestId, '--instance-id', instance.id], path.join(appCacheDir, `analytics-${instance.id}.csv`), warnings);
638
+ const report = await downloadAndParseReport(`ASC App Analytics batch report ${instance.id}`, ['analytics', 'download', '--request-id', requestId, '--instance-id', instance.id], appCacheDir, `analytics-${instance.id}`, args, warnings);
437
639
  if (report)
438
640
  reports.push(report);
439
641
  }
@@ -525,64 +727,12 @@ async function buildSingleAppSummary(appId, args) {
525
727
  const batchReports = await downloadBatchAnalyticsReports(appId, args, warnings);
526
728
  const batchRows = batchReports.flatMap((report) => report.rows);
527
729
  const batchAnalyticsPayload = batchRows.length > 0 ? summarizeBatchRows(batchRows, appId) : null;
528
- const analyticsMetricsPayload = args.webAnalytics
529
- ? await runBestEffortAscQuery('ASC web analytics metrics query', [
530
- 'web',
531
- 'analytics',
532
- 'metrics',
533
- '--app',
534
- appId,
535
- '--start',
536
- args.start,
537
- '--end',
538
- args.end,
539
- '--frequency',
540
- 'day',
541
- '--measures',
542
- 'units,redownloads,conversionRate,crashRate',
543
- '--output',
544
- 'json',
545
- ], warnings)
546
- : null;
547
- const analyticsSourcesPayload = args.webAnalytics
548
- ? await runBestEffortAscQuery('ASC web analytics sources query', [
549
- 'web',
550
- 'analytics',
551
- 'sources',
552
- '--app',
553
- appId,
554
- '--start',
555
- args.start,
556
- '--end',
557
- args.end,
558
- '--output',
559
- 'json',
560
- ], warnings)
561
- : null;
562
- const analyticsOverviewPayload = args.webAnalytics
563
- ? await runBestEffortAscQuery('ASC web analytics overview query', [
564
- 'web',
565
- 'analytics',
566
- 'overview',
567
- '--app',
568
- appId,
569
- '--start',
570
- args.start,
571
- '--end',
572
- args.end,
573
- '--output',
574
- 'json',
575
- ], warnings)
576
- : null;
577
730
  return buildAscSummary({
578
731
  appId,
579
732
  statusPayload,
580
733
  ratingsPayload,
581
734
  reviewSummariesPayload,
582
735
  feedbackPayload,
583
- analyticsMetricsPayload,
584
- analyticsSourcesPayload,
585
- analyticsOverviewPayload,
586
736
  batchAnalyticsPayload,
587
737
  analyticsWindow: { start: args.start, end: args.end },
588
738
  analyticsWarnings: warnings,
@@ -590,6 +740,7 @@ async function buildSingleAppSummary(appId, args) {
590
740
  label: report.label,
591
741
  outputPath: report.outputPath,
592
742
  rowCount: report.rows.length,
743
+ cacheStatus: report.cacheStatus || null,
593
744
  })),
594
745
  maxSignals: args.maxSignals,
595
746
  });
@@ -1 +1 @@
1
- {"version":3,"file":"export-asc-summary.mjs","sourceRoot":"","sources":["../../src/runtime/export-asc-summary.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"export-asc-summary.mjs","sourceRoot":"","sources":["../../src/runtime/export-asc-summary.mts"],"names":[],"mappings":"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"}