@camstack/system 1.2.468 → 1.2.470
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/addon-runner.js +56 -25
- package/dist/addon-runner.mjs +56 -25
- package/dist/{agent-https-DJ8OzQOr.js → agent-https-D_oo3PNv.js} +1 -1
- package/dist/{agent-https-DR1wmhYY.mjs → agent-https-DmNQyAl7.mjs} +1 -1
- 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/autotrack/index.js +1 -1
- package/dist/builtins/autotrack/index.mjs +1 -1
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +2 -2
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +2 -2
- package/dist/builtins/calendars/calendars.addon.js +1 -1
- package/dist/builtins/calendars/calendars.addon.mjs +1 -1
- package/dist/builtins/camera-grid/index.js +1 -1
- package/dist/builtins/camera-grid/index.mjs +1 -1
- package/dist/builtins/composer/composer.addon.js +2 -2
- package/dist/builtins/composer/composer.addon.mjs +2 -2
- 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 +2 -2
- package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
- package/dist/builtins/device-history/capture/capture-engine.d.ts +24 -4
- package/dist/builtins/device-history/device-history.addon.js +319 -44
- package/dist/builtins/device-history/device-history.addon.mjs +319 -44
- package/dist/builtins/device-history/query/history-query.d.ts +19 -2
- package/dist/builtins/device-history/retention/orphans.d.ts +50 -0
- package/dist/builtins/device-history/retention/retention.d.ts +9 -2
- package/dist/builtins/device-history/runtime/history-runtime.d.ts +10 -2
- package/dist/builtins/device-history/store/history-store.d.ts +5 -0
- 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/device-manager/device-meta-types.d.ts +2 -2
- package/dist/builtins/hub-forwarder/index.js +1 -1
- package/dist/builtins/hub-forwarder/index.mjs +1 -1
- package/dist/builtins/keychain/index.js +3 -3
- package/dist/builtins/keychain/index.mjs +3 -3
- 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 +2 -2
- package/dist/builtins/local-auth/local-auth.addon.mjs +2 -2
- package/dist/builtins/local-network/local-network.addon.js +2 -2
- package/dist/builtins/local-network/local-network.addon.mjs +2 -2
- 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/accelerator-reprobe.d.ts +23 -0
- package/dist/builtins/platform-probe/coral-accelerators.d.ts +37 -8
- package/dist/builtins/platform-probe/index.d.ts +17 -1
- package/dist/builtins/platform-probe/index.js +192 -11
- package/dist/builtins/platform-probe/index.mjs +192 -12
- package/dist/builtins/platform-probe/platform-scorer.d.ts +14 -0
- package/dist/builtins/record-entries/index.js +1 -1
- package/dist/builtins/record-entries/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/index.js +1 -1
- package/dist/builtins/sqlite-storage/index.mjs +1 -1
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +2 -2
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +2 -2
- 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 +3 -3
- package/dist/builtins/system-config/system-config.addon.mjs +3 -3
- package/dist/builtins/winston-logging/index.js +1 -1
- package/dist/builtins/winston-logging/index.mjs +1 -1
- package/dist/{composition-sources-Qto-S6MA.mjs → composition-sources-B0tqvf0t.mjs} +1 -1
- package/dist/{composition-sources-5rpWQhA1.js → composition-sources-CRJffEiB.js} +1 -1
- package/dist/{constants-BWli8Cju.mjs → constants--A505iuO.mjs} +1 -1
- package/dist/{constants-CuO3rcw4.js → constants-WF1AqoKF.js} +1 -1
- package/dist/{coral-accelerators-oUXmmbc2.js → coral-accelerators-Cri32b7q.js} +61 -24
- package/dist/{coral-accelerators-D_S1Fo5h.mjs → coral-accelerators-Dl-GnMHn.mjs} +56 -25
- package/dist/{device-ca-C5cLlah1.mjs → device-ca-DYmToMp8.mjs} +1 -1
- package/dist/{device-ca-CGcaSheI.js → device-ca-R4MZZtc0.js} +1 -1
- package/dist/{dist-l6zKmHEb.js → dist-DRL3rEfN.js} +335 -120
- package/dist/{dist-BpUtAgqR.mjs → dist-X1r44BdF.mjs} +324 -121
- package/dist/file-host-worker.js +1 -1
- package/dist/file-host-worker.mjs +1 -1
- package/dist/{hub-mdns-ciao-0KWDyIMD.mjs → hub-mdns-ciao-CZV5Hion.mjs} +2 -2
- package/dist/{hub-mdns-ciao-CIno_SNn.js → hub-mdns-ciao-DUoTS6jN.js} +2 -2
- package/dist/index.js +8 -8
- package/dist/index.mjs +8 -8
- package/dist/{restore-archive-B71JI-sP.js → restore-archive-Df6PsOHP.js} +1 -1
- package/dist/{restore-archive-DKxAZ9pI.mjs → restore-archive-X0ciGMmO.mjs} +1 -1
- package/dist/{wal-maintenance-BXYwFecW.mjs → wal-maintenance-D6J_MmZ8.mjs} +0 -0
- package/dist/{wal-maintenance-B6LSQ_OZ.js → wal-maintenance-DYvzJiuK.js} +0 -0
- package/package.json +1 -1
package/dist/addon-runner.js
CHANGED
|
@@ -7893,9 +7893,9 @@ function currentDelegateHost() {
|
|
|
7893
7893
|
override: process.env[_camstack_types_node.EDGETPU_LIB_ENV]
|
|
7894
7894
|
};
|
|
7895
7895
|
}
|
|
7896
|
-
function countUsbCorals(fsx) {
|
|
7896
|
+
function countUsbCorals(devices, fsx) {
|
|
7897
7897
|
let count = 0;
|
|
7898
|
-
for (const device of
|
|
7898
|
+
for (const device of devices) {
|
|
7899
7899
|
const vendor = fsx.readUsbAttr(device, "idVendor").toLowerCase();
|
|
7900
7900
|
const product = fsx.readUsbAttr(device, "idProduct").toLowerCase();
|
|
7901
7901
|
if (CORAL_USB_IDS.some((id) => id.vendor === vendor && id.product === product)) count++;
|
|
@@ -7934,21 +7934,33 @@ function classifyPci(fsx) {
|
|
|
7934
7934
|
};
|
|
7935
7935
|
}
|
|
7936
7936
|
/**
|
|
7937
|
-
* Detect Coral Edge TPUs on USB and PCIe/M.2.
|
|
7937
|
+
* Detect Coral Edge TPUs on USB and PCIe/M.2 — the answer only. See
|
|
7938
|
+
* {@link detectCoralAccelerator} for the evidence that decided it.
|
|
7939
|
+
*/
|
|
7940
|
+
function classifyCoralAccelerator(fsx, delegateHost = currentDelegateHost()) {
|
|
7941
|
+
return detectCoralAccelerator(fsx, delegateHost).info;
|
|
7942
|
+
}
|
|
7943
|
+
/**
|
|
7944
|
+
* Detect Coral Edge TPUs on USB and PCIe/M.2, with the evidence that decided.
|
|
7938
7945
|
*
|
|
7939
7946
|
* - USB: every matching USB device counts (multiple Corals run concurrently).
|
|
7940
7947
|
* - PCIe: the apex driver's units, each usable only if its device node opens;
|
|
7941
7948
|
* a Coral PCI function the driver did not bind is `driver-missing`.
|
|
7942
|
-
* - Fallback: when
|
|
7943
|
-
*
|
|
7944
|
-
*
|
|
7945
|
-
*
|
|
7949
|
+
* - Fallback: when the USB bus is NOT OBSERVABLE (`/sys/bus/usb/devices`
|
|
7950
|
+
* missing, unreadable or empty — a macOS desktop, a restricted container)
|
|
7951
|
+
* and no PCI Coral was seen, an installed libedgetpu delegate means one USB
|
|
7952
|
+
* Coral is assumed. A bus that IS readable and lists no Coral id is the
|
|
7953
|
+
* answer: no USB Coral. The delegate stays installed after a stick is
|
|
7954
|
+
* unplugged or moved to another node, so it is evidence only where nothing
|
|
7955
|
+
* better exists (D919).
|
|
7946
7956
|
*
|
|
7947
7957
|
* Returns `null` only when no Coral was found at all; a present-but-unusable
|
|
7948
7958
|
* Coral is reported with its typed reason, never as absent (D393/D315).
|
|
7949
7959
|
*/
|
|
7950
|
-
function
|
|
7951
|
-
const
|
|
7960
|
+
function detectCoralAccelerator(fsx, delegateHost = currentDelegateHost()) {
|
|
7961
|
+
const usbDevices = fsx.listUsbDevices();
|
|
7962
|
+
const usbBus = usbDevices !== null && usbDevices.length > 0 ? "observed" : "unobservable";
|
|
7963
|
+
const usb = usbDevices === null ? 0 : countUsbCorals(usbDevices, fsx);
|
|
7952
7964
|
const pci = classifyPci(fsx);
|
|
7953
7965
|
const units = [];
|
|
7954
7966
|
if (usb > 0) units.push({
|
|
@@ -7970,25 +7982,44 @@ function classifyCoralAccelerator(fsx, delegateHost = currentDelegateHost()) {
|
|
|
7970
7982
|
count: pci.notAccessible,
|
|
7971
7983
|
reason: "device-not-accessible"
|
|
7972
7984
|
});
|
|
7973
|
-
if (units.length > 0 || unavailable.length > 0) return
|
|
7974
|
-
|
|
7975
|
-
|
|
7976
|
-
|
|
7977
|
-
|
|
7978
|
-
|
|
7979
|
-
|
|
7980
|
-
|
|
7981
|
-
|
|
7985
|
+
if (units.length > 0 || unavailable.length > 0) return {
|
|
7986
|
+
info: unavailable.length > 0 ? {
|
|
7987
|
+
type: "coral-edgetpu",
|
|
7988
|
+
units,
|
|
7989
|
+
unavailable
|
|
7990
|
+
} : {
|
|
7991
|
+
type: "coral-edgetpu",
|
|
7992
|
+
units
|
|
7993
|
+
},
|
|
7994
|
+
usbBus,
|
|
7995
|
+
decidedBy: usb > 0 ? "usb-ids" : "pci"
|
|
7996
|
+
};
|
|
7997
|
+
if (usbBus === "unobservable" && (0, _camstack_types_node.chooseEdgetpuDelegate)({
|
|
7982
7998
|
...delegateHost,
|
|
7983
7999
|
exists: (p) => fsx.exists(p)
|
|
7984
8000
|
}) !== null) return {
|
|
7985
|
-
|
|
7986
|
-
|
|
7987
|
-
|
|
7988
|
-
|
|
7989
|
-
|
|
8001
|
+
info: {
|
|
8002
|
+
type: "coral-edgetpu",
|
|
8003
|
+
units: [{
|
|
8004
|
+
bus: "usb",
|
|
8005
|
+
count: 1
|
|
8006
|
+
}]
|
|
8007
|
+
},
|
|
8008
|
+
usbBus,
|
|
8009
|
+
decidedBy: "delegate-fallback"
|
|
7990
8010
|
};
|
|
7991
|
-
return
|
|
8011
|
+
return {
|
|
8012
|
+
info: null,
|
|
8013
|
+
usbBus,
|
|
8014
|
+
decidedBy: "none"
|
|
8015
|
+
};
|
|
8016
|
+
}
|
|
8017
|
+
function safeListOrNull(dir) {
|
|
8018
|
+
try {
|
|
8019
|
+
return node_fs.default.readdirSync(dir);
|
|
8020
|
+
} catch {
|
|
8021
|
+
return null;
|
|
8022
|
+
}
|
|
7992
8023
|
}
|
|
7993
8024
|
function safeList(dir) {
|
|
7994
8025
|
try {
|
|
@@ -8006,7 +8037,7 @@ function safeRead(path) {
|
|
|
8006
8037
|
}
|
|
8007
8038
|
/** The real filesystem view: `/sys` for enumeration, `/dev` for access. */
|
|
8008
8039
|
var nodeCoralFs = {
|
|
8009
|
-
listUsbDevices: () =>
|
|
8040
|
+
listUsbDevices: () => safeListOrNull("/sys/bus/usb/devices"),
|
|
8010
8041
|
readUsbAttr: (device, attr) => safeRead(`/sys/bus/usb/devices/${device}/${attr}`),
|
|
8011
8042
|
listPciDevices: () => safeList("/sys/bus/pci/devices"),
|
|
8012
8043
|
readPciAttr: (device, attr) => safeRead(`/sys/bus/pci/devices/${device}/${attr}`),
|
package/dist/addon-runner.mjs
CHANGED
|
@@ -7869,9 +7869,9 @@ function currentDelegateHost() {
|
|
|
7869
7869
|
override: process.env[EDGETPU_LIB_ENV]
|
|
7870
7870
|
};
|
|
7871
7871
|
}
|
|
7872
|
-
function countUsbCorals(fsx) {
|
|
7872
|
+
function countUsbCorals(devices, fsx) {
|
|
7873
7873
|
let count = 0;
|
|
7874
|
-
for (const device of
|
|
7874
|
+
for (const device of devices) {
|
|
7875
7875
|
const vendor = fsx.readUsbAttr(device, "idVendor").toLowerCase();
|
|
7876
7876
|
const product = fsx.readUsbAttr(device, "idProduct").toLowerCase();
|
|
7877
7877
|
if (CORAL_USB_IDS.some((id) => id.vendor === vendor && id.product === product)) count++;
|
|
@@ -7910,21 +7910,33 @@ function classifyPci(fsx) {
|
|
|
7910
7910
|
};
|
|
7911
7911
|
}
|
|
7912
7912
|
/**
|
|
7913
|
-
* Detect Coral Edge TPUs on USB and PCIe/M.2.
|
|
7913
|
+
* Detect Coral Edge TPUs on USB and PCIe/M.2 — the answer only. See
|
|
7914
|
+
* {@link detectCoralAccelerator} for the evidence that decided it.
|
|
7915
|
+
*/
|
|
7916
|
+
function classifyCoralAccelerator(fsx, delegateHost = currentDelegateHost()) {
|
|
7917
|
+
return detectCoralAccelerator(fsx, delegateHost).info;
|
|
7918
|
+
}
|
|
7919
|
+
/**
|
|
7920
|
+
* Detect Coral Edge TPUs on USB and PCIe/M.2, with the evidence that decided.
|
|
7914
7921
|
*
|
|
7915
7922
|
* - USB: every matching USB device counts (multiple Corals run concurrently).
|
|
7916
7923
|
* - PCIe: the apex driver's units, each usable only if its device node opens;
|
|
7917
7924
|
* a Coral PCI function the driver did not bind is `driver-missing`.
|
|
7918
|
-
* - Fallback: when
|
|
7919
|
-
*
|
|
7920
|
-
*
|
|
7921
|
-
*
|
|
7925
|
+
* - Fallback: when the USB bus is NOT OBSERVABLE (`/sys/bus/usb/devices`
|
|
7926
|
+
* missing, unreadable or empty — a macOS desktop, a restricted container)
|
|
7927
|
+
* and no PCI Coral was seen, an installed libedgetpu delegate means one USB
|
|
7928
|
+
* Coral is assumed. A bus that IS readable and lists no Coral id is the
|
|
7929
|
+
* answer: no USB Coral. The delegate stays installed after a stick is
|
|
7930
|
+
* unplugged or moved to another node, so it is evidence only where nothing
|
|
7931
|
+
* better exists (D919).
|
|
7922
7932
|
*
|
|
7923
7933
|
* Returns `null` only when no Coral was found at all; a present-but-unusable
|
|
7924
7934
|
* Coral is reported with its typed reason, never as absent (D393/D315).
|
|
7925
7935
|
*/
|
|
7926
|
-
function
|
|
7927
|
-
const
|
|
7936
|
+
function detectCoralAccelerator(fsx, delegateHost = currentDelegateHost()) {
|
|
7937
|
+
const usbDevices = fsx.listUsbDevices();
|
|
7938
|
+
const usbBus = usbDevices !== null && usbDevices.length > 0 ? "observed" : "unobservable";
|
|
7939
|
+
const usb = usbDevices === null ? 0 : countUsbCorals(usbDevices, fsx);
|
|
7928
7940
|
const pci = classifyPci(fsx);
|
|
7929
7941
|
const units = [];
|
|
7930
7942
|
if (usb > 0) units.push({
|
|
@@ -7946,25 +7958,44 @@ function classifyCoralAccelerator(fsx, delegateHost = currentDelegateHost()) {
|
|
|
7946
7958
|
count: pci.notAccessible,
|
|
7947
7959
|
reason: "device-not-accessible"
|
|
7948
7960
|
});
|
|
7949
|
-
if (units.length > 0 || unavailable.length > 0) return
|
|
7950
|
-
|
|
7951
|
-
|
|
7952
|
-
|
|
7953
|
-
|
|
7954
|
-
|
|
7955
|
-
|
|
7956
|
-
|
|
7957
|
-
|
|
7961
|
+
if (units.length > 0 || unavailable.length > 0) return {
|
|
7962
|
+
info: unavailable.length > 0 ? {
|
|
7963
|
+
type: "coral-edgetpu",
|
|
7964
|
+
units,
|
|
7965
|
+
unavailable
|
|
7966
|
+
} : {
|
|
7967
|
+
type: "coral-edgetpu",
|
|
7968
|
+
units
|
|
7969
|
+
},
|
|
7970
|
+
usbBus,
|
|
7971
|
+
decidedBy: usb > 0 ? "usb-ids" : "pci"
|
|
7972
|
+
};
|
|
7973
|
+
if (usbBus === "unobservable" && chooseEdgetpuDelegate({
|
|
7958
7974
|
...delegateHost,
|
|
7959
7975
|
exists: (p) => fsx.exists(p)
|
|
7960
7976
|
}) !== null) return {
|
|
7961
|
-
|
|
7962
|
-
|
|
7963
|
-
|
|
7964
|
-
|
|
7965
|
-
|
|
7977
|
+
info: {
|
|
7978
|
+
type: "coral-edgetpu",
|
|
7979
|
+
units: [{
|
|
7980
|
+
bus: "usb",
|
|
7981
|
+
count: 1
|
|
7982
|
+
}]
|
|
7983
|
+
},
|
|
7984
|
+
usbBus,
|
|
7985
|
+
decidedBy: "delegate-fallback"
|
|
7966
7986
|
};
|
|
7967
|
-
return
|
|
7987
|
+
return {
|
|
7988
|
+
info: null,
|
|
7989
|
+
usbBus,
|
|
7990
|
+
decidedBy: "none"
|
|
7991
|
+
};
|
|
7992
|
+
}
|
|
7993
|
+
function safeListOrNull(dir) {
|
|
7994
|
+
try {
|
|
7995
|
+
return fs.readdirSync(dir);
|
|
7996
|
+
} catch {
|
|
7997
|
+
return null;
|
|
7998
|
+
}
|
|
7968
7999
|
}
|
|
7969
8000
|
function safeList(dir) {
|
|
7970
8001
|
try {
|
|
@@ -7982,7 +8013,7 @@ function safeRead(path) {
|
|
|
7982
8013
|
}
|
|
7983
8014
|
/** The real filesystem view: `/sys` for enumeration, `/dev` for access. */
|
|
7984
8015
|
var nodeCoralFs = {
|
|
7985
|
-
listUsbDevices: () =>
|
|
8016
|
+
listUsbDevices: () => safeListOrNull("/sys/bus/usb/devices"),
|
|
7986
8017
|
readUsbAttr: (device, attr) => safeRead(`/sys/bus/usb/devices/${device}/${attr}`),
|
|
7987
8018
|
listPciDevices: () => safeList("/sys/bus/pci/devices"),
|
|
7988
8019
|
readPciAttr: (device, attr) => safeRead(`/sys/bus/pci/devices/${device}/${attr}`),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const require_chunk = require("./chunk-Cek0wNdY.js");
|
|
2
|
-
const require_dist = require("./dist-
|
|
2
|
+
const require_dist = require("./dist-DRL3rEfN.js");
|
|
3
3
|
const require_x509_es = require("./x509.es-C4cOo48M.js");
|
|
4
4
|
let zod = require("zod");
|
|
5
5
|
let node_crypto = require("node:crypto");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Ki as defineRecordKinds } from "./dist-X1r44BdF.mjs";
|
|
2
2
|
import { S as backdatedNotBefore, _ as NameConstraints, a as KeyUsageFlags, c as Pkcs10CertificateRequest, d as SubjectKeyIdentifierExtension, f as X509Certificate$1, g as GeneralSubtrees, h as GeneralSubtree, i as Extension, l as Pkcs10CertificateRequestGenerator, m as cryptoProvider, n as BasicConstraintsExtension, o as KeyUsagesExtension, p as X509CertificateGenerator, r as ExtendedKeyUsageExtension, s as PemConverter, t as AuthorityKeyIdentifierExtension, u as SubjectAlternativeNameExtension, v as GeneralName, x as AsnConvert } from "./x509.es-DK__ETIe.mjs";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
import { X509Certificate, createHash, createPrivateKey, randomBytes, webcrypto } 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-DRL3rEfN.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 { $r as
|
|
1
|
+
import { $r as errMsg, Da as EventCategory, _t as addonPagesCapability, ei as BaseAddon } from "../../dist-X1r44BdF.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-DRL3rEfN.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 { $r as
|
|
1
|
+
import { $r as errMsg, Da as EventCategory, ei as BaseAddon, yt as addonWidgetsCapability } from "../../dist-X1r44BdF.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-DRL3rEfN.js");
|
|
7
7
|
const require_read_all_rows$1 = require("../../read-all-rows-CVoO1ONM.js");
|
|
8
8
|
//#region src/builtins/alerts/alert-episode-policy.ts
|
|
9
9
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $r as
|
|
1
|
+
import { $r as errMsg, Da as EventCategory, Ki as defineRecordKinds, St as alertsCapability, Ui as createEvent, bn as isAlertEpisodeSeverity, bt as alertEpisodeId, ei as BaseAddon, i as AlertSchema, xt as alertEpisodePayload, yn as isAlertEpisodeOpen } from "../../dist-X1r44BdF.mjs";
|
|
2
2
|
import { t as require_read_all_rows } from "../../read-all-rows-TaPqdWNF.mjs";
|
|
3
3
|
//#region src/builtins/alerts/alert-episode-policy.ts
|
|
4
4
|
/**
|
|
@@ -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-DRL3rEfN.js");
|
|
7
7
|
//#region src/builtins/autotrack/autotrack-config.ts
|
|
8
8
|
var DEFAULT_AUTOTRACK_LOOP_CONFIG = {
|
|
9
9
|
deadZoneFraction: .5,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $r as
|
|
1
|
+
import { $r as errMsg, Da as EventCategory, Et as bareAddonId, I as FIRST_LEVEL_MACRO_CLASSES, ea as isEvent, ei as BaseAddon, tr as ptzAutotrackCapability } from "../../dist-X1r44BdF.mjs";
|
|
2
2
|
//#region src/builtins/autotrack/autotrack-config.ts
|
|
3
3
|
var DEFAULT_AUTOTRACK_LOOP_CONFIG = {
|
|
4
4
|
deadZoneFraction: .5,
|
|
@@ -3,9 +3,9 @@ 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-DRL3rEfN.js");
|
|
7
7
|
const require_read_all_rows$1 = require("../../read-all-rows-CVoO1ONM.js");
|
|
8
|
-
const require_restore_archive = require("../../restore-archive-
|
|
8
|
+
const require_restore_archive = require("../../restore-archive-Df6PsOHP.js");
|
|
9
9
|
let node_crypto = require("node:crypto");
|
|
10
10
|
let node_fs_promises = require("node:fs/promises");
|
|
11
11
|
node_fs_promises = require_chunk.__toESM(node_fs_promises);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Da as EventCategory, Er as storageOccupancyCapability, Sa as toNodeId, Tt as backupCapability, Vn as mayWriteToLocation, ca as nodePin, ei as BaseAddon } from "../../dist-X1r44BdF.mjs";
|
|
2
2
|
import { t as require_read_all_rows } from "../../read-all-rows-TaPqdWNF.mjs";
|
|
3
|
-
import { _ as backupRecordStoresOf, a as BackupSnapshotRefusedError, d as ENCRYPTED_BACKUP_SUFFIX, f as generateBackupKeyPair, g as backupOrchestratorRecordKinds, i as BackupCancelledError, l as BackupKeyFormatError, m as parseBackupSecretKey, n as precheckRestoreKey, o as DEFAULT_BACKUP_DATABASES, p as parseBackupPublicKey, r as prepareRestoreArchive, s as SystemBackupService } from "../../restore-archive-
|
|
3
|
+
import { _ as backupRecordStoresOf, a as BackupSnapshotRefusedError, d as ENCRYPTED_BACKUP_SUFFIX, f as generateBackupKeyPair, g as backupOrchestratorRecordKinds, i as BackupCancelledError, l as BackupKeyFormatError, m as parseBackupSecretKey, n as precheckRestoreKey, o as DEFAULT_BACKUP_DATABASES, p as parseBackupPublicKey, r as prepareRestoreArchive, s as SystemBackupService } from "../../restore-archive-X0ciGMmO.mjs";
|
|
4
4
|
import { randomUUID } from "node:crypto";
|
|
5
5
|
import * as fsp from "node:fs/promises";
|
|
6
6
|
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-DRL3rEfN.js");
|
|
7
7
|
const require_settle_sources = require("../../settle-sources-Bhsy57y-.js");
|
|
8
8
|
let zod = require("zod");
|
|
9
9
|
//#region src/builtins/calendars/calendar-color.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Ki as defineRecordKinds, Mt as calendarsCapability, ei as BaseAddon, g as CalendarPreferencesSchema } from "../../dist-X1r44BdF.mjs";
|
|
2
2
|
import { t as settleSourcesWithTimeout } from "../../settle-sources-CDtNC8ub.mjs";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
//#region src/builtins/calendars/calendar-color.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-DRL3rEfN.js");
|
|
7
7
|
let zod = require("zod");
|
|
8
8
|
let _camstack_types_node = require("@camstack/types/node");
|
|
9
9
|
let node_path = require("node:path");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $r as
|
|
1
|
+
import { $r as errMsg, Da as EventCategory, Gn as motionCapability, Hn as memoizePinnedFfmpeg, N as DeclaredDevices, Nt as cameraGridLayoutCapability, Or as streamCatalogCapability, Qi as hydrateSchema, Qr as DeviceType, T as DERIVED_CAMERA_SILENCED_CAP_NAMES, Ui as createEvent, X as MOTION_CLOSE_AFTER_MS, Xr as DeviceFeature, a as BaseDevice, ei as BaseAddon, qt as declarationOwnerNodeId, xr as snapshotCapability, zr as buildFfmpegArgs } from "../../dist-X1r44BdF.mjs";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { FfmpegProcess } from "@camstack/types/node";
|
|
4
4
|
import { join } 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_composition_sources = require("../../composition-sources-
|
|
6
|
+
const require_dist = require("../../dist-DRL3rEfN.js");
|
|
7
|
+
const require_composition_sources = require("../../composition-sources-CRJffEiB.js");
|
|
8
8
|
let zod = require("zod");
|
|
9
9
|
//#region src/builtins/shared/device-state-changed.ts
|
|
10
10
|
/** Structural narrowing helper for untrusted bus payloads. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { $r as
|
|
2
|
-
import { n as normalizedNativeOwner } from "../../composition-sources-
|
|
1
|
+
import { $r as errMsg, Br as cloneStatefulExpressionMemory, Da as EventCategory, Gr as compositionSliceKey, Hr as composedDeviceStableId, It as composerCapability, Jr as disarmRoseMemory, Kr as compositionSourceKey, Lt as compositionFieldKey, N as DeclaredDevices, Ot as buildCapabilityLookup, Qn as planComposition, Qr as DeviceType, Rr as COMPOSER_ADDON_ID, Ui as createEvent, Ur as compositionFeatureEnabled, Vr as composedDeviceRef, Wr as compositionItemFieldPath, Yr as toExpressionValue, a as BaseDevice, cn as evaluateCompositionField, d as COMPOSED_ITEM_FIXED_FIELDS, dn as expressionContainsBuiltinCall, ei as BaseAddon, qr as createStatefulExpressionMemory, r as ALL_CAPABILITY_DEFINITIONS } from "../../dist-X1r44BdF.mjs";
|
|
2
|
+
import { n as normalizedNativeOwner } from "../../composition-sources-B0tqvf0t.mjs";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
//#region src/builtins/shared/device-state-changed.ts
|
|
5
5
|
/** Structural narrowing helper for untrusted bus payloads. */
|
|
@@ -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-DRL3rEfN.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 {
|
|
1
|
+
import { Ln as logDestinationCapability, ei as BaseAddon } from "../../dist-X1r44BdF.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,8 +1,8 @@
|
|
|
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-DRL3rEfN.js");
|
|
4
4
|
const require_read_all_rows$1 = require("../../read-all-rows-CVoO1ONM.js");
|
|
5
|
-
const require_composition_sources = require("../../composition-sources-
|
|
5
|
+
const require_composition_sources = require("../../composition-sources-CRJffEiB.js");
|
|
6
6
|
const require_prefix_range = require("../../prefix-range-D_KueXbQ.js");
|
|
7
7
|
const require_prefix_walk = require("../../prefix-walk-Dv6MLZlM.js");
|
|
8
8
|
let zod = require("zod");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { $r as
|
|
1
|
+
import { $r as errMsg, Bt as coreBlockComposition, Ht as coreBlockSourceKind, Ki as defineRecordKinds, Kn as normalizeCoreBlockWrite, Kr as compositionSourceKey, Mr as validateComposition, N as DeclaredDevices, Ot as buildCapabilityLookup, Qi as hydrateSchema, Qn as planComposition, Rt as compositionSourceRefs, Ut as coreBlocksCapability, Vi as collectSecretMarkerRefs, Vr as composedDeviceRef, Vt as coreBlockIdFromAddonId, Zt as describeComposableCaps, _a as resolveSecretMarkers, aa as isSecretRefOwnedBy, ar as replacedFieldKeys, ba as secretTreeFromSchema, cr as resolveCoreBlockEntry, ei as BaseAddon, f as COMPOSER_RUNNER_ID, lr as resolveCoreBlockFiles, m as CORE_BLOCK_ADDON_PREFIX, p as CORE_BLOCKS_ADDON_ID, r as ALL_CAPABILITY_DEFINITIONS, ra as isSecretMarker, v as CoreBlockSchema, wa as transformSecretWrite, zt as coreBlockAddonId } from "../../dist-X1r44BdF.mjs";
|
|
2
2
|
import { t as require_read_all_rows } from "../../read-all-rows-TaPqdWNF.mjs";
|
|
3
|
-
import { t as describeCompositionSources } from "../../composition-sources-
|
|
3
|
+
import { t as describeCompositionSources } from "../../composition-sources-B0tqvf0t.mjs";
|
|
4
4
|
import { t as prefixRange } from "../../prefix-range-Dl0znowN.mjs";
|
|
5
5
|
import { n as unwrapStoredValue, t as loadPrefixed } from "../../prefix-walk-DAOBSyH1.mjs";
|
|
6
6
|
import { createRequire } from "node:module";
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* lost. Reconcile ({@link CaptureEngine.reconcile}) restores what a dropped
|
|
19
19
|
* event missed from the state mirror's snapshot.
|
|
20
20
|
*/
|
|
21
|
-
import { type CapabilityHistoryField, type DeviceHistorySubject, type IScopedLogger } from "@camstack/types";
|
|
21
|
+
import { type CapabilityHistoryField, type CapabilityHistoryItems, type DeviceHistorySubject, type IScopedLogger } from "@camstack/types";
|
|
22
22
|
import type { HistoryCounters } from "../status/counters.js";
|
|
23
23
|
import type { SeriesRegistry } from "../store/series-registry.js";
|
|
24
24
|
import type { HistoryStore, MetricRecord } from "../store/history-store.js";
|
|
@@ -26,13 +26,25 @@ import { type RecordedState } from "./capture-filter.js";
|
|
|
26
26
|
import { type DeviceDirectory } from "./device-directory.js";
|
|
27
27
|
import type { PointWriter } from "./point-writer.js";
|
|
28
28
|
export type HistoryCatalog = Readonly<Record<string, Readonly<Record<string, CapabilityHistoryField>>>>;
|
|
29
|
+
/** Keyed-array series per cap (D917): the item key is the series scope. */
|
|
30
|
+
export type HistoryItemCatalog = Readonly<Record<string, CapabilityHistoryItems>>;
|
|
29
31
|
export declare const CAP_KEY_PREFIX = "cap:";
|
|
32
|
+
/**
|
|
33
|
+
* Items read from one slice's keyed array; beyond this the rest are not
|
|
34
|
+
* captured (counted `item-overflow`). A consumables list holds a handful.
|
|
35
|
+
*/
|
|
36
|
+
export declare const MAX_ITEMS_PER_SLICE = 64;
|
|
37
|
+
/** The longest item key that becomes a series scope (counted `item-key-invalid` beyond). */
|
|
38
|
+
export declare const MAX_ITEM_KEY_LENGTH = 128;
|
|
30
39
|
export declare function capSeriesKey(capName: string, fieldPath: string): string;
|
|
31
|
-
/** The
|
|
32
|
-
export declare function
|
|
40
|
+
/** The series key of an item field: `cap:<capName>.<path>[].<field>`. */
|
|
41
|
+
export declare function capItemSeriesKey(capName: string, items: CapabilityHistoryItems, field: string): string;
|
|
42
|
+
/** The metric rows of every catalog field and keyed-item field (owner `device-history`). */
|
|
43
|
+
export declare function catalogMetrics(catalog: HistoryCatalog, itemCatalog: HistoryItemCatalog, now: number): readonly MetricRecord[];
|
|
33
44
|
export type SnapshotMap = Readonly<Record<string, Readonly<Record<string, Readonly<Record<string, unknown>>>>>>;
|
|
34
45
|
export interface CaptureEngineDeps {
|
|
35
46
|
readonly catalog: HistoryCatalog;
|
|
47
|
+
readonly itemCatalog: HistoryItemCatalog;
|
|
36
48
|
readonly registry: SeriesRegistry;
|
|
37
49
|
readonly store: HistoryStore;
|
|
38
50
|
readonly directory: DeviceDirectory;
|
|
@@ -52,6 +64,14 @@ export declare class CaptureEngine {
|
|
|
52
64
|
seed(): Promise<void>;
|
|
53
65
|
/** One `DeviceStateChanged`. Synchronous: the bus must never wait on us. */
|
|
54
66
|
handleState(deviceId: number, capName: string, slice: Readonly<Record<string, unknown>>, at: number): void;
|
|
67
|
+
/** Every catalogued field and keyed item of one cap slice, for a real device. */
|
|
68
|
+
private captureSlice;
|
|
69
|
+
/**
|
|
70
|
+
* A keyed array (D917): each item with a usable key contributes its fields
|
|
71
|
+
* under that key as the series scope. A value that is not an array is no
|
|
72
|
+
* reading; an item without a string key cannot be followed and is counted.
|
|
73
|
+
*/
|
|
74
|
+
private captureItems;
|
|
55
75
|
/**
|
|
56
76
|
* The number a field contributes, or `null` (not a reading — never 0). An
|
|
57
77
|
* `enum` state becomes the ordinal of its value in the metric's list; a value
|
|
@@ -89,5 +109,5 @@ export declare class CaptureEngine {
|
|
|
89
109
|
/** For status and specs. */
|
|
90
110
|
pendingCount(): number;
|
|
91
111
|
/** The last recorded state of a series, for specs. */
|
|
92
|
-
lastRecorded(key: string, subjectId: string): RecordedState | undefined;
|
|
112
|
+
lastRecorded(key: string, subjectId: string, scope?: string): RecordedState | undefined;
|
|
93
113
|
}
|