@gpc-cli/core 0.9.77 → 0.9.78
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/README.md +1 -1
- package/dist/index.d.ts +141 -4
- package/dist/index.js +389 -15
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -56,7 +56,7 @@ const analysis = await analyzeBundle("./app.aab");
|
|
|
56
56
|
| **Subscriptions** | `listSubscriptions`, `createSubscription`, `updateSubscription`, `deleteSubscription`, `listOffers`, `createOffer` |
|
|
57
57
|
| **IAP** | `listInAppProducts`, `createInAppProduct`, `syncInAppProducts` |
|
|
58
58
|
| **Purchases** | `getProductPurchase`, `acknowledgeProductPurchase`, `refundOrder` |
|
|
59
|
-
| **Reports** | `listReports`, `
|
|
59
|
+
| **Reports** | `listReports`, `downloadStatsReport`, `downloadFinancialReport` (Play bulk reports via GCS) |
|
|
60
60
|
| **Users** | `listUsers`, `inviteUser`, `updateUser`, `removeUser` |
|
|
61
61
|
| **Testers** | `listTesters`, `addTesters`, `removeTesters`, `importTestersFromCsv` |
|
|
62
62
|
| **Bundle** | `analyzeBundle`, `compareBundles` (zero-dependency AAB/APK size analysis) |
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { OutputFormat, ResolvedConfig, WebhookConfig } from '@gpc-cli/config';
|
|
2
2
|
import { AuthClient } from '@gpc-cli/auth';
|
|
3
3
|
import { GpcPlugin, PluginManifest, CommandEvent, CommandResult, PluginError, RequestEvent, ResponseEvent, PluginCommand } from '@gpc-cli/plugin-sdk';
|
|
4
|
-
import { PlayApiClient, EditCommitOptions, Track, ExternallyHostedApk, ExternallyHostedApkResponse, DeobfuscationFileType, UploadProgressEvent, ResumableUploadOptions, Listing, ImageType, CountryAvailability, Image, AppDetails, Review, ReviewReplyResponse, Subscription, SubscriptionOffer, OffersListResponse, BasePlanMigratePricesRequest, InAppProduct, Order, SubscriptionDeferResponse, SubscriptionsV2DeferResponse, ProductPurchase, ProductPurchaseV2, SubscriptionPurchaseV2, VoidedPurchase, UsersApiClient, User, DeveloperLevelPermission, Grant, MetricRow, ReportingDimension, ReportingAggregation, VitalsMetricSet, ReportingApiClient, AnomalyDetectionResponse, MetricSetResponse, ErrorIssuesResponse, ConvertRegionPricesResponse, ReportType, StatsDimension,
|
|
4
|
+
import { PlayApiClient, EditCommitOptions, Track, ExternallyHostedApk, ExternallyHostedApkResponse, DeobfuscationFileType, UploadProgressEvent, ResumableUploadOptions, Listing, ImageType, CountryAvailability, Image, AppDetails, Review, ReviewReplyResponse, Subscription, SubscriptionOffer, OffersListResponse, BasePlanMigratePricesRequest, InAppProduct, Order, SubscriptionDeferResponse, SubscriptionsV2DeferResponse, ProductPurchase, ProductPurchaseV2, SubscriptionPurchaseV2, VoidedPurchase, UsersApiClient, User, DeveloperLevelPermission, Grant, MetricRow, ReportingDimension, ReportingAggregation, VitalsMetricSet, ReportingApiClient, AnomalyDetectionResponse, MetricSetResponse, ErrorIssuesResponse, ConvertRegionPricesResponse, ReportType, StatsDimension, Testers, AppRecoveryTargeting, AppRecoveryAction, CreateAppRecoveryActionRequest, DataSafetyResponse, DataSafetyRequest, ExternalTransaction, ExternalTransactionRefund, DeviceTierConfig, OneTimeOffer, OneTimeProduct, OneTimeOffersListResponse, OneTimeProductsListResponse, GamesConfigClient, AchievementConfiguration, LeaderboardConfiguration, AchievementConfigurationListResponse, GamesApiClient, Achievement, LeaderboardConfigurationListResponse, Leaderboard, ImageConfiguration, EnterpriseApiClient, CustomApp, GeneratedApksPerSigningKey, Bundle } from '@gpc-cli/api';
|
|
5
5
|
|
|
6
6
|
declare class GpcError extends Error {
|
|
7
7
|
readonly code: string;
|
|
@@ -792,6 +792,74 @@ declare function validateImage(filePath: string, imageType?: string): Promise<Im
|
|
|
792
792
|
|
|
793
793
|
declare function convertRegionPrices(client: PlayApiClient, packageName: string, currencyCode: string, amount: string): Promise<ConvertRegionPricesResponse>;
|
|
794
794
|
|
|
795
|
+
/**
|
|
796
|
+
* Minimal Google Cloud Storage JSON API reader for the Play bulk-reports bucket
|
|
797
|
+
* (pubsite_prod_<developerId>). Deliberately dependency-free: the token already carries the
|
|
798
|
+
* devstorage.read_only scope (see @gpc-cli/auth), so plain fetch against the JSON API is all
|
|
799
|
+
* that is needed — no @google-cloud/storage.
|
|
800
|
+
*
|
|
801
|
+
* Access model (verified live 2026-07-24/2026-08-01): once the service account is granted
|
|
802
|
+
* "View app information and download bulk reports (read-only)" in Play Console, it gets
|
|
803
|
+
* objects LIST + GET on the whole bucket, so discovery-first (list a prefix, filter, then
|
|
804
|
+
* download) is the design. Without the grant every call returns 403.
|
|
805
|
+
*/
|
|
806
|
+
interface ReportsAuth {
|
|
807
|
+
getAccessToken(): Promise<string>;
|
|
808
|
+
}
|
|
809
|
+
interface ReportObject {
|
|
810
|
+
/** Full object name, e.g. stats/installs/installs_com.example.app_202606_overview.csv */
|
|
811
|
+
name: string;
|
|
812
|
+
/** Object size in bytes (as reported by GCS; compressed size for gzip-encoded objects). */
|
|
813
|
+
size: number;
|
|
814
|
+
updated?: string;
|
|
815
|
+
}
|
|
816
|
+
interface ListReportObjectsResult {
|
|
817
|
+
objects: ReportObject[];
|
|
818
|
+
nextPageToken?: string;
|
|
819
|
+
}
|
|
820
|
+
/**
|
|
821
|
+
* List objects under a prefix. 404 here means the bucket itself is wrong (a missing prefix
|
|
822
|
+
* is a 200 with no items), so it maps to REPORT_BUCKET_NOT_FOUND.
|
|
823
|
+
*/
|
|
824
|
+
declare function listReportObjects(auth: ReportsAuth, bucket: string, options: {
|
|
825
|
+
prefix: string;
|
|
826
|
+
maxResults?: number;
|
|
827
|
+
pageToken?: string;
|
|
828
|
+
}): Promise<ListReportObjectsResult>;
|
|
829
|
+
/**
|
|
830
|
+
* Download a single report object's bytes (alt=media). GCS transparently gunzips
|
|
831
|
+
* content-encoding:gzip objects on this path in Node's fetch, but callers must still run the
|
|
832
|
+
* bytes through the decode layer, which re-checks the gzip magic as a backstop.
|
|
833
|
+
*/
|
|
834
|
+
declare function downloadReportObject(auth: ReportsAuth, bucket: string, objectName: string): Promise<Buffer>;
|
|
835
|
+
|
|
836
|
+
declare function isGzip(buf: Uint8Array): boolean;
|
|
837
|
+
declare function isZip(buf: Uint8Array): boolean;
|
|
838
|
+
/** Inflate the buffer if it carries the gzip magic bytes; otherwise return it unchanged. */
|
|
839
|
+
declare function gunzipIfNeeded(buf: Buffer): Buffer;
|
|
840
|
+
/**
|
|
841
|
+
* Decode report CSV bytes to a string, honoring the byte-order mark. Play stats reports are
|
|
842
|
+
* UTF-16LE with a BOM; UTF-16BE and UTF-8-BOM are handled defensively, and BOM-less bytes
|
|
843
|
+
* fall back to UTF-8.
|
|
844
|
+
*/
|
|
845
|
+
declare function decodeCsvText(buf: Buffer): string;
|
|
846
|
+
/**
|
|
847
|
+
* Decode a single stats report object: inflate if gzipped, then decode UTF-16/UTF-8 to text.
|
|
848
|
+
* This is the common path for `stats/**` objects (installs, crashes, ratings, ...).
|
|
849
|
+
*/
|
|
850
|
+
declare function decodeStatsCsv(buf: Buffer): string;
|
|
851
|
+
interface ZipCsvEntry {
|
|
852
|
+
name: string;
|
|
853
|
+
text: string;
|
|
854
|
+
}
|
|
855
|
+
/**
|
|
856
|
+
* Extract the CSV entries from a financial report ZIP archive, returned as decoded text.
|
|
857
|
+
* Uses yauzl's `fromBuffer` (no file descriptor) so it behaves identically under the
|
|
858
|
+
* Bun-compiled standalone binary, and is bounded by a timeout so a corrupt archive can
|
|
859
|
+
* never hang the process (same hardening as the preflight AAB reader).
|
|
860
|
+
*/
|
|
861
|
+
declare function extractCsvEntriesFromZip(buffer: Buffer): Promise<ZipCsvEntry[]>;
|
|
862
|
+
|
|
795
863
|
declare function isFinancialReportType(type: string): boolean;
|
|
796
864
|
declare function isStatsReportType(type: string): boolean;
|
|
797
865
|
declare function isValidReportType(type: string): type is ReportType;
|
|
@@ -801,8 +869,77 @@ interface ParsedMonth {
|
|
|
801
869
|
month: number;
|
|
802
870
|
}
|
|
803
871
|
declare function parseMonth(monthStr: string): ParsedMonth;
|
|
804
|
-
|
|
805
|
-
declare function
|
|
872
|
+
/** "2026-06" -> "202606", the token embedded in Play report object names. */
|
|
873
|
+
declare function monthToken(parsed: ParsedMonth): string;
|
|
874
|
+
/**
|
|
875
|
+
* Resolve the reports bucket name. Play links one bucket per developer account, named
|
|
876
|
+
* pubsite_prod_<developerId>; an explicit config/flag value wins for accounts whose bucket
|
|
877
|
+
* URI differs.
|
|
878
|
+
*/
|
|
879
|
+
declare function resolveReportsBucket(config: {
|
|
880
|
+
reports?: {
|
|
881
|
+
bucket?: string;
|
|
882
|
+
};
|
|
883
|
+
developerId?: string;
|
|
884
|
+
}): string;
|
|
885
|
+
/**
|
|
886
|
+
* Object-name prefix for a report type, per Play's documented bucket layout:
|
|
887
|
+
* stats/<type>/<type>_<package>_<YYYYMM>_<dimension>.csv
|
|
888
|
+
* reviews/reviews_<package>_<YYYYMM>.csv
|
|
889
|
+
* financial-stats/subscriptions/subscriptions_<package>_<YYYYMM>_country.csv
|
|
890
|
+
* earnings/earnings_<YYYYMM>*.zip sales/salesreport_<YYYYMM>.zip play_balance/...
|
|
891
|
+
* Financial reports are account-level, so the package name never narrows them.
|
|
892
|
+
*/
|
|
893
|
+
declare function reportPrefix(reportType: ReportType, packageName?: string): string;
|
|
894
|
+
interface ListReportsResult {
|
|
895
|
+
reports: ReportObject[];
|
|
896
|
+
nextPageToken?: string;
|
|
897
|
+
}
|
|
898
|
+
declare function listReports(auth: ReportsAuth, bucket: string, reportType: ReportType, options?: {
|
|
899
|
+
packageName?: string;
|
|
900
|
+
month?: ParsedMonth;
|
|
901
|
+
maxResults?: number;
|
|
902
|
+
pageToken?: string;
|
|
903
|
+
}): Promise<ListReportsResult>;
|
|
904
|
+
interface StatsReportDownload {
|
|
905
|
+
objectName: string;
|
|
906
|
+
csv: string;
|
|
907
|
+
}
|
|
908
|
+
declare function downloadStatsReport(auth: ReportsAuth, bucket: string, packageName: string, reportType: ReportType, month: ParsedMonth, dimension: StatsDimension): Promise<StatsReportDownload>;
|
|
909
|
+
type FinancialReportDownload = {
|
|
910
|
+
objectName: string;
|
|
911
|
+
kind: "csv";
|
|
912
|
+
text: string;
|
|
913
|
+
} | {
|
|
914
|
+
objectName: string;
|
|
915
|
+
kind: "zip";
|
|
916
|
+
entries: ZipCsvEntry[];
|
|
917
|
+
raw: Buffer;
|
|
918
|
+
};
|
|
919
|
+
declare function downloadFinancialReport(auth: ReportsAuth, bucket: string, reportType: ReportType, month: ParsedMonth, options?: {
|
|
920
|
+
extractEntries?: boolean;
|
|
921
|
+
}): Promise<FinancialReportDownload>;
|
|
922
|
+
|
|
923
|
+
/**
|
|
924
|
+
* Typed errors for the GCS report-download path. Exit code 4 (API) across the board: these
|
|
925
|
+
* are all failures talking to the Google Cloud Storage side of Play, distinct from usage
|
|
926
|
+
* errors (invalid type/month, exit 2) which stay in the command layer.
|
|
927
|
+
*/
|
|
928
|
+
/**
|
|
929
|
+
* The service account authenticated but is not authorized to read the reports bucket. This
|
|
930
|
+
* is the common first-run failure: the "download bulk reports" permission is NOT granted to
|
|
931
|
+
* a service account automatically, only to your own user.
|
|
932
|
+
*/
|
|
933
|
+
declare function reportAccessDeniedError(bucket: string): GpcError;
|
|
934
|
+
/** The bucket name does not exist (or the account cannot see it at all). */
|
|
935
|
+
declare function reportBucketNotFoundError(bucket: string): GpcError;
|
|
936
|
+
/** No object matched the requested report type / month / dimension. */
|
|
937
|
+
declare function reportObjectNotFoundError(opts: {
|
|
938
|
+
reportType: string;
|
|
939
|
+
month: string;
|
|
940
|
+
dimension?: string;
|
|
941
|
+
available?: string[];
|
|
942
|
+
}): GpcError;
|
|
806
943
|
|
|
807
944
|
declare function listGrants(client: UsersApiClient, developerId: string, email: string): Promise<Grant[]>;
|
|
808
945
|
declare function createGrant(client: UsersApiClient, developerId: string, email: string, packageName: string, permissions: string[]): Promise<Grant>;
|
|
@@ -1774,4 +1911,4 @@ declare function readinessBadgeColor(grade: ReadinessGrade): string;
|
|
|
1774
1911
|
declare function readinessBadgeUrl(score: ReadinessScore): string;
|
|
1775
1912
|
declare function readinessBadgeMarkdown(score: ReadinessScore): string;
|
|
1776
1913
|
|
|
1777
|
-
export { ApiError, type ApiSigningFingerprint, type AppInfo, type AppStatus, type ApplyReleaseNotesResult, type AuditEntry, type BatchSyncResult, type BundleAnalysis, type BundleComparison, type BundleEntry, type BundleSizeCheckResult, type BundleSizeConfig, type BundlesWaitOptions, type ChangelogEntry, type ChecklistInput, type ChecklistItem, type ChecklistResult, type CommandContext, type CommitCluster, type CommitResult, ConfigError, type CreateEnterpriseAppParams, DEFAULT_LIMITS, DEFAULT_MODELS, DEFAULT_PREFLIGHT_CONFIG, DEFAULT_WATCH_THRESHOLDS, type DecodedNotification, type DiffToken, type DiscoverPluginsOptions, type DryRunPublishResult, type DryRunResult, type DryRunUploadResult, type ErrorReason, type ExportImagesOptions, type ExportImagesSummary, type FastlaneDetection, type FastlaneLane, type FetchChangelogOptions, type FieldLintResult, type FileValidationResult, type FindingSeverity, GOOGLE_PLAY_LANGUAGES, type GameConfigDiff, type GamesPushOptions, type GamesSyncResult, type GenerateOptions, type GeneratedChangelog, type GetAppStatusOptions, type GitNotesOptions, type GitReleaseNotes, type GitRunner, GpcError, type ImageSyncDetail, type ImageSyncOptions, type ImageSyncResult, type ImageValidationResult, type InitOptions, type InitResult, type InternalSharingUploadResult, type KeystoreFingerprint, type ListGamesConfigOptions, type ListIapOptions, type ListSubscriptionsOptions, type ListUsersOptions, type ListVoidedOptions, type ListingDiff, type ListingFieldLimits, type ListingLintResult, type ListingsResult, type LoadedPlugin, type LocaleBundle, type LocaleEntry, type MigrationResult, NetworkError, type OneTimeProductDiff, type OutputMode, PERMISSION_PROPAGATION_WARNING, PLACEHOLDER_TEXT, PLAY_STORE_LIMIT, PROVIDER_WHITELIST, type ParsedCommit, type ParsedManifest, type ParsedMonth, type PlayStoreFormat, type PlayStoreRenderOptions, PluginManager, type PreflightConfig, type PreflightFinding, type PreflightOptions, type PreflightResult, type PreflightScanner, type Provider, type PublishOptions, type PublishResult, type PushResult, type QuotaUsage, RENDERERS, REVIEW_SORT_PRESETS, type RawCommit, type ReadinessBreakdownEntry, type ReadinessGrade, type ReadinessScore, type ReadinessSignal, type ReadinessSignalStatus, type ReleaseDiff, type ReleaseNotesValidation, type ReleaseStatusResult, type Renderer, type ResolveAiConfigOptions, type ResolveLocalesOptions, type ReviewAnalysis, type ReviewExportOptions, type ReviewSortPreset, type ReviewsFilterOptions, type RevocationRefundType, type RtdnStatus, SECTION_ORDER, SENSITIVE_ARG_KEYS, SENSITIVE_KEYS, SEVERITY_ORDER, type ScaffoldOptions, type ScaffoldResult, type SigningConsistencyResult, type SigningKeyComparison, type Spinner, type StatusDiff, type StatusRelease, type StatusReviews, type StatusVitalMetric, type SubscriptionAnalytics, type SubscriptionDiff, type SyncResult, type ThresholdResult, type TrainConfig, type TrainState, type TranslateBundleOptions, type TranslatedBundle, type TranslationFailure, type TranslationPath, type TranslationResult, type Translator, type TranslatorConfig, type UploadResult, VALID_WATCH_METRICS, type ValidateCheck, type ValidateOptions, type ValidateResult, type VersionVitalsComparison, type VersionVitalsRow, type VitalsOverview, type VitalsQueryOptions, type VitalsTrendComparison, type WatchAction, type WatchCallbacks, type WatchConfig, type WatchEvent, type WatchMetric, type WatchOptions, type WatchRollout, type WatchSummary, type WatchVitalReading, type WatchVitalsOptions, type WebhookPayload, abortTrain, acknowledgeProductPurchase, activateBasePlan, activateOffer, addRecoveryTargeting, addTesters, advanceTrain, analyzeBundle, analyzeRemoteListings, analyzeReviews, annotateListResult, applyReleaseNotes, assignRelease, batchGetOrders, batchSyncInAppProducts, buildChecklist, buildLocaleBundle, bundleToReleaseNotes, cancelRecoveryAction, cancelSubscriptionPurchase, cancelSubscriptionV2, checkBundleSize, checkSigningConsistency, checkThreshold, classifyError, clearAuditLog, commitWithRescue, compareBundles, compareFingerprints, compareVersionVitals, compareVitalsTrend, computeStatusDiff, consumeProductPurchase, convertRegionPrices, createAchievementConfig, createAuditEntry, createDeviceTier, createEnterpriseApp, createExternalTransaction, createGrant, createInAppProduct, createLeaderboardConfig, createOffer, createOneTimeOffer, createOneTimeProduct, createRecoveryAction, createSpinner, createSubscription, createTrack, createTranslator, deactivateBasePlan, deactivateOffer, decodeNotification, defaultGitRunner, deferSubscriptionPurchase, deferSubscriptionV2, deleteAchievementConfig, deleteBasePlan, deleteGrant, deleteImage, deleteInAppProduct, deleteLeaderboardConfig, deleteListing, deleteOffer, deleteOneTimeOffer, deleteOneTimeProduct, deleteSubscription, deployRecoveryAction, detectFastlane, detectOutputFormat, diffAchievementConfig, diffLeaderboardConfig, diffListings, diffListingsCommand, diffListingsEnhanced, diffOneTimeProduct, diffReleases, diffSubscription, discoverPlugins, dispatchWebhook, downloadGeneratedApk,
|
|
1914
|
+
export { ApiError, type ApiSigningFingerprint, type AppInfo, type AppStatus, type ApplyReleaseNotesResult, type AuditEntry, type BatchSyncResult, type BundleAnalysis, type BundleComparison, type BundleEntry, type BundleSizeCheckResult, type BundleSizeConfig, type BundlesWaitOptions, type ChangelogEntry, type ChecklistInput, type ChecklistItem, type ChecklistResult, type CommandContext, type CommitCluster, type CommitResult, ConfigError, type CreateEnterpriseAppParams, DEFAULT_LIMITS, DEFAULT_MODELS, DEFAULT_PREFLIGHT_CONFIG, DEFAULT_WATCH_THRESHOLDS, type DecodedNotification, type DiffToken, type DiscoverPluginsOptions, type DryRunPublishResult, type DryRunResult, type DryRunUploadResult, type ErrorReason, type ExportImagesOptions, type ExportImagesSummary, type FastlaneDetection, type FastlaneLane, type FetchChangelogOptions, type FieldLintResult, type FileValidationResult, type FinancialReportDownload, type FindingSeverity, GOOGLE_PLAY_LANGUAGES, type GameConfigDiff, type GamesPushOptions, type GamesSyncResult, type GenerateOptions, type GeneratedChangelog, type GetAppStatusOptions, type GitNotesOptions, type GitReleaseNotes, type GitRunner, GpcError, type ImageSyncDetail, type ImageSyncOptions, type ImageSyncResult, type ImageValidationResult, type InitOptions, type InitResult, type InternalSharingUploadResult, type KeystoreFingerprint, type ListGamesConfigOptions, type ListIapOptions, type ListReportsResult, type ListSubscriptionsOptions, type ListUsersOptions, type ListVoidedOptions, type ListingDiff, type ListingFieldLimits, type ListingLintResult, type ListingsResult, type LoadedPlugin, type LocaleBundle, type LocaleEntry, type MigrationResult, NetworkError, type OneTimeProductDiff, type OutputMode, PERMISSION_PROPAGATION_WARNING, PLACEHOLDER_TEXT, PLAY_STORE_LIMIT, PROVIDER_WHITELIST, type ParsedCommit, type ParsedManifest, type ParsedMonth, type PlayStoreFormat, type PlayStoreRenderOptions, PluginManager, type PreflightConfig, type PreflightFinding, type PreflightOptions, type PreflightResult, type PreflightScanner, type Provider, type PublishOptions, type PublishResult, type PushResult, type QuotaUsage, RENDERERS, REVIEW_SORT_PRESETS, type RawCommit, type ReadinessBreakdownEntry, type ReadinessGrade, type ReadinessScore, type ReadinessSignal, type ReadinessSignalStatus, type ReleaseDiff, type ReleaseNotesValidation, type ReleaseStatusResult, type Renderer, type ReportObject, type ReportsAuth, type ResolveAiConfigOptions, type ResolveLocalesOptions, type ReviewAnalysis, type ReviewExportOptions, type ReviewSortPreset, type ReviewsFilterOptions, type RevocationRefundType, type RtdnStatus, SECTION_ORDER, SENSITIVE_ARG_KEYS, SENSITIVE_KEYS, SEVERITY_ORDER, type ScaffoldOptions, type ScaffoldResult, type SigningConsistencyResult, type SigningKeyComparison, type Spinner, type StatsReportDownload, type StatusDiff, type StatusRelease, type StatusReviews, type StatusVitalMetric, type SubscriptionAnalytics, type SubscriptionDiff, type SyncResult, type ThresholdResult, type TrainConfig, type TrainState, type TranslateBundleOptions, type TranslatedBundle, type TranslationFailure, type TranslationPath, type TranslationResult, type Translator, type TranslatorConfig, type UploadResult, VALID_WATCH_METRICS, type ValidateCheck, type ValidateOptions, type ValidateResult, type VersionVitalsComparison, type VersionVitalsRow, type VitalsOverview, type VitalsQueryOptions, type VitalsTrendComparison, type WatchAction, type WatchCallbacks, type WatchConfig, type WatchEvent, type WatchMetric, type WatchOptions, type WatchRollout, type WatchSummary, type WatchVitalReading, type WatchVitalsOptions, type WebhookPayload, type ZipCsvEntry, abortTrain, acknowledgeProductPurchase, activateBasePlan, activateOffer, addRecoveryTargeting, addTesters, advanceTrain, analyzeBundle, analyzeRemoteListings, analyzeReviews, annotateListResult, applyReleaseNotes, assignRelease, batchGetOrders, batchSyncInAppProducts, buildChecklist, buildLocaleBundle, bundleToReleaseNotes, cancelRecoveryAction, cancelSubscriptionPurchase, cancelSubscriptionV2, checkBundleSize, checkSigningConsistency, checkThreshold, classifyError, clearAuditLog, commitWithRescue, compareBundles, compareFingerprints, compareVersionVitals, compareVitalsTrend, computeStatusDiff, consumeProductPurchase, convertRegionPrices, createAchievementConfig, createAuditEntry, createDeviceTier, createEnterpriseApp, createExternalTransaction, createGrant, createInAppProduct, createLeaderboardConfig, createOffer, createOneTimeOffer, createOneTimeProduct, createRecoveryAction, createSpinner, createSubscription, createTrack, createTranslator, deactivateBasePlan, deactivateOffer, decodeCsvText, decodeNotification, decodeStatsCsv, defaultGitRunner, deferSubscriptionPurchase, deferSubscriptionV2, deleteAchievementConfig, deleteBasePlan, deleteGrant, deleteImage, deleteInAppProduct, deleteLeaderboardConfig, deleteListing, deleteOffer, deleteOneTimeOffer, deleteOneTimeProduct, deleteSubscription, deployRecoveryAction, detectFastlane, detectOutputFormat, diffAchievementConfig, diffLeaderboardConfig, diffListings, diffListingsCommand, diffListingsEnhanced, diffOneTimeProduct, diffReleases, diffSubscription, discoverPlugins, dispatchWebhook, downloadFinancialReport, downloadGeneratedApk, downloadReportObject, downloadStatsReport, exportImages, exportReviews, extractCsvEntriesFromZip, fetchAggregateCost, fetchChangelog, fetchReleaseNotes, findBundle, formatChangelogEntry, formatCustomPayload, formatDiscordPayload, formatJunit, formatMoney, formatNotification, formatOutput, formatPathLabel, formatSlackPayload, formatStatusDiff, formatStatusSummary, formatStatusTable, formatWordDiff, generateChangelog, generateMigrationPlan, generateNotesFromGit, getAchievementConfig, getAllScannerNames, getApiSigningFingerprint, getAppInfo, getAppStatus, getCountryAvailability, getDeviceTier, getExternalTransaction, getInAppProduct, getKeystoreFingerprint, getLeaderboardConfig, getListings, getOffer, getOneTimeOffer, getOneTimeProduct, getOrderDetails, getProductPurchase, getProductPurchaseV2, getQuotaUsage, getReleasesStatus, getReview, getRtdnStatus, getSubscription, getSubscriptionAnalytics, getSubscriptionPurchase, getTrainStatus, getUser, getVitalsAnomalies, getVitalsAnr, getVitalsBattery, getVitalsCrashes, getVitalsErrorCount, getVitalsLmk, getVitalsMemory, getVitalsOverview, getVitalsRendering, getVitalsStartup, gradeFromPercent, gunzipIfNeeded, handleBreach, importDataSafety, importTestersFromCsv, initAudit, initProject, inviteUser, isFinancialReportType, isGzip, isStatsReportType, isValidBcp47, isValidReportType, isValidStatsDimension, isVersionedNotesDir, isZip, lintListing, lintListings, lintLocalListings, listAchievementConfigs, listAchievements, listAuditEvents, listBundles, listDeviceTiers, listGeneratedApks, listGrants, listImages, listInAppProducts, listLeaderboardConfigs, listLeaderboards, listOffers, listOneTimeOffers, listOneTimeProducts, listRecoveryActions, listReportObjects, listReports, listReviews, listSubscriptions, listTesters, listTracks, listUsers, listVoidedPurchases, loadPreflightConfig, loadStatusCache, maybePaginate, migratePrices, monthToken, moreResultsFooter, normalizeFingerprint, parseAppfile, parseCommit, parseFastfile, parseGrantArg, parseKeytoolOutput, parseMonth, parseRemoteUrl, pauseTrain, promoteRelease, publish, publishEnterpriseApp, pullAchievementConfigs, pullLeaderboardConfigs, pullListings, pushAchievementConfigs, pushLeaderboardConfigs, pushListings, readListingsFromDir, readReleaseNotesForVersion, readReleaseNotesFromDir, readinessBadgeColor, readinessBadgeMarkdown, readinessBadgeUrl, redactAuditArgs, redactSensitive, refundExternalTransaction, refundOrder, relativeTime, removeTesters, removeUser, renderChecklistMarkdown, renderJson, renderMarkdown, renderPlayStore, renderPlayStoreJson, renderPlayStoreMd, renderPlayStorePrompt, renderPrompt, replyToReview, reportAccessDeniedError, reportBucketNotFoundError, reportObjectNotFoundError, reportPrefix, resolveAiConfig, resolveLocales, resolveReportsBucket, retryOnUploadNotComplete, revokeSubscriptionPurchase, runPreflight, runWatch, runWatchLoop, safePath, safePathWithin, saveStatusCache, scaffoldPlugin, scoreReadiness, searchAuditEvents, searchVitalsErrors, sendNotification, sendWebhook, setAchievementIcon, setLeaderboardIcon, sha256File, sortResults, sortReviews, startTrain, statusHasBreach, syncImages, syncInAppProducts, topFiles, trackBreachState, translateBundle, updateAchievementConfig, updateAppDetails, updateDataSafety, updateGrant, updateInAppProduct, updateLeaderboardConfig, updateListing, updateOffer, updateOneTimeOffer, updateOneTimeProduct, updateRollout, updateSubscription, updateTrackConfig, updateUser, uploadExternallyHosted, uploadImage, uploadInternalSharing, uploadRelease, validateAndCommit, validateBundleForApply, validateImage, validateLanguageCode, validatePackageName, validatePreSubmission, validateReleaseNotes, validateSku, validateTrackName, validateUploadFile, validateVersionCode, waitForBundle, waitForBundleProcessing, watchVitalsWithAutoHalt, wordDiff, writeAuditLog, writeListingsToDir, writeMigrationOutput };
|