@camstack/system 1.2.236 → 1.2.238
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/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
- package/dist/builtins/alerts/alerts.addon.js +1 -1
- package/dist/builtins/alerts/alerts.addon.mjs +1 -1
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +1 -1
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +1 -1
- package/dist/builtins/console-logging/index.js +1 -1
- package/dist/builtins/console-logging/index.mjs +1 -1
- package/dist/builtins/core-blocks/core-blocks.addon.js +1 -1
- package/dist/builtins/core-blocks/core-blocks.addon.mjs +1 -1
- package/dist/builtins/device-manager/device-manager.addon.js +2 -2
- package/dist/builtins/device-manager/device-manager.addon.mjs +2 -2
- package/dist/builtins/doorbell/virtual-doorbell.addon.js +1 -1
- package/dist/builtins/doorbell/virtual-doorbell.addon.mjs +1 -1
- package/dist/builtins/hub-forwarder/index.js +1 -1
- package/dist/builtins/hub-forwarder/index.mjs +1 -1
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
- package/dist/builtins/local-auth/local-auth.addon.js +1 -1
- package/dist/builtins/local-auth/local-auth.addon.mjs +1 -1
- package/dist/builtins/local-network/local-network.addon.js +1 -1
- package/dist/builtins/local-network/local-network.addon.mjs +1 -1
- package/dist/builtins/loki-logging/index.js +1 -1
- package/dist/builtins/loki-logging/index.mjs +1 -1
- package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
- package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
- package/dist/builtins/platform-probe/index.js +1 -1
- package/dist/builtins/platform-probe/index.mjs +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
- package/dist/builtins/snapshot/index.js +1 -1
- package/dist/builtins/snapshot/index.mjs +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +0 -0
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +0 -0
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
- package/dist/builtins/system-config/system-config.addon.js +1 -1
- package/dist/builtins/system-config/system-config.addon.mjs +1 -1
- package/dist/builtins/winston-logging/index.js +1 -1
- package/dist/builtins/winston-logging/index.mjs +1 -1
- package/dist/{dist-Ctn_E3-0.js → dist-CHclfj0J.js} +102 -2
- package/dist/{dist-CGG0rSEx.mjs → dist-D5hpgLSL.mjs} +102 -2
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/{retired-settings-keys-B209Nykf.js → retired-settings-keys-DRKmYztE.js} +1 -1
- package/dist/{retired-settings-keys-oo4mt1CU.mjs → retired-settings-keys-bJE3qjAT.mjs} +1 -1
- package/package.json +1 -1
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
const require_chunk = require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-CHclfj0J.js");
|
|
7
7
|
const require_settle_sources = require("../../settle-sources-Bhsy57y-.js");
|
|
8
8
|
let node_crypto = require("node:crypto");
|
|
9
9
|
let node_path = require("node:path");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Jt as BaseAddon, bn as EventCategory, k as addonPagesCapability, qt as errMsg } from "../../dist-
|
|
1
|
+
import { Jt as BaseAddon, bn as EventCategory, k as addonPagesCapability, qt as errMsg } from "../../dist-D5hpgLSL.mjs";
|
|
2
2
|
import { t as settleSourcesWithTimeout } from "../../settle-sources-CDtNC8ub.mjs";
|
|
3
3
|
import { createHash, randomUUID } from "node:crypto";
|
|
4
4
|
import * as path$1 from "node:path";
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
const require_chunk = require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-CHclfj0J.js");
|
|
7
7
|
const require_settle_sources = require("../../settle-sources-Bhsy57y-.js");
|
|
8
8
|
let node_crypto = require("node:crypto");
|
|
9
9
|
let node_path = require("node:path");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Jt as BaseAddon, bn as EventCategory, j as addonWidgetsCapability, qt as errMsg } from "../../dist-
|
|
1
|
+
import { Jt as BaseAddon, bn as EventCategory, j as addonWidgetsCapability, qt as errMsg } from "../../dist-D5hpgLSL.mjs";
|
|
2
2
|
import { t as settleSourcesWithTimeout } from "../../settle-sources-CDtNC8ub.mjs";
|
|
3
3
|
import { createHash, randomUUID } from "node:crypto";
|
|
4
4
|
import * as path$1 from "node:path";
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-CHclfj0J.js");
|
|
7
7
|
//#region src/builtins/alerts/prune-policy.ts
|
|
8
8
|
/**
|
|
9
9
|
* Ids older than `cutoffMs`, oldest first.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Jt as BaseAddon, M as alertsCapability, bn as EventCategory, n as AlertSchema, qt as errMsg, sn as createEvent } from "../../dist-
|
|
1
|
+
import { Jt as BaseAddon, M as alertsCapability, bn as EventCategory, n as AlertSchema, qt as errMsg, sn as createEvent } from "../../dist-D5hpgLSL.mjs";
|
|
2
2
|
//#region src/builtins/alerts/prune-policy.ts
|
|
3
3
|
/**
|
|
4
4
|
* Ids older than `cutoffMs`, oldest first.
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
const require_chunk = require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-CHclfj0J.js");
|
|
7
7
|
let node_crypto = require("node:crypto");
|
|
8
8
|
let buffer = require("buffer");
|
|
9
9
|
let node_fs_promises = require("node:fs/promises");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Bt as storageOccupancyCapability, Jt as BaseAddon, P as backupCapability, bn as EventCategory, yt as mayWriteToLocation } from "../../dist-
|
|
1
|
+
import { Bt as storageOccupancyCapability, Jt as BaseAddon, P as backupCapability, bn as EventCategory, yt as mayWriteToLocation } from "../../dist-D5hpgLSL.mjs";
|
|
2
2
|
import { randomBytes, randomUUID } from "node:crypto";
|
|
3
3
|
import { Buffer as Buffer$1 } from "buffer";
|
|
4
4
|
import * as fsp from "node:fs/promises";
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-CHclfj0J.js");
|
|
7
7
|
const require_formatter = require("../../formatter-DqAKDlvN.js");
|
|
8
8
|
//#region src/builtins/console-logging/console-destination.ts
|
|
9
9
|
var LEVEL_RANK = {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Jt as BaseAddon, ht as logDestinationCapability } from "../../dist-
|
|
1
|
+
import { Jt as BaseAddon, ht as logDestinationCapability } from "../../dist-D5hpgLSL.mjs";
|
|
2
2
|
import { t as formatLogLine } from "../../formatter-B7qW8bPJ.mjs";
|
|
3
3
|
//#region src/builtins/console-logging/console-destination.ts
|
|
4
4
|
var LEVEL_RANK = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_chunk = require("../../chunk-Cek0wNdY.js");
|
|
3
|
-
const require_dist = require("../../dist-
|
|
3
|
+
const require_dist = require("../../dist-CHclfj0J.js");
|
|
4
4
|
let node_crypto = require("node:crypto");
|
|
5
5
|
let node_fs_promises = require("node:fs/promises");
|
|
6
6
|
node_fs_promises = require_chunk.__toESM(node_fs_promises);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as coreBlockIdFromAddonId, Jt as BaseAddon, V as coreBlocksCapability, c as CORE_BLOCK_ADDON_PREFIX, d as DeclaredDevices, l as CoreBlockSchema, qt as errMsg, s as CORE_BLOCKS_ADDON_ID, z as coreBlockAddonId } from "../../dist-
|
|
1
|
+
import { B as coreBlockIdFromAddonId, Jt as BaseAddon, V as coreBlocksCapability, c as CORE_BLOCK_ADDON_PREFIX, d as DeclaredDevices, l as CoreBlockSchema, qt as errMsg, s as CORE_BLOCKS_ADDON_ID, z as coreBlockAddonId } from "../../dist-D5hpgLSL.mjs";
|
|
2
2
|
import { randomUUID } from "node:crypto";
|
|
3
3
|
import * as fs from "node:fs/promises";
|
|
4
4
|
import * as path$1 from "node:path";
|
|
@@ -3,8 +3,8 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
7
|
-
const require_retired_settings_keys = require("../../retired-settings-keys-
|
|
6
|
+
const require_dist = require("../../dist-CHclfj0J.js");
|
|
7
|
+
const require_retired_settings_keys = require("../../retired-settings-keys-DRKmYztE.js");
|
|
8
8
|
let node_crypto = require("node:crypto");
|
|
9
9
|
let _camstack_types_node = require("@camstack/types/node");
|
|
10
10
|
//#region src/builtins/device-manager/adoption-job-engine.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { $t as DeviceRole, G as deviceManagerCapability, Jt as BaseAddon, K as deviceStateCapability, L as buildStreamParamsConfigSchema, Mt as runtimeStatePolicyFor, Qt as DeviceFeature, S as STREAM_PROFILE_META, St as normalizeUnit, X as enumerateItemArrayFields, Z as enumerateSchemaFields, a as CAMERA_SWITCH_ORDER, bn as EventCategory, en as DeviceType, f as DeviceStatusSchema, fn as isDeviceConfigCap, kt as resolveContainerPrimaryChild, o as CAP_NAMES_WITH_STATUS, q as deviceStatusCapability, qt as errMsg, rn as WELL_KNOWN_TAB_MAP, t as ALL_CAPABILITY_DEFINITIONS, wt as parseStreamParamsFormPatch, yn as sleep$1 } from "../../dist-
|
|
2
|
-
import { n as purgeRetiredSettingsRows } from "../../retired-settings-keys-
|
|
1
|
+
import { $t as DeviceRole, G as deviceManagerCapability, Jt as BaseAddon, K as deviceStateCapability, L as buildStreamParamsConfigSchema, Mt as runtimeStatePolicyFor, Qt as DeviceFeature, S as STREAM_PROFILE_META, St as normalizeUnit, X as enumerateItemArrayFields, Z as enumerateSchemaFields, a as CAMERA_SWITCH_ORDER, bn as EventCategory, en as DeviceType, f as DeviceStatusSchema, fn as isDeviceConfigCap, kt as resolveContainerPrimaryChild, o as CAP_NAMES_WITH_STATUS, q as deviceStatusCapability, qt as errMsg, rn as WELL_KNOWN_TAB_MAP, t as ALL_CAPABILITY_DEFINITIONS, wt as parseStreamParamsFormPatch, yn as sleep$1 } from "../../dist-D5hpgLSL.mjs";
|
|
2
|
+
import { n as purgeRetiredSettingsRows } from "../../retired-settings-keys-bJE3qjAT.mjs";
|
|
3
3
|
import { randomUUID } from "node:crypto";
|
|
4
4
|
import { canonicalDeviceFingerprint } from "@camstack/types/node";
|
|
5
5
|
//#region src/builtins/device-manager/adoption-job-engine.ts
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-CHclfj0J.js");
|
|
7
7
|
//#region src/builtins/doorbell/trigger-engine.ts
|
|
8
8
|
/**
|
|
9
9
|
* Pure trigger logic for the virtual-doorbell builtin — edge detection over
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { F as bareAddonId, J as doorbellCapability, Jt as BaseAddon, Q as evaluateSensorEdge, b as SOURCE_DEVICE_TYPES, bn as EventCategory, ct as isSameAddonId, en as DeviceType, lt as isSourceCap, qt as errMsg, sn as createEvent, y as SOURCE_CAPS } from "../../dist-
|
|
1
|
+
import { F as bareAddonId, J as doorbellCapability, Jt as BaseAddon, Q as evaluateSensorEdge, b as SOURCE_DEVICE_TYPES, bn as EventCategory, ct as isSameAddonId, en as DeviceType, lt as isSourceCap, qt as errMsg, sn as createEvent, y as SOURCE_CAPS } from "../../dist-D5hpgLSL.mjs";
|
|
2
2
|
//#region src/builtins/doorbell/trigger-engine.ts
|
|
3
3
|
/**
|
|
4
4
|
* Pure trigger logic for the virtual-doorbell builtin — edge detection over
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-CHclfj0J.js");
|
|
7
7
|
const require_formatter = require("../../formatter-DqAKDlvN.js");
|
|
8
8
|
//#region src/builtins/hub-forwarder/hub-forwarder-destination.ts
|
|
9
9
|
var DEFAULT_OUTBOUND_BUFFER_SIZE = 500;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Jt as BaseAddon, ht as logDestinationCapability } from "../../dist-
|
|
1
|
+
import { Jt as BaseAddon, ht as logDestinationCapability } from "../../dist-D5hpgLSL.mjs";
|
|
2
2
|
import { t as formatLogLine } from "../../formatter-B7qW8bPJ.mjs";
|
|
3
3
|
//#region src/builtins/hub-forwarder/hub-forwarder-destination.ts
|
|
4
4
|
var DEFAULT_OUTBOUND_BUFFER_SIZE = 500;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
require("../../chunk-Cek0wNdY.js");
|
|
3
|
-
const require_dist = require("../../dist-
|
|
3
|
+
const require_dist = require("../../dist-CHclfj0J.js");
|
|
4
4
|
//#region src/builtins/liveness-monitor/liveness-checks.ts
|
|
5
5
|
var NO_DEVICES = "liveness:no-devices";
|
|
6
6
|
var ALL_OFFLINE = "liveness:all-devices-offline";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Jt as BaseAddon, bn as EventCategory, qt as errMsg, sn as createEvent, v as RecordingStatusSchema } from "../../dist-
|
|
1
|
+
import { Jt as BaseAddon, bn as EventCategory, qt as errMsg, sn as createEvent, v as RecordingStatusSchema } from "../../dist-D5hpgLSL.mjs";
|
|
2
2
|
//#region src/builtins/liveness-monitor/liveness-checks.ts
|
|
3
3
|
var NO_DEVICES = "liveness:no-devices";
|
|
4
4
|
var ALL_OFFLINE = "liveness:all-devices-offline";
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
const require_chunk = require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-CHclfj0J.js");
|
|
7
7
|
let node_crypto = require("node:crypto");
|
|
8
8
|
node_crypto = require_chunk.__toESM(node_crypto);
|
|
9
9
|
let crypto$1 = require("crypto");
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { i as __require, o as __toESM, t as __commonJSMin } from "../../chunk-CNf5ZN-e.mjs";
|
|
2
|
-
import { C as ScopedTokenSchema, Jt as BaseAddon, N as authProviderCapability, O as UserRecordSchema, Ut as userManagementCapability, r as ApiKeyRecordSchema } from "../../dist-
|
|
2
|
+
import { C as ScopedTokenSchema, Jt as BaseAddon, N as authProviderCapability, O as UserRecordSchema, Ut as userManagementCapability, r as ApiKeyRecordSchema } from "../../dist-D5hpgLSL.mjs";
|
|
3
3
|
import * as crypto$2 from "node:crypto";
|
|
4
4
|
import { createHash, randomUUID, timingSafeEqual } from "node:crypto";
|
|
5
5
|
import nodeCrypto from "crypto";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_chunk = require("../../chunk-Cek0wNdY.js");
|
|
3
|
-
const require_dist = require("../../dist-
|
|
3
|
+
const require_dist = require("../../dist-CHclfj0J.js");
|
|
4
4
|
const require_tls = require("../../tls-BFs4PzoW.js");
|
|
5
5
|
let node_fs_promises = require("node:fs/promises");
|
|
6
6
|
let node_path = require("node:path");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Jt as BaseAddon, bn as EventCategory, mt as localNetworkCapability } from "../../dist-
|
|
1
|
+
import { Jt as BaseAddon, bn as EventCategory, mt as localNetworkCapability } from "../../dist-D5hpgLSL.mjs";
|
|
2
2
|
import { S as readLanHttpState, _ as DEFAULT_LAN_HTTP_PORT, a as writeTlsMode, i as writeExtraSans, l as reissueTlsLeaf, n as readTlsAccessStatus, o as validateUploadedTls, r as readTlsMode, s as ensureTlsCert, t as readExtraSans, y as applyLanHttp } from "../../tls-2xbgg78V.mjs";
|
|
3
3
|
import { mkdir, writeFile } from "node:fs/promises";
|
|
4
4
|
import { join } from "node:path";
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-CHclfj0J.js");
|
|
7
7
|
//#region src/builtins/loki-logging/loki-payload.ts
|
|
8
8
|
/**
|
|
9
9
|
* Loki rejects a label name that is not a valid Prometheus label
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Jt as BaseAddon, ht as logDestinationCapability } from "../../dist-
|
|
1
|
+
import { Jt as BaseAddon, ht as logDestinationCapability } from "../../dist-D5hpgLSL.mjs";
|
|
2
2
|
//#region src/builtins/loki-logging/loki-payload.ts
|
|
3
3
|
/**
|
|
4
4
|
* Loki rejects a label name that is not a valid Prometheus label
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
const require_chunk = require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-CHclfj0J.js");
|
|
7
7
|
let node_fs_promises = require("node:fs/promises");
|
|
8
8
|
let node_fs = require("node:fs");
|
|
9
9
|
node_fs = require_chunk.__toESM(node_fs);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Dt as reducePoints, Jt as BaseAddon, Ot as resolveBucketMs, bn as EventCategory, bt as metricsProviderCapability, nt as foldSnapshotByFunction, qt as errMsg, sn as createEvent } from "../../dist-
|
|
1
|
+
import { Dt as reducePoints, Jt as BaseAddon, Ot as resolveBucketMs, bn as EventCategory, bt as metricsProviderCapability, nt as foldSnapshotByFunction, qt as errMsg, sn as createEvent } from "../../dist-D5hpgLSL.mjs";
|
|
2
2
|
import { access, readFile, readdir } from "node:fs/promises";
|
|
3
3
|
import * as fs from "node:fs";
|
|
4
4
|
import { constants, readFileSync } from "node:fs";
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
const require_chunk = require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-CHclfj0J.js");
|
|
7
7
|
let node_fs = require("node:fs");
|
|
8
8
|
node_fs = require_chunk.__toESM(node_fs);
|
|
9
9
|
let node_child_process = require("node:child_process");
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { o as __toESM } from "../../chunk-CNf5ZN-e.mjs";
|
|
2
|
-
import { Ft as scoreRuntimes, Jt as BaseAddon, Tt as platformProbeCapability, Y as enumerateInferenceDevices, bn as EventCategory, ln as emitReadiness, qt as errMsg } from "../../dist-
|
|
2
|
+
import { Ft as scoreRuntimes, Jt as BaseAddon, Tt as platformProbeCapability, Y as enumerateInferenceDevices, bn as EventCategory, ln as emitReadiness, qt as errMsg } from "../../dist-D5hpgLSL.mjs";
|
|
3
3
|
import * as fs from "node:fs";
|
|
4
4
|
import { execFile } from "node:child_process";
|
|
5
5
|
import * as os from "node:os";
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-CHclfj0J.js");
|
|
7
7
|
//#region src/builtins/remote-access-orchestrator/enabled-providers-reconcile.ts
|
|
8
8
|
/**
|
|
9
9
|
* Reconcile the durable `enabledProviders` set against authoritative
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Jt as BaseAddon, bn as EventCategory } from "../../dist-
|
|
1
|
+
import { Jt as BaseAddon, bn as EventCategory } from "../../dist-D5hpgLSL.mjs";
|
|
2
2
|
//#region src/builtins/remote-access-orchestrator/enabled-providers-reconcile.ts
|
|
3
3
|
/**
|
|
4
4
|
* Reconcile the durable `enabledProviders` set against authoritative
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
const require_chunk = require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-CHclfj0J.js");
|
|
7
7
|
const require_snapshot_courtesy = require("../../snapshot-courtesy-oeTWCXPv.js");
|
|
8
8
|
let zod = require("zod");
|
|
9
9
|
let node_crypto = require("node:crypto");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { F as bareAddonId, Ht as streamQualityLabel, I as batteryCapability, Jt as BaseAddon, Lt as snapshotCapability, Qt as DeviceFeature, W as deriveBatteryPresence, bn as EventCategory, en as DeviceType, i as BatteryStatusSchema, pn as nodePin, qt as errMsg } from "../../dist-
|
|
1
|
+
import { F as bareAddonId, Ht as streamQualityLabel, I as batteryCapability, Jt as BaseAddon, Lt as snapshotCapability, Qt as DeviceFeature, W as deriveBatteryPresence, bn as EventCategory, en as DeviceType, i as BatteryStatusSchema, pn as nodePin, qt as errMsg } from "../../dist-D5hpgLSL.mjs";
|
|
2
2
|
import { i as renderCourtesyOverlayJpeg, n as courtesyCacheKey, r as renderCourtesyJpeg } from "../../snapshot-courtesy-LoJNgHHZ.mjs";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
import { randomUUID } from "node:crypto";
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
const require_chunk = require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-CHclfj0J.js");
|
|
7
7
|
let node_crypto = require("node:crypto");
|
|
8
8
|
let node_fs_promises = require("node:fs/promises");
|
|
9
9
|
let node_path = require("node:path");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Jt as BaseAddon, Vt as storageProviderCapability, tt as filesystemBrowseCapability } from "../../dist-
|
|
1
|
+
import { Jt as BaseAddon, Vt as storageProviderCapability, tt as filesystemBrowseCapability } from "../../dist-D5hpgLSL.mjs";
|
|
2
2
|
import { randomUUID } from "node:crypto";
|
|
3
3
|
import { mkdir, readdir, realpath, statfs } from "node:fs/promises";
|
|
4
4
|
import * as path$1 from "node:path";
|
|
Binary file
|
|
Binary file
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
const require_chunk = require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-CHclfj0J.js");
|
|
7
7
|
const require_hub_cap_forward = require("../../hub-cap-forward-DmHNjbB0.js");
|
|
8
8
|
let zod = require("zod");
|
|
9
9
|
let node_crypto = require("node:crypto");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as evictionPolicyOfLocation, At as resolveLocationMode, D as StorageMigrationJobSchema, E as StorageLocationTypeSchema, It as settingsStoreCapability, Jt as BaseAddon, Kt as withLocationMode, R as collectSecretConfigKeys, Rt as storageCapability, T as StorageLocationModeSchema, bn as EventCategory, ft as legacyModeOf, g as REDACTED_SECRET, m as LegacyStorageLocationDefaultSchema, mn as parseJsonObject, ot as isLocationEnabled, rt as gbToBytes, vt as mayReadLocation, w as StorageCleanupJobSchema, xt as modeMayWrite, yt as mayWriteToLocation, zt as storageMigrationCapability } from "../../dist-
|
|
1
|
+
import { $ as evictionPolicyOfLocation, At as resolveLocationMode, D as StorageMigrationJobSchema, E as StorageLocationTypeSchema, It as settingsStoreCapability, Jt as BaseAddon, Kt as withLocationMode, R as collectSecretConfigKeys, Rt as storageCapability, T as StorageLocationModeSchema, bn as EventCategory, ft as legacyModeOf, g as REDACTED_SECRET, m as LegacyStorageLocationDefaultSchema, mn as parseJsonObject, ot as isLocationEnabled, rt as gbToBytes, vt as mayReadLocation, w as StorageCleanupJobSchema, xt as modeMayWrite, yt as mayWriteToLocation, zt as storageMigrationCapability } from "../../dist-D5hpgLSL.mjs";
|
|
2
2
|
import { t as HUB_CAP_FWD_ACTION } from "../../hub-cap-forward-BdT320dq.mjs";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
import { randomUUID } from "node:crypto";
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-CHclfj0J.js");
|
|
7
7
|
//#region src/builtins/system-config/system-config.addon.ts
|
|
8
8
|
/**
|
|
9
9
|
* Built-in `system-config` addon — Phase 4 of the settings redesign.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Jt as BaseAddon, dn as hydrateSchema, qt as errMsg } from "../../dist-
|
|
1
|
+
import { Jt as BaseAddon, dn as hydrateSchema, qt as errMsg } from "../../dist-D5hpgLSL.mjs";
|
|
2
2
|
//#region src/builtins/system-config/system-config.addon.ts
|
|
3
3
|
/**
|
|
4
4
|
* Built-in `system-config` addon — Phase 4 of the settings redesign.
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
const require_chunk = require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-CHclfj0J.js");
|
|
7
7
|
const require_formatter = require("../../formatter-DqAKDlvN.js");
|
|
8
8
|
let node_path = require("node:path");
|
|
9
9
|
node_path = require_chunk.__toESM(node_path);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Jt as BaseAddon, ht as logDestinationCapability } from "../../dist-
|
|
1
|
+
import { Jt as BaseAddon, ht as logDestinationCapability } from "../../dist-D5hpgLSL.mjs";
|
|
2
2
|
import { t as formatLogLine } from "../../formatter-B7qW8bPJ.mjs";
|
|
3
3
|
import * as path$1 from "node:path";
|
|
4
4
|
import path from "node:path";
|
|
@@ -690,7 +690,7 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
690
690
|
return EventCategory;
|
|
691
691
|
}({});
|
|
692
692
|
//#endregion
|
|
693
|
-
//#region ../types/dist/sleep-
|
|
693
|
+
//#region ../types/dist/sleep-BfJ2k1jm.mjs
|
|
694
694
|
/**
|
|
695
695
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
696
696
|
* window to float samples (D455).
|
|
@@ -19928,6 +19928,33 @@ var ReplayTrackSchema = zod.z.object({
|
|
|
19928
19928
|
framesMatched: zod.z.number().int()
|
|
19929
19929
|
});
|
|
19930
19930
|
var RunReplayFrameProcessorResultSchema = zod.z.object({ tracks: zod.z.array(ReplayTrackSchema).readonly() });
|
|
19931
|
+
/**
|
|
19932
|
+
* The long-term series a camera produces. A closed union so a typo cannot
|
|
19933
|
+
* invent one, and the ONE declaration of it — the addon's `AnalyticsLtsSeries`
|
|
19934
|
+
* is an alias of this, not a second list.
|
|
19935
|
+
*/
|
|
19936
|
+
var AnalyticsLtsSeriesSchema = zod.z.enum([
|
|
19937
|
+
"motion",
|
|
19938
|
+
"audio-dbfs",
|
|
19939
|
+
"battery",
|
|
19940
|
+
"occupancy"
|
|
19941
|
+
]);
|
|
19942
|
+
/**
|
|
19943
|
+
* One closed 5-minute bucket of a long-term series.
|
|
19944
|
+
*
|
|
19945
|
+
* `samples` is how many readings the bucket folded — it is the ACTIVITY for a
|
|
19946
|
+
* series like `motion`, and the confidence for one like `occupancy`. A bucket
|
|
19947
|
+
* that exists at all was measured; a bucket that is absent was not, which is a
|
|
19948
|
+
* different claim from zero and the reason this is a sparse series.
|
|
19949
|
+
*/
|
|
19950
|
+
var LtsBucketSchema = zod.z.object({
|
|
19951
|
+
scope: zod.z.string(),
|
|
19952
|
+
bucketStart: zod.z.number().int(),
|
|
19953
|
+
samples: zod.z.number().int().nonnegative(),
|
|
19954
|
+
sum: zod.z.number(),
|
|
19955
|
+
min: zod.z.number(),
|
|
19956
|
+
max: zod.z.number()
|
|
19957
|
+
});
|
|
19931
19958
|
var pipelineAnalyticsCapability = {
|
|
19932
19959
|
name: "pipeline-analytics",
|
|
19933
19960
|
scope: "device",
|
|
@@ -20071,6 +20098,30 @@ var pipelineAnalyticsCapability = {
|
|
|
20071
20098
|
getKeyEventsBatch: method(KeyEventBatchQueryInput, zod.z.array(KeyEventsForDeviceSchema).readonly()),
|
|
20072
20099
|
/** Server-side bucketed event counts for the 24-hour timeline.
|
|
20073
20100
|
* Returns one entry per non-empty bucket; empty buckets are omitted. */
|
|
20101
|
+
/**
|
|
20102
|
+
* Read one camera's long-term series — 5-minute buckets, kept for a year.
|
|
20103
|
+
*
|
|
20104
|
+
* This is the history surface for every chart that used to be served from a
|
|
20105
|
+
* RAM ring: the ring dies with the process, cannot answer about last night,
|
|
20106
|
+
* and had a 60-minute horizon, while these rows are ~60 bytes and already
|
|
20107
|
+
* written. `scope` is the series' own dimension — for `occupancy`, spell it
|
|
20108
|
+
* with {@link occupancyScope} rather than by hand, and omit it to get every
|
|
20109
|
+
* scope back at once (the caller then groups with
|
|
20110
|
+
* {@link parseOccupancyScope}).
|
|
20111
|
+
*
|
|
20112
|
+
* Bounds are inclusive on the BUCKET START, so a range that ends mid-bucket
|
|
20113
|
+
* still returns the bucket it lands in — the alternative is a chart whose
|
|
20114
|
+
* last column silently disappears for five minutes out of every five.
|
|
20115
|
+
*/
|
|
20116
|
+
readLongTermSeries: method(zod.z.object({
|
|
20117
|
+
deviceId: zod.z.number(),
|
|
20118
|
+
series: AnalyticsLtsSeriesSchema,
|
|
20119
|
+
/** Omit for EVERY scope of this series in the range. */
|
|
20120
|
+
scope: zod.z.string().optional(),
|
|
20121
|
+
from: zod.z.number(),
|
|
20122
|
+
to: zod.z.number(),
|
|
20123
|
+
limit: zod.z.number().int().positive().optional()
|
|
20124
|
+
}), zod.z.array(LtsBucketSchema).readonly()),
|
|
20074
20125
|
getEventDensity: method(zod.z.object({
|
|
20075
20126
|
deviceId: zod.z.number(),
|
|
20076
20127
|
since: zod.z.number(),
|
|
@@ -36072,7 +36123,28 @@ var PerScopeBreakdownSchema = zod.z.object({
|
|
|
36072
36123
|
/** Total tracked objects in this scope (frame / zone / unzoned). */
|
|
36073
36124
|
totalObjects: zod.z.number().int().nonnegative(),
|
|
36074
36125
|
/** Per-class count. Keys are macro class names (e.g. `person`, `car`). */
|
|
36075
|
-
byClass: zod.z.record(zod.z.string(), zod.z.number().int().nonnegative())
|
|
36126
|
+
byClass: zod.z.record(zod.z.string(), zod.z.number().int().nonnegative()),
|
|
36127
|
+
/**
|
|
36128
|
+
* Of `totalObjects`, how many are STANDING — objects the census holds,
|
|
36129
|
+
* present but not going anywhere (a parked car, a bin, a statue).
|
|
36130
|
+
*
|
|
36131
|
+
* The operator's question about a scene has two halves and they answer
|
|
36132
|
+
* different things: "what is parked here" is stable for hours and must not
|
|
36133
|
+
* flap, while "who is walking through" is the thing an alert is about. One
|
|
36134
|
+
* number could only serve one of them, and `totalObjects` served the first
|
|
36135
|
+
* badly — a passer-by moved it and every occupancy rule saw a change.
|
|
36136
|
+
*
|
|
36137
|
+
* `standing + transient === totalObjects`, always. The total keeps its old
|
|
36138
|
+
* meaning exactly, so no rule written against it changes behaviour.
|
|
36139
|
+
*
|
|
36140
|
+
* ABSENT means UNKNOWN, never zero (D393): a snapshot from a node older than
|
|
36141
|
+
* this field cannot say, and a reader that folds absence in as 0 reports "no
|
|
36142
|
+
* parked objects here" about a camera whose lot is full.
|
|
36143
|
+
*/
|
|
36144
|
+
standingObjects: zod.z.number().int().nonnegative().optional(),
|
|
36145
|
+
/** Of `totalObjects`, how many are passing through. See `standingObjects` —
|
|
36146
|
+
* same absence rule. */
|
|
36147
|
+
transientObjects: zod.z.number().int().nonnegative().optional()
|
|
36076
36148
|
});
|
|
36077
36149
|
var ZoneScopeBreakdownSchema = PerScopeBreakdownSchema.extend({
|
|
36078
36150
|
zoneId: zod.z.string(),
|
|
@@ -36195,6 +36267,23 @@ var HistoryPointSchema = zod.z.object({
|
|
|
36195
36267
|
* triple covers the three spatial scopes (per-zone, frame-wide,
|
|
36196
36268
|
* outside-any-zone). Crossing them with `className?` gives the full
|
|
36197
36269
|
* combinatorial coverage the operator UI requested.
|
|
36270
|
+
*
|
|
36271
|
+
* ## ⚠️ The three history methods are DEPRECATED
|
|
36272
|
+
*
|
|
36273
|
+
* They are served from a 60-MINUTE in-memory ring. It dies with the process,
|
|
36274
|
+
* so after a restart they report nothing about a night that did happen, and any
|
|
36275
|
+
* window past an hour is silently clamped — a caller cannot tell a clamp from
|
|
36276
|
+
* an empty scene. The presets in the occupancy chart existed to hide that
|
|
36277
|
+
* horizon rather than to answer a question.
|
|
36278
|
+
*
|
|
36279
|
+
* Use `pipelineAnalytics.readLongTermSeries({ series: 'occupancy', scope })`
|
|
36280
|
+
* instead. Those rows are already written for every camera, ~60 bytes per
|
|
36281
|
+
* (camera, scope, 5-minute bucket), kept for a year, and survive a restart.
|
|
36282
|
+
* Spell the scope with `occupancyScope(zoneId?, className?)` — the same
|
|
36283
|
+
* function the writer uses, so the two cannot drift.
|
|
36284
|
+
*
|
|
36285
|
+
* The ring stays until these three go, and it is the only thing left reading
|
|
36286
|
+
* it. Do not add a fourth caller.
|
|
36198
36287
|
*/
|
|
36199
36288
|
var zoneAnalyticsCapability = {
|
|
36200
36289
|
name: "zone-analytics",
|
|
@@ -40812,6 +40901,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
40812
40901
|
addonId: null,
|
|
40813
40902
|
access: "create"
|
|
40814
40903
|
},
|
|
40904
|
+
"pipelineAnalytics.readLongTermSeries": {
|
|
40905
|
+
capName: "pipeline-analytics",
|
|
40906
|
+
capScope: "device",
|
|
40907
|
+
addonId: null,
|
|
40908
|
+
access: "view"
|
|
40909
|
+
},
|
|
40815
40910
|
"pipelineAnalytics.rebuildObjectEmbeddings": {
|
|
40816
40911
|
capName: "pipeline-analytics",
|
|
40817
40912
|
capScope: "device",
|
|
@@ -44628,6 +44723,11 @@ Object.freeze({
|
|
|
44628
44723
|
form: "single",
|
|
44629
44724
|
optional: false
|
|
44630
44725
|
}],
|
|
44726
|
+
"pipelineAnalytics.readLongTermSeries": [{
|
|
44727
|
+
name: "deviceId",
|
|
44728
|
+
form: "single",
|
|
44729
|
+
optional: false
|
|
44730
|
+
}],
|
|
44631
44731
|
"pipelineAnalytics.rebuildObjectEmbeddings": [{
|
|
44632
44732
|
name: "deviceId",
|
|
44633
44733
|
form: "single",
|
|
@@ -690,7 +690,7 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
690
690
|
return EventCategory;
|
|
691
691
|
}({});
|
|
692
692
|
//#endregion
|
|
693
|
-
//#region ../types/dist/sleep-
|
|
693
|
+
//#region ../types/dist/sleep-BfJ2k1jm.mjs
|
|
694
694
|
/**
|
|
695
695
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
696
696
|
* window to float samples (D455).
|
|
@@ -19928,6 +19928,33 @@ var ReplayTrackSchema = z.object({
|
|
|
19928
19928
|
framesMatched: z.number().int()
|
|
19929
19929
|
});
|
|
19930
19930
|
var RunReplayFrameProcessorResultSchema = z.object({ tracks: z.array(ReplayTrackSchema).readonly() });
|
|
19931
|
+
/**
|
|
19932
|
+
* The long-term series a camera produces. A closed union so a typo cannot
|
|
19933
|
+
* invent one, and the ONE declaration of it — the addon's `AnalyticsLtsSeries`
|
|
19934
|
+
* is an alias of this, not a second list.
|
|
19935
|
+
*/
|
|
19936
|
+
var AnalyticsLtsSeriesSchema = z.enum([
|
|
19937
|
+
"motion",
|
|
19938
|
+
"audio-dbfs",
|
|
19939
|
+
"battery",
|
|
19940
|
+
"occupancy"
|
|
19941
|
+
]);
|
|
19942
|
+
/**
|
|
19943
|
+
* One closed 5-minute bucket of a long-term series.
|
|
19944
|
+
*
|
|
19945
|
+
* `samples` is how many readings the bucket folded — it is the ACTIVITY for a
|
|
19946
|
+
* series like `motion`, and the confidence for one like `occupancy`. A bucket
|
|
19947
|
+
* that exists at all was measured; a bucket that is absent was not, which is a
|
|
19948
|
+
* different claim from zero and the reason this is a sparse series.
|
|
19949
|
+
*/
|
|
19950
|
+
var LtsBucketSchema = z.object({
|
|
19951
|
+
scope: z.string(),
|
|
19952
|
+
bucketStart: z.number().int(),
|
|
19953
|
+
samples: z.number().int().nonnegative(),
|
|
19954
|
+
sum: z.number(),
|
|
19955
|
+
min: z.number(),
|
|
19956
|
+
max: z.number()
|
|
19957
|
+
});
|
|
19931
19958
|
var pipelineAnalyticsCapability = {
|
|
19932
19959
|
name: "pipeline-analytics",
|
|
19933
19960
|
scope: "device",
|
|
@@ -20071,6 +20098,30 @@ var pipelineAnalyticsCapability = {
|
|
|
20071
20098
|
getKeyEventsBatch: method(KeyEventBatchQueryInput, z.array(KeyEventsForDeviceSchema).readonly()),
|
|
20072
20099
|
/** Server-side bucketed event counts for the 24-hour timeline.
|
|
20073
20100
|
* Returns one entry per non-empty bucket; empty buckets are omitted. */
|
|
20101
|
+
/**
|
|
20102
|
+
* Read one camera's long-term series — 5-minute buckets, kept for a year.
|
|
20103
|
+
*
|
|
20104
|
+
* This is the history surface for every chart that used to be served from a
|
|
20105
|
+
* RAM ring: the ring dies with the process, cannot answer about last night,
|
|
20106
|
+
* and had a 60-minute horizon, while these rows are ~60 bytes and already
|
|
20107
|
+
* written. `scope` is the series' own dimension — for `occupancy`, spell it
|
|
20108
|
+
* with {@link occupancyScope} rather than by hand, and omit it to get every
|
|
20109
|
+
* scope back at once (the caller then groups with
|
|
20110
|
+
* {@link parseOccupancyScope}).
|
|
20111
|
+
*
|
|
20112
|
+
* Bounds are inclusive on the BUCKET START, so a range that ends mid-bucket
|
|
20113
|
+
* still returns the bucket it lands in — the alternative is a chart whose
|
|
20114
|
+
* last column silently disappears for five minutes out of every five.
|
|
20115
|
+
*/
|
|
20116
|
+
readLongTermSeries: method(z.object({
|
|
20117
|
+
deviceId: z.number(),
|
|
20118
|
+
series: AnalyticsLtsSeriesSchema,
|
|
20119
|
+
/** Omit for EVERY scope of this series in the range. */
|
|
20120
|
+
scope: z.string().optional(),
|
|
20121
|
+
from: z.number(),
|
|
20122
|
+
to: z.number(),
|
|
20123
|
+
limit: z.number().int().positive().optional()
|
|
20124
|
+
}), z.array(LtsBucketSchema).readonly()),
|
|
20074
20125
|
getEventDensity: method(z.object({
|
|
20075
20126
|
deviceId: z.number(),
|
|
20076
20127
|
since: z.number(),
|
|
@@ -36072,7 +36123,28 @@ var PerScopeBreakdownSchema = z.object({
|
|
|
36072
36123
|
/** Total tracked objects in this scope (frame / zone / unzoned). */
|
|
36073
36124
|
totalObjects: z.number().int().nonnegative(),
|
|
36074
36125
|
/** Per-class count. Keys are macro class names (e.g. `person`, `car`). */
|
|
36075
|
-
byClass: z.record(z.string(), z.number().int().nonnegative())
|
|
36126
|
+
byClass: z.record(z.string(), z.number().int().nonnegative()),
|
|
36127
|
+
/**
|
|
36128
|
+
* Of `totalObjects`, how many are STANDING — objects the census holds,
|
|
36129
|
+
* present but not going anywhere (a parked car, a bin, a statue).
|
|
36130
|
+
*
|
|
36131
|
+
* The operator's question about a scene has two halves and they answer
|
|
36132
|
+
* different things: "what is parked here" is stable for hours and must not
|
|
36133
|
+
* flap, while "who is walking through" is the thing an alert is about. One
|
|
36134
|
+
* number could only serve one of them, and `totalObjects` served the first
|
|
36135
|
+
* badly — a passer-by moved it and every occupancy rule saw a change.
|
|
36136
|
+
*
|
|
36137
|
+
* `standing + transient === totalObjects`, always. The total keeps its old
|
|
36138
|
+
* meaning exactly, so no rule written against it changes behaviour.
|
|
36139
|
+
*
|
|
36140
|
+
* ABSENT means UNKNOWN, never zero (D393): a snapshot from a node older than
|
|
36141
|
+
* this field cannot say, and a reader that folds absence in as 0 reports "no
|
|
36142
|
+
* parked objects here" about a camera whose lot is full.
|
|
36143
|
+
*/
|
|
36144
|
+
standingObjects: z.number().int().nonnegative().optional(),
|
|
36145
|
+
/** Of `totalObjects`, how many are passing through. See `standingObjects` —
|
|
36146
|
+
* same absence rule. */
|
|
36147
|
+
transientObjects: z.number().int().nonnegative().optional()
|
|
36076
36148
|
});
|
|
36077
36149
|
var ZoneScopeBreakdownSchema = PerScopeBreakdownSchema.extend({
|
|
36078
36150
|
zoneId: z.string(),
|
|
@@ -36195,6 +36267,23 @@ var HistoryPointSchema = z.object({
|
|
|
36195
36267
|
* triple covers the three spatial scopes (per-zone, frame-wide,
|
|
36196
36268
|
* outside-any-zone). Crossing them with `className?` gives the full
|
|
36197
36269
|
* combinatorial coverage the operator UI requested.
|
|
36270
|
+
*
|
|
36271
|
+
* ## ⚠️ The three history methods are DEPRECATED
|
|
36272
|
+
*
|
|
36273
|
+
* They are served from a 60-MINUTE in-memory ring. It dies with the process,
|
|
36274
|
+
* so after a restart they report nothing about a night that did happen, and any
|
|
36275
|
+
* window past an hour is silently clamped — a caller cannot tell a clamp from
|
|
36276
|
+
* an empty scene. The presets in the occupancy chart existed to hide that
|
|
36277
|
+
* horizon rather than to answer a question.
|
|
36278
|
+
*
|
|
36279
|
+
* Use `pipelineAnalytics.readLongTermSeries({ series: 'occupancy', scope })`
|
|
36280
|
+
* instead. Those rows are already written for every camera, ~60 bytes per
|
|
36281
|
+
* (camera, scope, 5-minute bucket), kept for a year, and survive a restart.
|
|
36282
|
+
* Spell the scope with `occupancyScope(zoneId?, className?)` — the same
|
|
36283
|
+
* function the writer uses, so the two cannot drift.
|
|
36284
|
+
*
|
|
36285
|
+
* The ring stays until these three go, and it is the only thing left reading
|
|
36286
|
+
* it. Do not add a fourth caller.
|
|
36198
36287
|
*/
|
|
36199
36288
|
var zoneAnalyticsCapability = {
|
|
36200
36289
|
name: "zone-analytics",
|
|
@@ -40812,6 +40901,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
40812
40901
|
addonId: null,
|
|
40813
40902
|
access: "create"
|
|
40814
40903
|
},
|
|
40904
|
+
"pipelineAnalytics.readLongTermSeries": {
|
|
40905
|
+
capName: "pipeline-analytics",
|
|
40906
|
+
capScope: "device",
|
|
40907
|
+
addonId: null,
|
|
40908
|
+
access: "view"
|
|
40909
|
+
},
|
|
40815
40910
|
"pipelineAnalytics.rebuildObjectEmbeddings": {
|
|
40816
40911
|
capName: "pipeline-analytics",
|
|
40817
40912
|
capScope: "device",
|
|
@@ -44628,6 +44723,11 @@ Object.freeze({
|
|
|
44628
44723
|
form: "single",
|
|
44629
44724
|
optional: false
|
|
44630
44725
|
}],
|
|
44726
|
+
"pipelineAnalytics.readLongTermSeries": [{
|
|
44727
|
+
name: "deviceId",
|
|
44728
|
+
form: "single",
|
|
44729
|
+
optional: false
|
|
44730
|
+
}],
|
|
44631
44731
|
"pipelineAnalytics.rebuildObjectEmbeddings": [{
|
|
44632
44732
|
name: "deviceId",
|
|
44633
44733
|
form: "single",
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_chunk = require("./chunk-Cek0wNdY.js");
|
|
3
|
-
const require_dist = require("./dist-
|
|
3
|
+
const require_dist = require("./dist-CHclfj0J.js");
|
|
4
4
|
const require_builtins_alerts_alerts_addon = require("./builtins/alerts/alerts.addon.js");
|
|
5
5
|
require("./builtins/alerts/index.js");
|
|
6
6
|
const require_formatter = require("./formatter-DqAKDlvN.js");
|
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as __toCommonJS, i as __require, n as __esmMin, o as __toESM$1, r as __exportAll, t as __commonJSMin$1 } from "./chunk-CNf5ZN-e.mjs";
|
|
2
|
-
import { A as addonSettingsCapability, Ct as objectInputDeclaresAddonId, Et as procedureAuthKey, Nt as scopesAllowAddon, Pt as scopesAllowDeviceCap, Xt as DEVICE_SETTINGS_CONTRIBUTION_METHODS, Yt as DATAPLANE_SECRET_HEADER$1, Zt as DEVICE_STATUS_METHOD, _ as RUNTIME_DEFAULTS, _n as resolveCapMount, _t as looseSchema, an as asNumber, at as isCollectionArrayMethod, bn as EventCategory$1, cn as emitDownForOwnedCaps, dt as kebabToCamel, et as extractNestedAddonId, gn as readinessKey, gt as logLevelAtMost, h as METHOD_ACCESS_MAP, hn as parseJsonUnknown, in as asJsonObject$1, it as isArrayOutputSchema, jt as resolveMethodAuth, mn as parseJsonObject, nn as ReadinessTimeoutError, on as asString$1, p as LOG_LEVEL_RANK, pt as lifecycleJobSchema, qt as errMsg$1, sn as createEvent, st as isObjectInput, t as ALL_CAPABILITY_DEFINITIONS, tn as ReadinessRegistry, un as expandCapMethods, ut as isVoidInput, vn as scopeKey } from "./dist-
|
|
2
|
+
import { A as addonSettingsCapability, Ct as objectInputDeclaresAddonId, Et as procedureAuthKey, Nt as scopesAllowAddon, Pt as scopesAllowDeviceCap, Xt as DEVICE_SETTINGS_CONTRIBUTION_METHODS, Yt as DATAPLANE_SECRET_HEADER$1, Zt as DEVICE_STATUS_METHOD, _ as RUNTIME_DEFAULTS, _n as resolveCapMount, _t as looseSchema, an as asNumber, at as isCollectionArrayMethod, bn as EventCategory$1, cn as emitDownForOwnedCaps, dt as kebabToCamel, et as extractNestedAddonId, gn as readinessKey, gt as logLevelAtMost, h as METHOD_ACCESS_MAP, hn as parseJsonUnknown, in as asJsonObject$1, it as isArrayOutputSchema, jt as resolveMethodAuth, mn as parseJsonObject, nn as ReadinessTimeoutError, on as asString$1, p as LOG_LEVEL_RANK, pt as lifecycleJobSchema, qt as errMsg$1, sn as createEvent, st as isObjectInput, t as ALL_CAPABILITY_DEFINITIONS, tn as ReadinessRegistry, un as expandCapMethods, ut as isVoidInput, vn as scopeKey } from "./dist-D5hpgLSL.mjs";
|
|
3
3
|
import { AlertCenterAddon } from "./builtins/alerts/alerts.addon.mjs";
|
|
4
4
|
import "./builtins/alerts/index.mjs";
|
|
5
5
|
import { t as formatLogLine } from "./formatter-B7qW8bPJ.mjs";
|