@hot-updater/cloudflare 1.0.0-rc.30 → 1.0.0-rc.31
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/dist/index.d.cts +24 -116
- package/dist/index.d.mts +24 -116
- package/dist/worker/index.d.cts +24 -116
- package/dist/worker/index.d.mts +24 -116
- package/package.json +5 -5
- package/sql/bundles.sql +3 -15
- package/worker/dist/README.md +1 -1
- package/worker/dist/index.js +57 -300
- package/worker/dist/index.js.map +3 -3
- package/worker/migrations/0001_hot-updater_1.0.0.sql +2 -4
- package/worker/migrations/0002_hot-updater_1.0.0-rc.30.sql +0 -119
package/dist/index.d.cts
CHANGED
|
@@ -168,6 +168,19 @@ interface InsightsCountEventsInput {
|
|
|
168
168
|
readonly sinceMs: number;
|
|
169
169
|
readonly beforeReceivedAtMs: number;
|
|
170
170
|
}
|
|
171
|
+
/** One bundle filter's stored events in each interval of a time range. */
|
|
172
|
+
interface InsightsCountEventSeriesInput {
|
|
173
|
+
readonly filter: InsightsBundleEventFilter;
|
|
174
|
+
/** Whole UTC hours, at most 90 days, that a whole number of intervals fill. */
|
|
175
|
+
readonly timeRange: InsightsTimeRange;
|
|
176
|
+
/** Whole hours each point spans, from `timeRange.start`. */
|
|
177
|
+
readonly intervalMs: number;
|
|
178
|
+
}
|
|
179
|
+
/** Stored events in [startMs, startMs + intervalMs). */
|
|
180
|
+
interface InsightsEventSeriesPoint {
|
|
181
|
+
readonly startMs: number;
|
|
182
|
+
readonly events: number;
|
|
183
|
+
}
|
|
171
184
|
interface ReleaseReference {
|
|
172
185
|
readonly releaseId: string;
|
|
173
186
|
readonly platform: "ios" | "android";
|
|
@@ -186,44 +199,22 @@ type InsightsCoverage = {
|
|
|
186
199
|
readonly kind: "partial";
|
|
187
200
|
readonly sinceMs: number | null;
|
|
188
201
|
};
|
|
202
|
+
/**
|
|
203
|
+
* A release's counts since its first report, from its lifetime counters,
|
|
204
|
+
* which are kept.
|
|
205
|
+
*/
|
|
189
206
|
interface ReleaseActivityMetrics {
|
|
190
207
|
readonly downloads: number;
|
|
191
208
|
readonly launches: number;
|
|
192
209
|
readonly failedLaunches: number;
|
|
193
|
-
/** Omitted for lifetime-only bundle-row reads. */
|
|
194
|
-
readonly uniqueUsers?: number;
|
|
195
|
-
/**
|
|
196
|
-
* Points of each UTC day, or of each `intervalMs` from the period's start
|
|
197
|
-
* on a release read that asks for one; present only for period reads.
|
|
198
|
-
*/
|
|
199
|
-
readonly series?: readonly {
|
|
200
|
-
readonly startMs: number;
|
|
201
|
-
readonly downloads: number;
|
|
202
|
-
readonly launches: number;
|
|
203
|
-
readonly failedLaunches: number;
|
|
204
|
-
}[];
|
|
205
210
|
}
|
|
206
|
-
|
|
211
|
+
interface InsightsGetReleaseActivityInput {
|
|
212
|
+
/** 1 to 100 releases. */
|
|
207
213
|
readonly releases: readonly ReleaseReference[];
|
|
208
|
-
|
|
209
|
-
/**
|
|
210
|
-
* Whole hours each series point spans, from `timeRange.start`, with
|
|
211
|
-
* every point present; omitted, the series has a point per UTC day
|
|
212
|
-
* with reports. Only with a `timeRange`.
|
|
213
|
-
*/
|
|
214
|
-
readonly intervalMs?: number;
|
|
215
|
-
readonly scope?: never;
|
|
216
|
-
} | {
|
|
217
|
-
readonly scope: InsightsScope;
|
|
218
|
-
readonly timeRange: InsightsTimeRange;
|
|
219
|
-
readonly intervalMs?: never;
|
|
220
|
-
readonly releases?: never;
|
|
221
|
-
};
|
|
214
|
+
}
|
|
222
215
|
interface InsightsGetReleaseActivityResult {
|
|
223
|
-
readonly coverage: InsightsCoverage;
|
|
224
216
|
readonly data: readonly {
|
|
225
|
-
readonly release
|
|
226
|
-
readonly scope?: InsightsScope;
|
|
217
|
+
readonly release: ReleaseReference;
|
|
227
218
|
readonly metrics: ReleaseActivityMetrics;
|
|
228
219
|
}[];
|
|
229
220
|
readonly measuredAtMs: number;
|
|
@@ -259,23 +250,6 @@ interface InsightsGetAppUsageResult {
|
|
|
259
250
|
}[];
|
|
260
251
|
readonly measuredAtMs: number;
|
|
261
252
|
}
|
|
262
|
-
/** Whole UTC days, at most 31, including the current unfinished day. */
|
|
263
|
-
interface InsightsGetDistributionHistoryInput extends InsightsScope {
|
|
264
|
-
readonly timeRange: InsightsTimeRange;
|
|
265
|
-
}
|
|
266
|
-
interface InsightsGetDistributionHistoryResult {
|
|
267
|
-
readonly coverage: InsightsCoverage;
|
|
268
|
-
readonly measuredAtMs: number;
|
|
269
|
-
readonly points: readonly {
|
|
270
|
-
readonly startMs: number;
|
|
271
|
-
readonly bundles: readonly {
|
|
272
|
-
readonly appVersion: string;
|
|
273
|
-
readonly releaseId: string | null;
|
|
274
|
-
readonly bundleKind: "release" | "builtin" | "unknown";
|
|
275
|
-
readonly installations: number;
|
|
276
|
-
}[];
|
|
277
|
-
}[];
|
|
278
|
-
}
|
|
279
253
|
//#endregion
|
|
280
254
|
//#region ../insights/dist/server/schema.d.mts
|
|
281
255
|
//#region src/server/schema.d.ts
|
|
@@ -429,10 +403,6 @@ declare const plugins: readonly [import("@hot-updater/plugin-core").HotUpdaterPl
|
|
|
429
403
|
movement_install_id: "string";
|
|
430
404
|
bundle_ref: "string";
|
|
431
405
|
}, {
|
|
432
|
-
readonly recent: {
|
|
433
|
-
readonly eq: readonly ["channel", "platform", "day"];
|
|
434
|
-
readonly sort: readonly ["received_at_ms"];
|
|
435
|
-
};
|
|
436
406
|
readonly movementsByInstall: {
|
|
437
407
|
readonly eq: readonly ["movement_install_id"];
|
|
438
408
|
readonly sort: readonly ["received_at_ms"];
|
|
@@ -532,7 +502,7 @@ declare const plugins: readonly [import("@hot-updater/plugin-core").HotUpdaterPl
|
|
|
532
502
|
readonly eq: readonly ["identity"];
|
|
533
503
|
readonly sort: readonly ["bucket_start_ms"];
|
|
534
504
|
};
|
|
535
|
-
}, "
|
|
505
|
+
}, "activity_users" | "failed_users", readonly ["identity", "bucket_start_ms"]>;
|
|
536
506
|
readonly insights_overview_daily: import("@hot-updater/plugin-core").AggregateDefinition<{
|
|
537
507
|
readonly identity: {
|
|
538
508
|
readonly type: "string";
|
|
@@ -560,7 +530,7 @@ declare const plugins: readonly [import("@hot-updater/plugin-core").HotUpdaterPl
|
|
|
560
530
|
readonly eq: readonly ["identity"];
|
|
561
531
|
readonly sort: readonly ["bucket_start_ms"];
|
|
562
532
|
};
|
|
563
|
-
}, "
|
|
533
|
+
}, "activity_users" | "failed_users", readonly ["identity", "bucket_start_ms"]>;
|
|
564
534
|
readonly insights_overview_lifetime: import("@hot-updater/plugin-core").AggregateDefinition<{
|
|
565
535
|
readonly identity: {
|
|
566
536
|
readonly type: "string";
|
|
@@ -617,68 +587,6 @@ declare const plugins: readonly [import("@hot-updater/plugin-core").HotUpdaterPl
|
|
|
617
587
|
readonly sort: readonly ["bucket_start_ms"];
|
|
618
588
|
};
|
|
619
589
|
}, never, readonly ["channel", "platform", "app_version", "release_id", "bucket_start_ms"]>;
|
|
620
|
-
readonly bundle_daily_heads: import("@hot-updater/plugin-core").TableDefinition<{
|
|
621
|
-
readonly install_id: {
|
|
622
|
-
readonly type: "string";
|
|
623
|
-
readonly maxLength: 255;
|
|
624
|
-
};
|
|
625
|
-
readonly bucket_start_ms: {
|
|
626
|
-
readonly type: "integer";
|
|
627
|
-
};
|
|
628
|
-
readonly id: {
|
|
629
|
-
readonly type: "string";
|
|
630
|
-
readonly maxLength: 36;
|
|
631
|
-
};
|
|
632
|
-
readonly received_at_ms: {
|
|
633
|
-
readonly type: "integer";
|
|
634
|
-
};
|
|
635
|
-
readonly channel: {
|
|
636
|
-
readonly type: "string";
|
|
637
|
-
};
|
|
638
|
-
readonly platform: {
|
|
639
|
-
readonly type: "string";
|
|
640
|
-
readonly maxLength: 16;
|
|
641
|
-
};
|
|
642
|
-
readonly app_version: {
|
|
643
|
-
readonly type: "string";
|
|
644
|
-
};
|
|
645
|
-
readonly release_id: {
|
|
646
|
-
readonly type: "string";
|
|
647
|
-
readonly maxLength: 36;
|
|
648
|
-
};
|
|
649
|
-
readonly bundle_kind: {
|
|
650
|
-
readonly type: "string";
|
|
651
|
-
readonly maxLength: 16;
|
|
652
|
-
};
|
|
653
|
-
}, Readonly<Record<string, import("@hot-updater/plugin-core").FieldType>>, {}, readonly ["install_id", "bucket_start_ms"]>;
|
|
654
|
-
readonly insights_distribution_history: import("@hot-updater/plugin-core").AggregateDefinition<{
|
|
655
|
-
readonly channel: {
|
|
656
|
-
readonly type: "string";
|
|
657
|
-
};
|
|
658
|
-
readonly platform: {
|
|
659
|
-
readonly type: "string";
|
|
660
|
-
readonly maxLength: 16;
|
|
661
|
-
};
|
|
662
|
-
readonly app_version: {
|
|
663
|
-
readonly type: "string";
|
|
664
|
-
};
|
|
665
|
-
readonly release_id: {
|
|
666
|
-
readonly type: "string";
|
|
667
|
-
readonly maxLength: 36;
|
|
668
|
-
};
|
|
669
|
-
readonly bundle_kind: {
|
|
670
|
-
readonly type: "string";
|
|
671
|
-
readonly maxLength: 16;
|
|
672
|
-
};
|
|
673
|
-
readonly bucket_start_ms: {
|
|
674
|
-
readonly type: "integer";
|
|
675
|
-
};
|
|
676
|
-
}, "installations", {
|
|
677
|
-
readonly byScope: {
|
|
678
|
-
readonly eq: readonly ["channel", "platform"];
|
|
679
|
-
readonly sort: readonly ["bucket_start_ms"];
|
|
680
|
-
};
|
|
681
|
-
}, never, readonly ["channel", "platform", "app_version", "release_id", "bundle_kind", "bucket_start_ms"]>;
|
|
682
590
|
readonly insights_latest_by_bundle: import("@hot-updater/plugin-core").AggregateDefinition<{
|
|
683
591
|
readonly platform: {
|
|
684
592
|
readonly type: "string";
|
|
@@ -774,8 +682,8 @@ declare const plugins: readonly [import("@hot-updater/plugin-core").HotUpdaterPl
|
|
|
774
682
|
findLatestEvents: (input: InsightsFindLatestEventsInput) => Promise<readonly BundleEventRow[]>;
|
|
775
683
|
countLatestEvents: (input: InsightsCountLatestEventsInput) => Promise<number>;
|
|
776
684
|
countEvents: (input: InsightsCountEventsInput) => Promise<number>;
|
|
685
|
+
countEventSeries: (input: InsightsCountEventSeriesInput) => Promise<readonly InsightsEventSeriesPoint[]>;
|
|
777
686
|
getReleaseActivity: (input: InsightsGetReleaseActivityInput) => Promise<InsightsGetReleaseActivityResult>;
|
|
778
|
-
getDistributionHistory: (input: InsightsGetDistributionHistoryInput) => Promise<InsightsGetDistributionHistoryResult>;
|
|
779
687
|
getAppUsage: (input: InsightsGetAppUsageInput) => Promise<InsightsGetAppUsageResult>;
|
|
780
688
|
getUpdateFailures: (input: InsightsUpdateFailuresInput) => Promise<InsightsUpdateFailures>;
|
|
781
689
|
};
|
package/dist/index.d.mts
CHANGED
|
@@ -168,6 +168,19 @@ interface InsightsCountEventsInput {
|
|
|
168
168
|
readonly sinceMs: number;
|
|
169
169
|
readonly beforeReceivedAtMs: number;
|
|
170
170
|
}
|
|
171
|
+
/** One bundle filter's stored events in each interval of a time range. */
|
|
172
|
+
interface InsightsCountEventSeriesInput {
|
|
173
|
+
readonly filter: InsightsBundleEventFilter;
|
|
174
|
+
/** Whole UTC hours, at most 90 days, that a whole number of intervals fill. */
|
|
175
|
+
readonly timeRange: InsightsTimeRange;
|
|
176
|
+
/** Whole hours each point spans, from `timeRange.start`. */
|
|
177
|
+
readonly intervalMs: number;
|
|
178
|
+
}
|
|
179
|
+
/** Stored events in [startMs, startMs + intervalMs). */
|
|
180
|
+
interface InsightsEventSeriesPoint {
|
|
181
|
+
readonly startMs: number;
|
|
182
|
+
readonly events: number;
|
|
183
|
+
}
|
|
171
184
|
interface ReleaseReference {
|
|
172
185
|
readonly releaseId: string;
|
|
173
186
|
readonly platform: "ios" | "android";
|
|
@@ -186,44 +199,22 @@ type InsightsCoverage = {
|
|
|
186
199
|
readonly kind: "partial";
|
|
187
200
|
readonly sinceMs: number | null;
|
|
188
201
|
};
|
|
202
|
+
/**
|
|
203
|
+
* A release's counts since its first report, from its lifetime counters,
|
|
204
|
+
* which are kept.
|
|
205
|
+
*/
|
|
189
206
|
interface ReleaseActivityMetrics {
|
|
190
207
|
readonly downloads: number;
|
|
191
208
|
readonly launches: number;
|
|
192
209
|
readonly failedLaunches: number;
|
|
193
|
-
/** Omitted for lifetime-only bundle-row reads. */
|
|
194
|
-
readonly uniqueUsers?: number;
|
|
195
|
-
/**
|
|
196
|
-
* Points of each UTC day, or of each `intervalMs` from the period's start
|
|
197
|
-
* on a release read that asks for one; present only for period reads.
|
|
198
|
-
*/
|
|
199
|
-
readonly series?: readonly {
|
|
200
|
-
readonly startMs: number;
|
|
201
|
-
readonly downloads: number;
|
|
202
|
-
readonly launches: number;
|
|
203
|
-
readonly failedLaunches: number;
|
|
204
|
-
}[];
|
|
205
210
|
}
|
|
206
|
-
|
|
211
|
+
interface InsightsGetReleaseActivityInput {
|
|
212
|
+
/** 1 to 100 releases. */
|
|
207
213
|
readonly releases: readonly ReleaseReference[];
|
|
208
|
-
|
|
209
|
-
/**
|
|
210
|
-
* Whole hours each series point spans, from `timeRange.start`, with
|
|
211
|
-
* every point present; omitted, the series has a point per UTC day
|
|
212
|
-
* with reports. Only with a `timeRange`.
|
|
213
|
-
*/
|
|
214
|
-
readonly intervalMs?: number;
|
|
215
|
-
readonly scope?: never;
|
|
216
|
-
} | {
|
|
217
|
-
readonly scope: InsightsScope;
|
|
218
|
-
readonly timeRange: InsightsTimeRange;
|
|
219
|
-
readonly intervalMs?: never;
|
|
220
|
-
readonly releases?: never;
|
|
221
|
-
};
|
|
214
|
+
}
|
|
222
215
|
interface InsightsGetReleaseActivityResult {
|
|
223
|
-
readonly coverage: InsightsCoverage;
|
|
224
216
|
readonly data: readonly {
|
|
225
|
-
readonly release
|
|
226
|
-
readonly scope?: InsightsScope;
|
|
217
|
+
readonly release: ReleaseReference;
|
|
227
218
|
readonly metrics: ReleaseActivityMetrics;
|
|
228
219
|
}[];
|
|
229
220
|
readonly measuredAtMs: number;
|
|
@@ -259,23 +250,6 @@ interface InsightsGetAppUsageResult {
|
|
|
259
250
|
}[];
|
|
260
251
|
readonly measuredAtMs: number;
|
|
261
252
|
}
|
|
262
|
-
/** Whole UTC days, at most 31, including the current unfinished day. */
|
|
263
|
-
interface InsightsGetDistributionHistoryInput extends InsightsScope {
|
|
264
|
-
readonly timeRange: InsightsTimeRange;
|
|
265
|
-
}
|
|
266
|
-
interface InsightsGetDistributionHistoryResult {
|
|
267
|
-
readonly coverage: InsightsCoverage;
|
|
268
|
-
readonly measuredAtMs: number;
|
|
269
|
-
readonly points: readonly {
|
|
270
|
-
readonly startMs: number;
|
|
271
|
-
readonly bundles: readonly {
|
|
272
|
-
readonly appVersion: string;
|
|
273
|
-
readonly releaseId: string | null;
|
|
274
|
-
readonly bundleKind: "release" | "builtin" | "unknown";
|
|
275
|
-
readonly installations: number;
|
|
276
|
-
}[];
|
|
277
|
-
}[];
|
|
278
|
-
}
|
|
279
253
|
//#endregion
|
|
280
254
|
//#region ../insights/dist/server/schema.d.mts
|
|
281
255
|
//#region src/server/schema.d.ts
|
|
@@ -429,10 +403,6 @@ declare const plugins: readonly [import("@hot-updater/plugin-core").HotUpdaterPl
|
|
|
429
403
|
movement_install_id: "string";
|
|
430
404
|
bundle_ref: "string";
|
|
431
405
|
}, {
|
|
432
|
-
readonly recent: {
|
|
433
|
-
readonly eq: readonly ["channel", "platform", "day"];
|
|
434
|
-
readonly sort: readonly ["received_at_ms"];
|
|
435
|
-
};
|
|
436
406
|
readonly movementsByInstall: {
|
|
437
407
|
readonly eq: readonly ["movement_install_id"];
|
|
438
408
|
readonly sort: readonly ["received_at_ms"];
|
|
@@ -532,7 +502,7 @@ declare const plugins: readonly [import("@hot-updater/plugin-core").HotUpdaterPl
|
|
|
532
502
|
readonly eq: readonly ["identity"];
|
|
533
503
|
readonly sort: readonly ["bucket_start_ms"];
|
|
534
504
|
};
|
|
535
|
-
}, "
|
|
505
|
+
}, "activity_users" | "failed_users", readonly ["identity", "bucket_start_ms"]>;
|
|
536
506
|
readonly insights_overview_daily: import("@hot-updater/plugin-core").AggregateDefinition<{
|
|
537
507
|
readonly identity: {
|
|
538
508
|
readonly type: "string";
|
|
@@ -560,7 +530,7 @@ declare const plugins: readonly [import("@hot-updater/plugin-core").HotUpdaterPl
|
|
|
560
530
|
readonly eq: readonly ["identity"];
|
|
561
531
|
readonly sort: readonly ["bucket_start_ms"];
|
|
562
532
|
};
|
|
563
|
-
}, "
|
|
533
|
+
}, "activity_users" | "failed_users", readonly ["identity", "bucket_start_ms"]>;
|
|
564
534
|
readonly insights_overview_lifetime: import("@hot-updater/plugin-core").AggregateDefinition<{
|
|
565
535
|
readonly identity: {
|
|
566
536
|
readonly type: "string";
|
|
@@ -617,68 +587,6 @@ declare const plugins: readonly [import("@hot-updater/plugin-core").HotUpdaterPl
|
|
|
617
587
|
readonly sort: readonly ["bucket_start_ms"];
|
|
618
588
|
};
|
|
619
589
|
}, never, readonly ["channel", "platform", "app_version", "release_id", "bucket_start_ms"]>;
|
|
620
|
-
readonly bundle_daily_heads: import("@hot-updater/plugin-core").TableDefinition<{
|
|
621
|
-
readonly install_id: {
|
|
622
|
-
readonly type: "string";
|
|
623
|
-
readonly maxLength: 255;
|
|
624
|
-
};
|
|
625
|
-
readonly bucket_start_ms: {
|
|
626
|
-
readonly type: "integer";
|
|
627
|
-
};
|
|
628
|
-
readonly id: {
|
|
629
|
-
readonly type: "string";
|
|
630
|
-
readonly maxLength: 36;
|
|
631
|
-
};
|
|
632
|
-
readonly received_at_ms: {
|
|
633
|
-
readonly type: "integer";
|
|
634
|
-
};
|
|
635
|
-
readonly channel: {
|
|
636
|
-
readonly type: "string";
|
|
637
|
-
};
|
|
638
|
-
readonly platform: {
|
|
639
|
-
readonly type: "string";
|
|
640
|
-
readonly maxLength: 16;
|
|
641
|
-
};
|
|
642
|
-
readonly app_version: {
|
|
643
|
-
readonly type: "string";
|
|
644
|
-
};
|
|
645
|
-
readonly release_id: {
|
|
646
|
-
readonly type: "string";
|
|
647
|
-
readonly maxLength: 36;
|
|
648
|
-
};
|
|
649
|
-
readonly bundle_kind: {
|
|
650
|
-
readonly type: "string";
|
|
651
|
-
readonly maxLength: 16;
|
|
652
|
-
};
|
|
653
|
-
}, Readonly<Record<string, import("@hot-updater/plugin-core").FieldType>>, {}, readonly ["install_id", "bucket_start_ms"]>;
|
|
654
|
-
readonly insights_distribution_history: import("@hot-updater/plugin-core").AggregateDefinition<{
|
|
655
|
-
readonly channel: {
|
|
656
|
-
readonly type: "string";
|
|
657
|
-
};
|
|
658
|
-
readonly platform: {
|
|
659
|
-
readonly type: "string";
|
|
660
|
-
readonly maxLength: 16;
|
|
661
|
-
};
|
|
662
|
-
readonly app_version: {
|
|
663
|
-
readonly type: "string";
|
|
664
|
-
};
|
|
665
|
-
readonly release_id: {
|
|
666
|
-
readonly type: "string";
|
|
667
|
-
readonly maxLength: 36;
|
|
668
|
-
};
|
|
669
|
-
readonly bundle_kind: {
|
|
670
|
-
readonly type: "string";
|
|
671
|
-
readonly maxLength: 16;
|
|
672
|
-
};
|
|
673
|
-
readonly bucket_start_ms: {
|
|
674
|
-
readonly type: "integer";
|
|
675
|
-
};
|
|
676
|
-
}, "installations", {
|
|
677
|
-
readonly byScope: {
|
|
678
|
-
readonly eq: readonly ["channel", "platform"];
|
|
679
|
-
readonly sort: readonly ["bucket_start_ms"];
|
|
680
|
-
};
|
|
681
|
-
}, never, readonly ["channel", "platform", "app_version", "release_id", "bundle_kind", "bucket_start_ms"]>;
|
|
682
590
|
readonly insights_latest_by_bundle: import("@hot-updater/plugin-core").AggregateDefinition<{
|
|
683
591
|
readonly platform: {
|
|
684
592
|
readonly type: "string";
|
|
@@ -774,8 +682,8 @@ declare const plugins: readonly [import("@hot-updater/plugin-core").HotUpdaterPl
|
|
|
774
682
|
findLatestEvents: (input: InsightsFindLatestEventsInput) => Promise<readonly BundleEventRow[]>;
|
|
775
683
|
countLatestEvents: (input: InsightsCountLatestEventsInput) => Promise<number>;
|
|
776
684
|
countEvents: (input: InsightsCountEventsInput) => Promise<number>;
|
|
685
|
+
countEventSeries: (input: InsightsCountEventSeriesInput) => Promise<readonly InsightsEventSeriesPoint[]>;
|
|
777
686
|
getReleaseActivity: (input: InsightsGetReleaseActivityInput) => Promise<InsightsGetReleaseActivityResult>;
|
|
778
|
-
getDistributionHistory: (input: InsightsGetDistributionHistoryInput) => Promise<InsightsGetDistributionHistoryResult>;
|
|
779
687
|
getAppUsage: (input: InsightsGetAppUsageInput) => Promise<InsightsGetAppUsageResult>;
|
|
780
688
|
getUpdateFailures: (input: InsightsUpdateFailuresInput) => Promise<InsightsUpdateFailures>;
|
|
781
689
|
};
|
package/dist/worker/index.d.cts
CHANGED
|
@@ -156,6 +156,19 @@ interface InsightsCountEventsInput {
|
|
|
156
156
|
readonly sinceMs: number;
|
|
157
157
|
readonly beforeReceivedAtMs: number;
|
|
158
158
|
}
|
|
159
|
+
/** One bundle filter's stored events in each interval of a time range. */
|
|
160
|
+
interface InsightsCountEventSeriesInput {
|
|
161
|
+
readonly filter: InsightsBundleEventFilter;
|
|
162
|
+
/** Whole UTC hours, at most 90 days, that a whole number of intervals fill. */
|
|
163
|
+
readonly timeRange: InsightsTimeRange;
|
|
164
|
+
/** Whole hours each point spans, from `timeRange.start`. */
|
|
165
|
+
readonly intervalMs: number;
|
|
166
|
+
}
|
|
167
|
+
/** Stored events in [startMs, startMs + intervalMs). */
|
|
168
|
+
interface InsightsEventSeriesPoint {
|
|
169
|
+
readonly startMs: number;
|
|
170
|
+
readonly events: number;
|
|
171
|
+
}
|
|
159
172
|
interface ReleaseReference {
|
|
160
173
|
readonly releaseId: string;
|
|
161
174
|
readonly platform: "ios" | "android";
|
|
@@ -174,44 +187,22 @@ type InsightsCoverage = {
|
|
|
174
187
|
readonly kind: "partial";
|
|
175
188
|
readonly sinceMs: number | null;
|
|
176
189
|
};
|
|
190
|
+
/**
|
|
191
|
+
* A release's counts since its first report, from its lifetime counters,
|
|
192
|
+
* which are kept.
|
|
193
|
+
*/
|
|
177
194
|
interface ReleaseActivityMetrics {
|
|
178
195
|
readonly downloads: number;
|
|
179
196
|
readonly launches: number;
|
|
180
197
|
readonly failedLaunches: number;
|
|
181
|
-
/** Omitted for lifetime-only bundle-row reads. */
|
|
182
|
-
readonly uniqueUsers?: number;
|
|
183
|
-
/**
|
|
184
|
-
* Points of each UTC day, or of each `intervalMs` from the period's start
|
|
185
|
-
* on a release read that asks for one; present only for period reads.
|
|
186
|
-
*/
|
|
187
|
-
readonly series?: readonly {
|
|
188
|
-
readonly startMs: number;
|
|
189
|
-
readonly downloads: number;
|
|
190
|
-
readonly launches: number;
|
|
191
|
-
readonly failedLaunches: number;
|
|
192
|
-
}[];
|
|
193
198
|
}
|
|
194
|
-
|
|
199
|
+
interface InsightsGetReleaseActivityInput {
|
|
200
|
+
/** 1 to 100 releases. */
|
|
195
201
|
readonly releases: readonly ReleaseReference[];
|
|
196
|
-
|
|
197
|
-
/**
|
|
198
|
-
* Whole hours each series point spans, from `timeRange.start`, with
|
|
199
|
-
* every point present; omitted, the series has a point per UTC day
|
|
200
|
-
* with reports. Only with a `timeRange`.
|
|
201
|
-
*/
|
|
202
|
-
readonly intervalMs?: number;
|
|
203
|
-
readonly scope?: never;
|
|
204
|
-
} | {
|
|
205
|
-
readonly scope: InsightsScope;
|
|
206
|
-
readonly timeRange: InsightsTimeRange;
|
|
207
|
-
readonly intervalMs?: never;
|
|
208
|
-
readonly releases?: never;
|
|
209
|
-
};
|
|
202
|
+
}
|
|
210
203
|
interface InsightsGetReleaseActivityResult {
|
|
211
|
-
readonly coverage: InsightsCoverage;
|
|
212
204
|
readonly data: readonly {
|
|
213
|
-
readonly release
|
|
214
|
-
readonly scope?: InsightsScope;
|
|
205
|
+
readonly release: ReleaseReference;
|
|
215
206
|
readonly metrics: ReleaseActivityMetrics;
|
|
216
207
|
}[];
|
|
217
208
|
readonly measuredAtMs: number;
|
|
@@ -247,23 +238,6 @@ interface InsightsGetAppUsageResult {
|
|
|
247
238
|
}[];
|
|
248
239
|
readonly measuredAtMs: number;
|
|
249
240
|
}
|
|
250
|
-
/** Whole UTC days, at most 31, including the current unfinished day. */
|
|
251
|
-
interface InsightsGetDistributionHistoryInput extends InsightsScope {
|
|
252
|
-
readonly timeRange: InsightsTimeRange;
|
|
253
|
-
}
|
|
254
|
-
interface InsightsGetDistributionHistoryResult {
|
|
255
|
-
readonly coverage: InsightsCoverage;
|
|
256
|
-
readonly measuredAtMs: number;
|
|
257
|
-
readonly points: readonly {
|
|
258
|
-
readonly startMs: number;
|
|
259
|
-
readonly bundles: readonly {
|
|
260
|
-
readonly appVersion: string;
|
|
261
|
-
readonly releaseId: string | null;
|
|
262
|
-
readonly bundleKind: "release" | "builtin" | "unknown";
|
|
263
|
-
readonly installations: number;
|
|
264
|
-
}[];
|
|
265
|
-
}[];
|
|
266
|
-
}
|
|
267
241
|
//#endregion
|
|
268
242
|
//#region ../insights/dist/server/schema.d.mts
|
|
269
243
|
//#region src/server/schema.d.ts
|
|
@@ -417,10 +391,6 @@ declare const plugins: readonly [import("@hot-updater/plugin-core").HotUpdaterPl
|
|
|
417
391
|
movement_install_id: "string";
|
|
418
392
|
bundle_ref: "string";
|
|
419
393
|
}, {
|
|
420
|
-
readonly recent: {
|
|
421
|
-
readonly eq: readonly ["channel", "platform", "day"];
|
|
422
|
-
readonly sort: readonly ["received_at_ms"];
|
|
423
|
-
};
|
|
424
394
|
readonly movementsByInstall: {
|
|
425
395
|
readonly eq: readonly ["movement_install_id"];
|
|
426
396
|
readonly sort: readonly ["received_at_ms"];
|
|
@@ -520,7 +490,7 @@ declare const plugins: readonly [import("@hot-updater/plugin-core").HotUpdaterPl
|
|
|
520
490
|
readonly eq: readonly ["identity"];
|
|
521
491
|
readonly sort: readonly ["bucket_start_ms"];
|
|
522
492
|
};
|
|
523
|
-
}, "
|
|
493
|
+
}, "activity_users" | "failed_users", readonly ["identity", "bucket_start_ms"]>;
|
|
524
494
|
readonly insights_overview_daily: import("@hot-updater/plugin-core").AggregateDefinition<{
|
|
525
495
|
readonly identity: {
|
|
526
496
|
readonly type: "string";
|
|
@@ -548,7 +518,7 @@ declare const plugins: readonly [import("@hot-updater/plugin-core").HotUpdaterPl
|
|
|
548
518
|
readonly eq: readonly ["identity"];
|
|
549
519
|
readonly sort: readonly ["bucket_start_ms"];
|
|
550
520
|
};
|
|
551
|
-
}, "
|
|
521
|
+
}, "activity_users" | "failed_users", readonly ["identity", "bucket_start_ms"]>;
|
|
552
522
|
readonly insights_overview_lifetime: import("@hot-updater/plugin-core").AggregateDefinition<{
|
|
553
523
|
readonly identity: {
|
|
554
524
|
readonly type: "string";
|
|
@@ -605,68 +575,6 @@ declare const plugins: readonly [import("@hot-updater/plugin-core").HotUpdaterPl
|
|
|
605
575
|
readonly sort: readonly ["bucket_start_ms"];
|
|
606
576
|
};
|
|
607
577
|
}, never, readonly ["channel", "platform", "app_version", "release_id", "bucket_start_ms"]>;
|
|
608
|
-
readonly bundle_daily_heads: import("@hot-updater/plugin-core").TableDefinition<{
|
|
609
|
-
readonly install_id: {
|
|
610
|
-
readonly type: "string";
|
|
611
|
-
readonly maxLength: 255;
|
|
612
|
-
};
|
|
613
|
-
readonly bucket_start_ms: {
|
|
614
|
-
readonly type: "integer";
|
|
615
|
-
};
|
|
616
|
-
readonly id: {
|
|
617
|
-
readonly type: "string";
|
|
618
|
-
readonly maxLength: 36;
|
|
619
|
-
};
|
|
620
|
-
readonly received_at_ms: {
|
|
621
|
-
readonly type: "integer";
|
|
622
|
-
};
|
|
623
|
-
readonly channel: {
|
|
624
|
-
readonly type: "string";
|
|
625
|
-
};
|
|
626
|
-
readonly platform: {
|
|
627
|
-
readonly type: "string";
|
|
628
|
-
readonly maxLength: 16;
|
|
629
|
-
};
|
|
630
|
-
readonly app_version: {
|
|
631
|
-
readonly type: "string";
|
|
632
|
-
};
|
|
633
|
-
readonly release_id: {
|
|
634
|
-
readonly type: "string";
|
|
635
|
-
readonly maxLength: 36;
|
|
636
|
-
};
|
|
637
|
-
readonly bundle_kind: {
|
|
638
|
-
readonly type: "string";
|
|
639
|
-
readonly maxLength: 16;
|
|
640
|
-
};
|
|
641
|
-
}, Readonly<Record<string, import("@hot-updater/plugin-core").FieldType>>, {}, readonly ["install_id", "bucket_start_ms"]>;
|
|
642
|
-
readonly insights_distribution_history: import("@hot-updater/plugin-core").AggregateDefinition<{
|
|
643
|
-
readonly channel: {
|
|
644
|
-
readonly type: "string";
|
|
645
|
-
};
|
|
646
|
-
readonly platform: {
|
|
647
|
-
readonly type: "string";
|
|
648
|
-
readonly maxLength: 16;
|
|
649
|
-
};
|
|
650
|
-
readonly app_version: {
|
|
651
|
-
readonly type: "string";
|
|
652
|
-
};
|
|
653
|
-
readonly release_id: {
|
|
654
|
-
readonly type: "string";
|
|
655
|
-
readonly maxLength: 36;
|
|
656
|
-
};
|
|
657
|
-
readonly bundle_kind: {
|
|
658
|
-
readonly type: "string";
|
|
659
|
-
readonly maxLength: 16;
|
|
660
|
-
};
|
|
661
|
-
readonly bucket_start_ms: {
|
|
662
|
-
readonly type: "integer";
|
|
663
|
-
};
|
|
664
|
-
}, "installations", {
|
|
665
|
-
readonly byScope: {
|
|
666
|
-
readonly eq: readonly ["channel", "platform"];
|
|
667
|
-
readonly sort: readonly ["bucket_start_ms"];
|
|
668
|
-
};
|
|
669
|
-
}, never, readonly ["channel", "platform", "app_version", "release_id", "bundle_kind", "bucket_start_ms"]>;
|
|
670
578
|
readonly insights_latest_by_bundle: import("@hot-updater/plugin-core").AggregateDefinition<{
|
|
671
579
|
readonly platform: {
|
|
672
580
|
readonly type: "string";
|
|
@@ -762,8 +670,8 @@ declare const plugins: readonly [import("@hot-updater/plugin-core").HotUpdaterPl
|
|
|
762
670
|
findLatestEvents: (input: InsightsFindLatestEventsInput) => Promise<readonly BundleEventRow[]>;
|
|
763
671
|
countLatestEvents: (input: InsightsCountLatestEventsInput) => Promise<number>;
|
|
764
672
|
countEvents: (input: InsightsCountEventsInput) => Promise<number>;
|
|
673
|
+
countEventSeries: (input: InsightsCountEventSeriesInput) => Promise<readonly InsightsEventSeriesPoint[]>;
|
|
765
674
|
getReleaseActivity: (input: InsightsGetReleaseActivityInput) => Promise<InsightsGetReleaseActivityResult>;
|
|
766
|
-
getDistributionHistory: (input: InsightsGetDistributionHistoryInput) => Promise<InsightsGetDistributionHistoryResult>;
|
|
767
675
|
getAppUsage: (input: InsightsGetAppUsageInput) => Promise<InsightsGetAppUsageResult>;
|
|
768
676
|
getUpdateFailures: (input: InsightsUpdateFailuresInput) => Promise<InsightsUpdateFailures>;
|
|
769
677
|
};
|