@camstack/addon-post-analysis 1.2.372 → 1.2.374
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/{clip-model-registry-YcxOhKAs.mjs → clip-model-registry-BIJ0ZD7t.mjs} +816 -90
- package/dist/{clip-model-registry-CJMlelSr.js → clip-model-registry-BRzN2GzR.js} +816 -90
- package/dist/embedding-encoder/index.js +1 -1
- package/dist/embedding-encoder/index.mjs +1 -1
- package/dist/pipeline-analytics/_stub.js +2 -2
- package/dist/pipeline-analytics/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-jrYcQzE9.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-BYu-s1rf.mjs} +2 -2
- package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-Ds_wGoAi.mjs +26 -0
- package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-BjCURGur.mjs +26 -0
- package/dist/pipeline-analytics/{hostInit-D3mojFCX.mjs → hostInit-DEl2xA0o.mjs} +2 -2
- package/dist/pipeline-analytics/index.js +55 -206
- package/dist/pipeline-analytics/index.mjs +55 -206
- package/dist/pipeline-analytics/remoteEntry.js +1 -1
- package/package.json +1 -1
- package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BrZNQ-qA.mjs +0 -26
- package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-XFjQPo0r.mjs +0 -26
|
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
const require_clip_model_registry = require("../clip-model-registry-
|
|
5
|
+
const require_clip_model_registry = require("../clip-model-registry-BRzN2GzR.js");
|
|
6
6
|
let node_fs = require("node:fs");
|
|
7
7
|
node_fs = require_clip_model_registry.__toESM(node_fs, 1);
|
|
8
8
|
let node_path = require("node:path");
|
|
@@ -13051,6 +13051,19 @@ function recordField(data, key) {
|
|
|
13051
13051
|
* with it — which is why the number is named on both sides.
|
|
13052
13052
|
*/
|
|
13053
13053
|
var NC_STREAM_OFFLINE_REASON = "stale-timeout";
|
|
13054
|
+
/**
|
|
13055
|
+
* The BATTERY outage reasons (D883). A battery camera's sleep is not an
|
|
13056
|
+
* outage and the broker no longer emits one; what it does emit is a failure it
|
|
13057
|
+
* has already named — a demanded wake that delivered nothing, a connection
|
|
13058
|
+
* error while the camera is awake, silence past the battery refresh window.
|
|
13059
|
+
* The 120 s window above is the stale window those share; the extra reasons
|
|
13060
|
+
* are only the broker saying WHICH failure, so they pass the same gate.
|
|
13061
|
+
*/
|
|
13062
|
+
var NC_STREAM_BATTERY_OFFLINE_REASONS = [
|
|
13063
|
+
"wake-timeout",
|
|
13064
|
+
"connection-error",
|
|
13065
|
+
"battery-unreachable"
|
|
13066
|
+
];
|
|
13054
13067
|
/** The recovery that answers a {@link NC_STREAM_OFFLINE_REASON} outage. */
|
|
13055
13068
|
var NC_STREAM_ONLINE_REASON = "recovered";
|
|
13056
13069
|
/**
|
|
@@ -13111,7 +13124,7 @@ function discardedAccessoryLiveness(event, lookup) {
|
|
|
13111
13124
|
}
|
|
13112
13125
|
/** Is this stream-health flip the one the operator asked to hear about? */
|
|
13113
13126
|
function streamHealthAccepted(category, reason) {
|
|
13114
|
-
return category === "stream.online" ? reason === NC_STREAM_ONLINE_REASON : reason === NC_STREAM_OFFLINE_REASON;
|
|
13127
|
+
return category === "stream.online" ? reason === NC_STREAM_ONLINE_REASON : reason === NC_STREAM_OFFLINE_REASON || reason !== void 0 && NC_STREAM_BATTERY_OFFLINE_REASONS.includes(reason);
|
|
13115
13128
|
}
|
|
13116
13129
|
/**
|
|
13117
13130
|
* Describe a system event the intake's GATE dropped, or `null` when the event
|
|
@@ -13459,15 +13472,14 @@ function incomingFromSystemEvent(event, lookup) {
|
|
|
13459
13472
|
case "stream.offline": {
|
|
13460
13473
|
if (!streamHealthAccepted(event.category, stringField(data, "reason"))) return null;
|
|
13461
13474
|
const deviceId = numberField(data, "deviceId");
|
|
13462
|
-
|
|
13463
|
-
if (deviceId === void 0 || camStreamId === void 0) return null;
|
|
13475
|
+
if (deviceId === void 0) return null;
|
|
13464
13476
|
const online = event.category === "stream.online";
|
|
13465
|
-
const profile = stringField(data, "profile");
|
|
13477
|
+
const profile = stringList(data, "camStreamIds").length > 1 ? void 0 : stringField(data, "profile");
|
|
13466
13478
|
const kind = online ? "stream-online" : "stream-offline";
|
|
13467
13479
|
return systemSubject({
|
|
13468
13480
|
facts,
|
|
13469
13481
|
kind,
|
|
13470
|
-
subject: `stream:${
|
|
13482
|
+
subject: `stream:${String(deviceId)}`,
|
|
13471
13483
|
titleKey: `system.${kind}.title`,
|
|
13472
13484
|
bodyKey: profile !== void 0 ? `system.${kind}.body.profiled` : `system.${kind}.body`,
|
|
13473
13485
|
textParams: {
|
|
@@ -16895,10 +16907,22 @@ function updateStateKey(target, nodeId, packageName) {
|
|
|
16895
16907
|
return `update:${target}:${nodeId ?? HUB_NODE}:${packageName}`;
|
|
16896
16908
|
}
|
|
16897
16909
|
var CRASH_SUBJECT_PREFIX = "addon-crash:";
|
|
16910
|
+
/** The current stream-row key: one per device (D883). */
|
|
16911
|
+
var DEVICE_STREAM_KEY = /^stream:\d+$/;
|
|
16898
16912
|
var NcSystemStateLedger = class {
|
|
16899
16913
|
deps;
|
|
16900
16914
|
constructor(deps) {
|
|
16901
16915
|
this.deps = deps;
|
|
16916
|
+
this.closeLegacyStreamKeys();
|
|
16917
|
+
}
|
|
16918
|
+
/**
|
|
16919
|
+
* One-time migration of state keys (D883): a stream row used to be keyed by
|
|
16920
|
+
* `stream:<camStreamId>`; it is now `stream:<deviceId>`. A row still open
|
|
16921
|
+
* under the old shape would never meet its `stream.online`, so it is closed
|
|
16922
|
+
* now and against the loaded rows. Nothing else is touched.
|
|
16923
|
+
*/
|
|
16924
|
+
closeLegacyStreamKeys() {
|
|
16925
|
+
this.closeWhere("legacy-stream-keys", (row) => row.key.startsWith("stream:") && !DEVICE_STREAM_KEY.test(row.key), "legacy-stream-key");
|
|
16902
16926
|
}
|
|
16903
16927
|
/** The open rows, or `null` while the store has never answered. */
|
|
16904
16928
|
openRows() {
|
|
@@ -16969,8 +16993,9 @@ var NcSystemStateLedger = class {
|
|
|
16969
16993
|
* drops a `first-packet` online — a recreated broker's — because it is not
|
|
16970
16994
|
* a recovery worth a notification; it is still proof the stream is up.
|
|
16971
16995
|
*/
|
|
16972
|
-
observeStreamOnline(
|
|
16973
|
-
|
|
16996
|
+
observeStreamOnline(deviceId) {
|
|
16997
|
+
const key = `stream:${String(deviceId)}`;
|
|
16998
|
+
this.closeWhere(key, (row) => row.key === key || row.deviceId === deviceId && row.key.startsWith("stream:") && !DEVICE_STREAM_KEY.test(row.key), "stream-online");
|
|
16974
16999
|
}
|
|
16975
17000
|
/** One `update.available` list: REPLACE the rows of every node it names. */
|
|
16976
17001
|
observeUpdateList(list, atMs) {
|
|
@@ -38337,8 +38362,8 @@ var NcStateSummaryService = class {
|
|
|
38337
38362
|
observeRawEvent(category, data, atMs, sourceNodeId) {
|
|
38338
38363
|
switch (category) {
|
|
38339
38364
|
case "stream.online": {
|
|
38340
|
-
const
|
|
38341
|
-
if (
|
|
38365
|
+
const deviceId = data["deviceId"];
|
|
38366
|
+
if (typeof deviceId === "number") this.ledger.observeStreamOnline(deviceId);
|
|
38342
38367
|
return;
|
|
38343
38368
|
}
|
|
38344
38369
|
case "update.available": {
|
|
@@ -41764,6 +41789,10 @@ var NotificationCenter = class {
|
|
|
41764
41789
|
const system = incoming.subject.systemEvent;
|
|
41765
41790
|
if (system !== void 0) this.stateSummary.observeSystem(system, this.now());
|
|
41766
41791
|
if (system !== void 0) this.updateLandings.observe(system, this.now());
|
|
41792
|
+
if (system !== void 0 && system.kind === "addon-crash-loop") {
|
|
41793
|
+
this.logger.debug("addon-crash-loop is pushed by the hub alert centre, not by a rule", { meta: { subject: system.subject } });
|
|
41794
|
+
return;
|
|
41795
|
+
}
|
|
41767
41796
|
const observation = system !== void 0 ? ledgeredLiveness(system) : null;
|
|
41768
41797
|
if (observation !== null) {
|
|
41769
41798
|
const previous = this.liveness.stateOf(observation.subject);
|
|
@@ -76389,10 +76418,8 @@ function describeTapeStatus(input) {
|
|
|
76389
76418
|
* retention="none — a row goes only when its owner deletes it"
|
|
76390
76419
|
*
|
|
76391
76420
|
* Renamed from the bare `viewer-settings-snapshots` on 2026-08-19: an addon
|
|
76392
|
-
* collection carries its owner's prefix
|
|
76393
|
-
*
|
|
76394
|
-
* under the old name are adopted at boot by
|
|
76395
|
-
* `viewer-settings-legacy-adoption.ts`.
|
|
76421
|
+
* collection carries its owner's prefix. The drained bare table is dropped by
|
|
76422
|
+
* `scripts/hub/drop-dead-tables.ts` (records plan phase 0).
|
|
76396
76423
|
*/
|
|
76397
76424
|
var VIEWER_SETTINGS_SNAPSHOTS_COLLECTION = "pipeline-analytics:viewer-settings-snapshots";
|
|
76398
76425
|
var COLUMNS = [
|
|
@@ -76594,183 +76621,6 @@ function makeViewerSettingsActionHandlers(store) {
|
|
|
76594
76621
|
};
|
|
76595
76622
|
}
|
|
76596
76623
|
//#endregion
|
|
76597
|
-
//#region src/pipeline-analytics/viewer-settings-legacy-adoption.ts
|
|
76598
|
-
/**
|
|
76599
|
-
* @durable class=config owner=pipeline-analytics
|
|
76600
|
-
* write="NOTHING writes it any more — it is the pre-2026-08-19 bare name of
|
|
76601
|
-
* `pipeline-analytics:viewer-settings-snapshots`, declared here only so its
|
|
76602
|
-
* surviving rows can be READ once and moved"
|
|
76603
|
-
* retention="drained, not pruned: a row goes as soon as the successor is
|
|
76604
|
-
* confirmed to hold the same id. The table is empty and inert once every
|
|
76605
|
-
* hub has booted this addon; it is then dropped through the kernel's
|
|
76606
|
-
* `RETIRED_COLLECTIONS` and this module deleted."
|
|
76607
|
-
*
|
|
76608
|
-
* Bare, and therefore a namespacing violation — hence the single
|
|
76609
|
-
* `ALLOWED_BARE` entry in `scripts/check-collection-namespacing.ts`, which
|
|
76610
|
-
* names this file and the condition for removing both.
|
|
76611
|
-
*/
|
|
76612
|
-
var LEGACY_VIEWER_SETTINGS_SNAPSHOTS_COLLECTION = "viewer-settings-snapshots";
|
|
76613
|
-
/**
|
|
76614
|
-
* The ORIGINAL column list, byte-for-byte.
|
|
76615
|
-
*
|
|
76616
|
-
* Do not "tidy" this to reference the successor's constant: they are allowed to
|
|
76617
|
-
* diverge, and the day they do, a shared constant would silently rebuild the
|
|
76618
|
-
* legacy table and destroy the rows.
|
|
76619
|
-
*/
|
|
76620
|
-
var LEGACY_COLUMNS = [
|
|
76621
|
-
{
|
|
76622
|
-
name: "id",
|
|
76623
|
-
type: "TEXT",
|
|
76624
|
-
primaryKey: true,
|
|
76625
|
-
notNull: true
|
|
76626
|
-
},
|
|
76627
|
-
{
|
|
76628
|
-
name: "name",
|
|
76629
|
-
type: "TEXT",
|
|
76630
|
-
notNull: true
|
|
76631
|
-
},
|
|
76632
|
-
{
|
|
76633
|
-
name: "ownerUserId",
|
|
76634
|
-
type: "TEXT",
|
|
76635
|
-
notNull: true
|
|
76636
|
-
},
|
|
76637
|
-
{
|
|
76638
|
-
name: "ownerUsername",
|
|
76639
|
-
type: "TEXT",
|
|
76640
|
-
notNull: true
|
|
76641
|
-
},
|
|
76642
|
-
{
|
|
76643
|
-
name: "createdAt",
|
|
76644
|
-
type: "INTEGER",
|
|
76645
|
-
notNull: true
|
|
76646
|
-
},
|
|
76647
|
-
{
|
|
76648
|
-
name: "updatedAt",
|
|
76649
|
-
type: "INTEGER",
|
|
76650
|
-
notNull: true
|
|
76651
|
-
},
|
|
76652
|
-
{
|
|
76653
|
-
name: "blob",
|
|
76654
|
-
type: "JSON",
|
|
76655
|
-
notNull: true
|
|
76656
|
-
}
|
|
76657
|
-
];
|
|
76658
|
-
/** Bounded read: this table held 1 row on the reference hub. */
|
|
76659
|
-
var LEGACY_READ_LIMIT = 500;
|
|
76660
|
-
function errText(err) {
|
|
76661
|
-
return err instanceof Error ? err.message : String(err);
|
|
76662
|
-
}
|
|
76663
|
-
function asRows(raw) {
|
|
76664
|
-
if (!Array.isArray(raw)) return [];
|
|
76665
|
-
const out = [];
|
|
76666
|
-
for (const item of raw) {
|
|
76667
|
-
if (typeof item !== "object" || item === null) continue;
|
|
76668
|
-
const id = Reflect.get(item, "id");
|
|
76669
|
-
const data = Reflect.get(item, "data");
|
|
76670
|
-
if (typeof id !== "string" || typeof data !== "object" || data === null) continue;
|
|
76671
|
-
out.push({
|
|
76672
|
-
id,
|
|
76673
|
-
data
|
|
76674
|
-
});
|
|
76675
|
-
}
|
|
76676
|
-
return out;
|
|
76677
|
-
}
|
|
76678
|
-
/**
|
|
76679
|
-
* Move every legacy row into the successor and clear the legacy table.
|
|
76680
|
-
*
|
|
76681
|
-
* Returns the number of legacy rows RETIRED — the completion metric, not the
|
|
76682
|
-
* number written. A row copied but not yet verified counts as zero and is
|
|
76683
|
-
* retried on the next boot, which is the safe direction.
|
|
76684
|
-
*/
|
|
76685
|
-
async function adoptLegacyViewerSettingsSnapshots(deps) {
|
|
76686
|
-
await deps.store.declareCollection.mutate({
|
|
76687
|
-
collection: LEGACY_VIEWER_SETTINGS_SNAPSHOTS_COLLECTION,
|
|
76688
|
-
columns: LEGACY_COLUMNS
|
|
76689
|
-
});
|
|
76690
|
-
let legacy;
|
|
76691
|
-
try {
|
|
76692
|
-
legacy = asRows(await deps.store.query.query({
|
|
76693
|
-
collection: LEGACY_VIEWER_SETTINGS_SNAPSHOTS_COLLECTION,
|
|
76694
|
-
filter: { limit: LEGACY_READ_LIMIT }
|
|
76695
|
-
}));
|
|
76696
|
-
} catch (err) {
|
|
76697
|
-
deps.logger.warn("viewer-settings legacy adoption skipped — legacy read failed", { meta: {
|
|
76698
|
-
collection: LEGACY_VIEWER_SETTINGS_SNAPSHOTS_COLLECTION,
|
|
76699
|
-
error: errText(err)
|
|
76700
|
-
} });
|
|
76701
|
-
return 0;
|
|
76702
|
-
}
|
|
76703
|
-
if (legacy.length === 0) return 0;
|
|
76704
|
-
let existing;
|
|
76705
|
-
try {
|
|
76706
|
-
existing = new Set(asRows(await deps.store.query.query({
|
|
76707
|
-
collection: VIEWER_SETTINGS_SNAPSHOTS_COLLECTION,
|
|
76708
|
-
filter: { limit: LEGACY_READ_LIMIT }
|
|
76709
|
-
})).map((r) => r.id));
|
|
76710
|
-
} catch (err) {
|
|
76711
|
-
deps.logger.warn("viewer-settings legacy adoption skipped — successor read failed", { meta: {
|
|
76712
|
-
collection: VIEWER_SETTINGS_SNAPSHOTS_COLLECTION,
|
|
76713
|
-
error: errText(err)
|
|
76714
|
-
} });
|
|
76715
|
-
return 0;
|
|
76716
|
-
}
|
|
76717
|
-
let written = 0;
|
|
76718
|
-
for (const row of legacy) {
|
|
76719
|
-
if (existing.has(row.id)) continue;
|
|
76720
|
-
try {
|
|
76721
|
-
await deps.store.set.mutate({
|
|
76722
|
-
collection: VIEWER_SETTINGS_SNAPSHOTS_COLLECTION,
|
|
76723
|
-
key: row.id,
|
|
76724
|
-
value: row.data
|
|
76725
|
-
});
|
|
76726
|
-
written += 1;
|
|
76727
|
-
} catch (err) {
|
|
76728
|
-
deps.logger.warn("viewer-settings legacy adoption — one row failed to write", { meta: {
|
|
76729
|
-
snapshotId: row.id,
|
|
76730
|
-
error: errText(err)
|
|
76731
|
-
} });
|
|
76732
|
-
}
|
|
76733
|
-
}
|
|
76734
|
-
let landed;
|
|
76735
|
-
try {
|
|
76736
|
-
landed = new Set(asRows(await deps.store.query.query({
|
|
76737
|
-
collection: VIEWER_SETTINGS_SNAPSHOTS_COLLECTION,
|
|
76738
|
-
filter: { limit: LEGACY_READ_LIMIT }
|
|
76739
|
-
})).map((r) => r.id));
|
|
76740
|
-
} catch (err) {
|
|
76741
|
-
deps.logger.warn("viewer-settings legacy adoption — verification read failed, legacy rows kept", { meta: {
|
|
76742
|
-
written,
|
|
76743
|
-
error: errText(err)
|
|
76744
|
-
} });
|
|
76745
|
-
return 0;
|
|
76746
|
-
}
|
|
76747
|
-
let retired = 0;
|
|
76748
|
-
for (const row of legacy) {
|
|
76749
|
-
if (!landed.has(row.id)) continue;
|
|
76750
|
-
try {
|
|
76751
|
-
await deps.store.delete.mutate({
|
|
76752
|
-
collection: LEGACY_VIEWER_SETTINGS_SNAPSHOTS_COLLECTION,
|
|
76753
|
-
key: row.id
|
|
76754
|
-
});
|
|
76755
|
-
retired += 1;
|
|
76756
|
-
} catch (err) {
|
|
76757
|
-
deps.logger.warn("viewer-settings legacy adoption — one legacy row failed to delete", { meta: {
|
|
76758
|
-
snapshotId: row.id,
|
|
76759
|
-
error: errText(err)
|
|
76760
|
-
} });
|
|
76761
|
-
}
|
|
76762
|
-
}
|
|
76763
|
-
deps.logger.warn("viewer-settings snapshots adopted from the legacy bare collection", { meta: {
|
|
76764
|
-
from: LEGACY_VIEWER_SETTINGS_SNAPSHOTS_COLLECTION,
|
|
76765
|
-
to: VIEWER_SETTINGS_SNAPSHOTS_COLLECTION,
|
|
76766
|
-
found: legacy.length,
|
|
76767
|
-
written,
|
|
76768
|
-
retired,
|
|
76769
|
-
kept: legacy.length - retired
|
|
76770
|
-
} });
|
|
76771
|
-
return retired;
|
|
76772
|
-
}
|
|
76773
|
-
//#endregion
|
|
76774
76624
|
//#region src/notification-center/event-media/event-media-service.ts
|
|
76775
76625
|
/**
|
|
76776
76626
|
* Long side of the gif.
|
|
@@ -101454,13 +101304,6 @@ var ANALYTICS_COLLECTIONS = [
|
|
|
101454
101304
|
why: "a hub user's named snapshot of their own viewer layout. It is not analytics data — it happens to live in this addon because the actions ride `addons.custom`. Owned by the user who saved it and deleted only by them; no track, device or event can orphan it, and no age applies."
|
|
101455
101305
|
}
|
|
101456
101306
|
},
|
|
101457
|
-
{
|
|
101458
|
-
collection: LEGACY_VIEWER_SETTINGS_SNAPSHOTS_COLLECTION,
|
|
101459
|
-
classification: {
|
|
101460
|
-
kind: "never-orphaned",
|
|
101461
|
-
why: "the drained predecessor of the row above, declared only so its rows can be read once and moved (`viewer-settings-legacy-adoption.ts`). Retention must never touch it: its rows go one way only, to the successor, gated on a re-read that confirms they landed. Delete this entry together with that module."
|
|
101462
|
-
}
|
|
101463
|
-
},
|
|
101464
101307
|
{
|
|
101465
101308
|
collection: DEBUG_NOTE_ARCHIVE_COLLECTION,
|
|
101466
101309
|
classification: {
|
|
@@ -106071,7 +105914,9 @@ Object.freeze({
|
|
|
106071
105914
|
},
|
|
106072
105915
|
"setDeviceConfig": { "config": { "__nested__": { "bands": [] } } }
|
|
106073
105916
|
},
|
|
105917
|
+
"records": { "query": { "limit": 100 } },
|
|
106074
105918
|
"storage": { "upsertLocation": { "isSystem": false } },
|
|
105919
|
+
"storage-admin": { "readRecords": { "limit": 100 } },
|
|
106075
105920
|
"storage-provider": {
|
|
106076
105921
|
"beginDownload": { "location": { "__nested__": { "isSystem": false } } },
|
|
106077
105922
|
"beginUpload": { "location": { "__nested__": { "isSystem": false } } },
|
|
@@ -106507,6 +106352,18 @@ Object.freeze({
|
|
|
106507
106352
|
{
|
|
106508
106353
|
"path": "swingHorizontal",
|
|
106509
106354
|
"valueType": "boolean"
|
|
106355
|
+
},
|
|
106356
|
+
{
|
|
106357
|
+
"path": "minTemp",
|
|
106358
|
+
"valueType": "number"
|
|
106359
|
+
},
|
|
106360
|
+
{
|
|
106361
|
+
"path": "maxTemp",
|
|
106362
|
+
"valueType": "number"
|
|
106363
|
+
},
|
|
106364
|
+
{
|
|
106365
|
+
"path": "tempStep",
|
|
106366
|
+
"valueType": "number"
|
|
106510
106367
|
}
|
|
106511
106368
|
],
|
|
106512
106369
|
"color": [
|
|
@@ -114684,14 +114541,6 @@ var PipelineAnalyticsAddon = class PipelineAnalyticsAddon extends require_clip_m
|
|
|
114684
114541
|
logger: this.ctx.logger.child("SweepCursors")
|
|
114685
114542
|
});
|
|
114686
114543
|
this.viewerSettingsSnapshots = new ViewerSettingsSnapshotStore(api.settingsStore);
|
|
114687
|
-
try {
|
|
114688
|
-
await adoptLegacyViewerSettingsSnapshots({
|
|
114689
|
-
store: api.settingsStore,
|
|
114690
|
-
logger: this.ctx.logger.child("viewer-settings")
|
|
114691
|
-
});
|
|
114692
|
-
} catch (err) {
|
|
114693
|
-
this.ctx.logger.warn("viewer-settings legacy adoption threw", { meta: { error: require_clip_model_registry.errMsg(err) } });
|
|
114694
|
-
}
|
|
114695
114544
|
runLabelTierMigration({
|
|
114696
114545
|
store: api.settingsStore,
|
|
114697
114546
|
logger: this.ctx.logger,
|