@camstack/addon-post-analysis 1.2.170 → 1.2.171
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/{dist-DEVmtsZY.js → dist-0kEjfSjL.js} +30 -3
- package/dist/{dist-DSPOn9Cb.mjs → dist-DZmz2kP-.mjs} +30 -3
- package/dist/embedding-encoder/index.js +1 -1
- package/dist/embedding-encoder/index.mjs +1 -1
- package/dist/pipeline-analytics/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-DQYIAs-M.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-Bb93NF26.mjs} +3 -3
- package/dist/pipeline-analytics/{hostInit-CHUGi7NV.mjs → hostInit-BzPifeT0.mjs} +3 -3
- package/dist/pipeline-analytics/index.js +3 -1
- package/dist/pipeline-analytics/index.mjs +3 -1
- package/dist/pipeline-analytics/remoteEntry.js +1 -1
- package/package.json +1 -1
|
@@ -20213,7 +20213,20 @@ var RecentTracksQueryInput = object({
|
|
|
20213
20213
|
projection: TrackProjectionSchema.optional(),
|
|
20214
20214
|
/** Include stationary-promoted rows (parked objects). Default false: the
|
|
20215
20215
|
* feed lists passages; parking records live on the stationary registry. */
|
|
20216
|
-
includeStationary: boolean().optional()
|
|
20216
|
+
includeStationary: boolean().optional(),
|
|
20217
|
+
/**
|
|
20218
|
+
* Restrict to these track classes. ABSENT or EMPTY means no filter.
|
|
20219
|
+
*
|
|
20220
|
+
* The same filter `listTracks` takes, because the timeline's class chips must
|
|
20221
|
+
* mean the same thing whether the scope is one camera or twelve. Until this
|
|
20222
|
+
* existed the scoped feed downloaded a page and narrowed it on the phone
|
|
20223
|
+
* while the single-camera path narrowed the read — one filter, two costs.
|
|
20224
|
+
*
|
|
20225
|
+
* A SUPERSET prefilter on `classes[]`, like its single-camera twin: rows
|
|
20226
|
+
* whose class list is unreadable are kept, and the client's rule stays the
|
|
20227
|
+
* exact one.
|
|
20228
|
+
*/
|
|
20229
|
+
classes: array(string()).optional()
|
|
20217
20230
|
});
|
|
20218
20231
|
var RecentTracksPageSchema = object({
|
|
20219
20232
|
/** Merged page, ordered by (`lastSeen` DESC, `trackId` DESC). */
|
|
@@ -24964,8 +24977,22 @@ var automationControlCapability = {
|
|
|
24964
24977
|
* threshold.
|
|
24965
24978
|
*/
|
|
24966
24979
|
var BatteryStatusSchema = object({
|
|
24967
|
-
/**
|
|
24968
|
-
|
|
24980
|
+
/**
|
|
24981
|
+
* 0..100 inclusive, firmware-reported. **`null` means NOT YET KNOWN** — the
|
|
24982
|
+
* provider has registered the capability but no reading has landed.
|
|
24983
|
+
*
|
|
24984
|
+
* It is nullable because it was not, and the only value a provider could
|
|
24985
|
+
* seed with was `0`. A battery camera behind an NVR therefore announced
|
|
24986
|
+
* itself at 0% on every start and corrected itself a moment later, which is
|
|
24987
|
+
* indistinguishable from a real flat battery: it fires the low-battery alert
|
|
24988
|
+
* every time the hub restarts. Unknown is not empty (D315), and on a battery
|
|
24989
|
+
* reading the difference is an alarm.
|
|
24990
|
+
*
|
|
24991
|
+
* `vacuum-control` and `lawn-mower-control` already model it this way.
|
|
24992
|
+
* Consumers must SKIP a null rather than coerce it — `battery-band` already
|
|
24993
|
+
* declines to band a non-finite reading, which is the correct shape.
|
|
24994
|
+
*/
|
|
24995
|
+
percentage: number().min(0).max(100).nullable(),
|
|
24969
24996
|
/**
|
|
24970
24997
|
* Charging source. `'dc'` covers wall/USB adapters; `'solar'` is
|
|
24971
24998
|
* Reolink-specific for the Solar Panel 2 accessory (will become
|
|
@@ -20182,7 +20182,20 @@ var RecentTracksQueryInput = object({
|
|
|
20182
20182
|
projection: TrackProjectionSchema.optional(),
|
|
20183
20183
|
/** Include stationary-promoted rows (parked objects). Default false: the
|
|
20184
20184
|
* feed lists passages; parking records live on the stationary registry. */
|
|
20185
|
-
includeStationary: boolean().optional()
|
|
20185
|
+
includeStationary: boolean().optional(),
|
|
20186
|
+
/**
|
|
20187
|
+
* Restrict to these track classes. ABSENT or EMPTY means no filter.
|
|
20188
|
+
*
|
|
20189
|
+
* The same filter `listTracks` takes, because the timeline's class chips must
|
|
20190
|
+
* mean the same thing whether the scope is one camera or twelve. Until this
|
|
20191
|
+
* existed the scoped feed downloaded a page and narrowed it on the phone
|
|
20192
|
+
* while the single-camera path narrowed the read — one filter, two costs.
|
|
20193
|
+
*
|
|
20194
|
+
* A SUPERSET prefilter on `classes[]`, like its single-camera twin: rows
|
|
20195
|
+
* whose class list is unreadable are kept, and the client's rule stays the
|
|
20196
|
+
* exact one.
|
|
20197
|
+
*/
|
|
20198
|
+
classes: array(string()).optional()
|
|
20186
20199
|
});
|
|
20187
20200
|
var RecentTracksPageSchema = object({
|
|
20188
20201
|
/** Merged page, ordered by (`lastSeen` DESC, `trackId` DESC). */
|
|
@@ -24933,8 +24946,22 @@ var automationControlCapability = {
|
|
|
24933
24946
|
* threshold.
|
|
24934
24947
|
*/
|
|
24935
24948
|
var BatteryStatusSchema = object({
|
|
24936
|
-
/**
|
|
24937
|
-
|
|
24949
|
+
/**
|
|
24950
|
+
* 0..100 inclusive, firmware-reported. **`null` means NOT YET KNOWN** — the
|
|
24951
|
+
* provider has registered the capability but no reading has landed.
|
|
24952
|
+
*
|
|
24953
|
+
* It is nullable because it was not, and the only value a provider could
|
|
24954
|
+
* seed with was `0`. A battery camera behind an NVR therefore announced
|
|
24955
|
+
* itself at 0% on every start and corrected itself a moment later, which is
|
|
24956
|
+
* indistinguishable from a real flat battery: it fires the low-battery alert
|
|
24957
|
+
* every time the hub restarts. Unknown is not empty (D315), and on a battery
|
|
24958
|
+
* reading the difference is an alarm.
|
|
24959
|
+
*
|
|
24960
|
+
* `vacuum-control` and `lawn-mower-control` already model it this way.
|
|
24961
|
+
* Consumers must SKIP a null rather than coerce it — `battery-band` already
|
|
24962
|
+
* declines to band a non-finite reading, which is the correct shape.
|
|
24963
|
+
*/
|
|
24964
|
+
percentage: number().min(0).max(100).nullable(),
|
|
24938
24965
|
/**
|
|
24939
24966
|
* Charging source. `'dc'` covers wall/USB adapters; `'solar'` is
|
|
24940
24967
|
* Reolink-specific for the Solar Panel 2 accessory (will become
|
|
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
const require_dist = require("../dist-
|
|
5
|
+
const require_dist = require("../dist-0kEjfSjL.js");
|
|
6
6
|
let node_fs = require("node:fs");
|
|
7
7
|
node_fs = require_dist.__toESM(node_fs);
|
|
8
8
|
let node_path = require("node:path");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { At as BaseAddon, F as PoolMemoryWatchdog, St as resolvePoolMemoryPolicy, at as embeddingEncoderCapability, gt as parseProcStatus, ut as hfModelUrl } from "../dist-
|
|
1
|
+
import { At as BaseAddon, F as PoolMemoryWatchdog, St as resolvePoolMemoryPolicy, at as embeddingEncoderCapability, gt as parseProcStatus, ut as hfModelUrl } from "../dist-DZmz2kP-.mjs";
|
|
2
2
|
import { createRequire } from "node:module";
|
|
3
3
|
import * as fs from "node:fs";
|
|
4
4
|
import * as path$1 from "node:path";
|
|
@@ -3,7 +3,7 @@ import "./dist-CYZr2fwk.mjs";
|
|
|
3
3
|
var e = {
|
|
4
4
|
"@camstack/sdk": {
|
|
5
5
|
name: "@camstack/sdk",
|
|
6
|
-
version: "1.2.
|
|
6
|
+
version: "1.2.61",
|
|
7
7
|
scope: ["default"],
|
|
8
8
|
loaded: !1,
|
|
9
9
|
from: "addon_pipeline_analytics_widgets",
|
|
@@ -18,7 +18,7 @@ var e = {
|
|
|
18
18
|
},
|
|
19
19
|
"@camstack/types": {
|
|
20
20
|
name: "@camstack/types",
|
|
21
|
-
version: "1.2.
|
|
21
|
+
version: "1.2.141",
|
|
22
22
|
scope: ["default"],
|
|
23
23
|
loaded: !1,
|
|
24
24
|
from: "addon_pipeline_analytics_widgets",
|
|
@@ -33,7 +33,7 @@ var e = {
|
|
|
33
33
|
},
|
|
34
34
|
"@camstack/ui-library": {
|
|
35
35
|
name: "@camstack/ui-library",
|
|
36
|
-
version: "1.2.
|
|
36
|
+
version: "1.2.107",
|
|
37
37
|
scope: ["default"],
|
|
38
38
|
loaded: !1,
|
|
39
39
|
from: "addon_pipeline_analytics_widgets",
|
|
@@ -36,7 +36,7 @@ async function r() {
|
|
|
36
36
|
}
|
|
37
37
|
},
|
|
38
38
|
"@camstack/types": {
|
|
39
|
-
version: "1.2.
|
|
39
|
+
version: "1.2.141",
|
|
40
40
|
scope: "default",
|
|
41
41
|
shareConfig: {
|
|
42
42
|
singleton: !0,
|
|
@@ -45,7 +45,7 @@ async function r() {
|
|
|
45
45
|
}
|
|
46
46
|
},
|
|
47
47
|
"@camstack/sdk": {
|
|
48
|
-
version: "1.2.
|
|
48
|
+
version: "1.2.61",
|
|
49
49
|
scope: "default",
|
|
50
50
|
shareConfig: {
|
|
51
51
|
singleton: !0,
|
|
@@ -81,7 +81,7 @@ async function r() {
|
|
|
81
81
|
}
|
|
82
82
|
},
|
|
83
83
|
"@camstack/ui-library": {
|
|
84
|
-
version: "1.2.
|
|
84
|
+
version: "1.2.107",
|
|
85
85
|
scope: "default",
|
|
86
86
|
shareConfig: {
|
|
87
87
|
singleton: !0,
|
|
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
const require_dist = require("../dist-
|
|
5
|
+
const require_dist = require("../dist-0kEjfSjL.js");
|
|
6
6
|
let node_fs = require("node:fs");
|
|
7
7
|
node_fs = require_dist.__toESM(node_fs, 1);
|
|
8
8
|
let node_path = require("node:path");
|
|
@@ -40738,11 +40738,13 @@ var TrackStore = class {
|
|
|
40738
40738
|
nextCursor: null
|
|
40739
40739
|
};
|
|
40740
40740
|
const stationaryExclusion = params.excludeStationaryPromotions === true ? { whereNot: { closedReason: "stationary-promotion" } } : {};
|
|
40741
|
+
const classFilter = params.classes !== void 0 && params.classes.length > 0 ? { whereJsonArrayAny: { classes: [...params.classes] } } : {};
|
|
40741
40742
|
const fetchRange = async (deviceId, range, pageLimit) => this.store.query.query({
|
|
40742
40743
|
collection: TRACKS_COLLECTION,
|
|
40743
40744
|
filter: {
|
|
40744
40745
|
where: { deviceId },
|
|
40745
40746
|
...stationaryExclusion,
|
|
40747
|
+
...classFilter,
|
|
40746
40748
|
whereBetween: { lastSeen: range },
|
|
40747
40749
|
orderBy: {
|
|
40748
40750
|
field: "lastSeen",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as audioModeOf, A as NcSnoozeSchema, At as BaseAddon, B as SCENE_DEFAULT_UNCOVERED_POLICY, Bt as boolean, C as NcConditionDescriptorSchema, Ct as sceneMonitorCapability, D as NcRuleTargetSchema, Dt as videoclipsCapability, E as NcRuleSchema, Et as vectorDimFromBase64, Ft as isDeviceScopedCap, G as TimelapseRulePatchSchema, Gt as partialRecord, H as SceneMonitorSchema, Ht as literal, I as RECORDING_EXPORT_MAX_READ_BYTES, It as nodePin, J as VISIT_MERGE_GAP_MS, Jt as unknown, K as TimelapseRuleSchema, Kt as record, L as RetrainStatusSchema, Lt as sleep$1, M as NcSystemEventKindSchema, Mt as DeviceType, N as NcTaxonomySchema, Nt as createEvent, O as NcScheduleSchema, Ot as zoneAnalyticsCapability, P as OpsLogEntrySchema, Pt as hydrateSchema, Q as audioMetricsCapability, Rt as _enum, S as NC_TAXONOMY, T as NcRulePatchSchema, Tt as systemEventFilterApplies, U as TIMELAPSE_DENSE_FLOOR_SEC, Ut as number, V as SCENE_DIVERGED, Vt as discriminatedUnion, W as TimelapseRuleInputSchema, Wt as object, X as alarmPanelCapability, Y as addonWidgetsSourceCapability, Yt as EventCategory, Z as assertTimelapseCadences, _ as MediaFileKindEnum, _t as pickClusterStepModels, a as DEFAULT_EVENT_COLOR, b as NC_DEFAULT_SNOOZE_MINUTES, bt as readDeviceStateFrom, c as DETECTION_MACRO_CLASSES, ct as faceGalleryCapability, d as EVENT_KIND_BY_CAP, dt as isDetectionMacroClass, et as buildEventKindDescriptor, f as EVENT_PAD_MS, ft as isScheduleActive, g as MACRO_LABELS, h as LabelAttributionSchema, ht as notificationRulesCapability, i as COCO_TO_MACRO, it as deriveRecordingMode, j as NcSnoozeSuppressedSchema, jt as CamProfileSchema, k as NcSnoozeInputSchema, kt as errMsg, lt as failureContributionCapability, m as FailureCounters, mt as kebabToCamel, n as BaseDevice, nt as customAction, ot as encodeVectorBase64, p as FULL_IMAGE_BBOX, pt as isSourceCap, q as TrackSourceSchema, qt as string, r as CLUSTER_MODEL_SCOPED_STEPS, rt as defineCustomActions, st as evaluateSensorEdge, t as AUDIO_MACRO_LABELS, tt as cosineSimilarity$1, u as DeclaredDevices, v as NC_ALARM_SYSTEM_EVENT_KINDS, vt as pipelineAnalyticsCapability, w as NcRuleInputSchema, wt as subKindsOf, xt as readTimelapseGeneratedAt, y as NC_CONDITION_CATALOG, yt as plateGalleryCapability, z as SCENE_DEFAULT_ANCHOR_THRESHOLD, zt as array } from "../dist-
|
|
1
|
+
import { $ as audioModeOf, A as NcSnoozeSchema, At as BaseAddon, B as SCENE_DEFAULT_UNCOVERED_POLICY, Bt as boolean, C as NcConditionDescriptorSchema, Ct as sceneMonitorCapability, D as NcRuleTargetSchema, Dt as videoclipsCapability, E as NcRuleSchema, Et as vectorDimFromBase64, Ft as isDeviceScopedCap, G as TimelapseRulePatchSchema, Gt as partialRecord, H as SceneMonitorSchema, Ht as literal, I as RECORDING_EXPORT_MAX_READ_BYTES, It as nodePin, J as VISIT_MERGE_GAP_MS, Jt as unknown, K as TimelapseRuleSchema, Kt as record, L as RetrainStatusSchema, Lt as sleep$1, M as NcSystemEventKindSchema, Mt as DeviceType, N as NcTaxonomySchema, Nt as createEvent, O as NcScheduleSchema, Ot as zoneAnalyticsCapability, P as OpsLogEntrySchema, Pt as hydrateSchema, Q as audioMetricsCapability, Rt as _enum, S as NC_TAXONOMY, T as NcRulePatchSchema, Tt as systemEventFilterApplies, U as TIMELAPSE_DENSE_FLOOR_SEC, Ut as number, V as SCENE_DIVERGED, Vt as discriminatedUnion, W as TimelapseRuleInputSchema, Wt as object, X as alarmPanelCapability, Y as addonWidgetsSourceCapability, Yt as EventCategory, Z as assertTimelapseCadences, _ as MediaFileKindEnum, _t as pickClusterStepModels, a as DEFAULT_EVENT_COLOR, b as NC_DEFAULT_SNOOZE_MINUTES, bt as readDeviceStateFrom, c as DETECTION_MACRO_CLASSES, ct as faceGalleryCapability, d as EVENT_KIND_BY_CAP, dt as isDetectionMacroClass, et as buildEventKindDescriptor, f as EVENT_PAD_MS, ft as isScheduleActive, g as MACRO_LABELS, h as LabelAttributionSchema, ht as notificationRulesCapability, i as COCO_TO_MACRO, it as deriveRecordingMode, j as NcSnoozeSuppressedSchema, jt as CamProfileSchema, k as NcSnoozeInputSchema, kt as errMsg, lt as failureContributionCapability, m as FailureCounters, mt as kebabToCamel, n as BaseDevice, nt as customAction, ot as encodeVectorBase64, p as FULL_IMAGE_BBOX, pt as isSourceCap, q as TrackSourceSchema, qt as string, r as CLUSTER_MODEL_SCOPED_STEPS, rt as defineCustomActions, st as evaluateSensorEdge, t as AUDIO_MACRO_LABELS, tt as cosineSimilarity$1, u as DeclaredDevices, v as NC_ALARM_SYSTEM_EVENT_KINDS, vt as pipelineAnalyticsCapability, w as NcRuleInputSchema, wt as subKindsOf, xt as readTimelapseGeneratedAt, y as NC_CONDITION_CATALOG, yt as plateGalleryCapability, z as SCENE_DEFAULT_ANCHOR_THRESHOLD, zt as array } from "../dist-DZmz2kP-.mjs";
|
|
2
2
|
import { t as __exportAll } from "../embedding-encoder/index.mjs";
|
|
3
3
|
import * as fs from "node:fs";
|
|
4
4
|
import { promises } from "node:fs";
|
|
@@ -40713,11 +40713,13 @@ var TrackStore = class {
|
|
|
40713
40713
|
nextCursor: null
|
|
40714
40714
|
};
|
|
40715
40715
|
const stationaryExclusion = params.excludeStationaryPromotions === true ? { whereNot: { closedReason: "stationary-promotion" } } : {};
|
|
40716
|
+
const classFilter = params.classes !== void 0 && params.classes.length > 0 ? { whereJsonArrayAny: { classes: [...params.classes] } } : {};
|
|
40716
40717
|
const fetchRange = async (deviceId, range, pageLimit) => this.store.query.query({
|
|
40717
40718
|
collection: TRACKS_COLLECTION,
|
|
40718
40719
|
filter: {
|
|
40719
40720
|
where: { deviceId },
|
|
40720
40721
|
...stationaryExclusion,
|
|
40722
|
+
...classFilter,
|
|
40721
40723
|
whereBetween: { lastSeen: range },
|
|
40722
40724
|
orderBy: {
|
|
40723
40725
|
field: "lastSeen",
|
|
@@ -30,7 +30,7 @@ async function d(e) {
|
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
async function f() {
|
|
33
|
-
return l ||= d(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-
|
|
33
|
+
return l ||= d(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-Bb93NF26.mjs")).catch((e) => {
|
|
34
34
|
throw l = void 0, e;
|
|
35
35
|
}), l;
|
|
36
36
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-post-analysis",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.171",
|
|
4
4
|
"description": "Post-Analysis bundle — enrichment, embedding-encoder, pipeline-analytics. Multi-entry npm package shipping addons that consume pipeline output.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|