@camstack/system 1.2.469 → 1.2.471
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 +97 -31
- package/dist/addon-runner.mjs +97 -31
- package/dist/addon-utils.mjs +1 -1
- package/dist/{agent-https-b-zX78oB.mjs → agent-https-DHBvFZJS.mjs} +1 -1
- package/dist/{agent-https-5OgOR-eF.js → agent-https-bH6bKDeK.js} +1 -1
- package/dist/auth/user-manager.d.ts +2 -2
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +4 -4
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +5 -5
- 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 +5 -5
- 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/device-history.addon.js +1 -1
- package/dist/builtins/device-history/device-history.addon.mjs +1 -1
- package/dist/builtins/device-manager/device-manager.addon.js +1 -1
- package/dist/builtins/device-manager/device-manager.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/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 +5 -5
- 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 +10 -10
- package/dist/builtins/platform-probe/accelerator-reprobe.d.ts +23 -0
- package/dist/builtins/platform-probe/coral-accelerators.d.ts +50 -11
- package/dist/builtins/platform-probe/index.d.ts +17 -1
- package/dist/builtins/platform-probe/index.js +196 -12
- package/dist/builtins/platform-probe/index.mjs +202 -19
- 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 +20 -20
- 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 +115 -115
- package/dist/builtins/winston-logging/index.js +1 -1
- package/dist/builtins/winston-logging/index.mjs +1 -1
- package/dist/{composition-sources-BGXTiUZm.js → composition-sources-B5uJZXZ1.js} +1 -1
- package/dist/{composition-sources-DTdzzyf0.mjs → composition-sources-DRw_vBKH.mjs} +1 -1
- package/dist/{constants-md_POijo.mjs → constants-5lA8Z9d8.mjs} +1 -1
- package/dist/{constants-2mPqJjkR.js → constants-CToE4OFp.js} +1 -1
- package/dist/{coral-accelerators-oUXmmbc2.js → coral-accelerators-BSVsBVzt.js} +102 -30
- package/dist/coral-accelerators-BW3OcrLD.mjs +231 -0
- package/dist/{custom-action-registry-DZSCLBuT.mjs → custom-action-registry-BGYDjTqY.mjs} +37 -37
- package/dist/{device-ca-CFdyrqeJ.mjs → device-ca-URrs1lxK.mjs} +1 -1
- package/dist/{device-ca-CC58lmNV.js → device-ca-nOCYVFS4.js} +1 -1
- package/dist/{dist-CtVVtyTX.mjs → dist-5XUG7iYJ.mjs} +6839 -1416
- package/dist/{dist-DuBtzSCh.js → dist-BjcWEfRy.js} +6839 -1416
- package/dist/file-host-worker.js +1 -1
- package/dist/file-host-worker.mjs +1 -1
- package/dist/{hub-mdns-ciao-BLsX_2cL.js → hub-mdns-ciao-vEWhJ_SD.js} +2 -2
- package/dist/{hub-mdns-ciao-CmuWLPci.mjs → hub-mdns-ciao-zD3JojB_.mjs} +2 -2
- package/dist/index.js +8 -8
- package/dist/index.mjs +225 -225
- package/dist/{restore-archive-CxPAuaNs.js → restore-archive-B64m2nAj.js} +1 -1
- package/dist/{restore-archive-D2w3z_ob.mjs → restore-archive-CN1pJTRn.mjs} +94 -94
- package/dist/{wal-maintenance-EK28XXnc.js → wal-maintenance-BNXVX-ot.js} +0 -0
- package/dist/{wal-maintenance-DeluFl_1.mjs → wal-maintenance-Bl2I-ZcR.mjs} +0 -0
- package/package.json +1 -1
- package/dist/coral-accelerators-Qhn5TOYZ.mjs +0 -165
package/dist/addon-runner.js
CHANGED
|
@@ -7893,14 +7893,34 @@ function currentDelegateHost() {
|
|
|
7893
7893
|
override: process.env[_camstack_types_node.EDGETPU_LIB_ENV]
|
|
7894
7894
|
};
|
|
7895
7895
|
}
|
|
7896
|
-
|
|
7897
|
-
|
|
7898
|
-
|
|
7896
|
+
/** usbfs names a device `/dev/bus/usb/<busnum>/<devnum>`, each zero-padded to three digits. */
|
|
7897
|
+
function usbDeviceNode(device, fsx) {
|
|
7898
|
+
const bus = Number.parseInt(fsx.readUsbAttr(device, "busnum"), 10);
|
|
7899
|
+
const dev = Number.parseInt(fsx.readUsbAttr(device, "devnum"), 10);
|
|
7900
|
+
if (!Number.isInteger(bus) || !Number.isInteger(dev) || bus <= 0 || dev <= 0) return null;
|
|
7901
|
+
return `/dev/bus/usb/${String(bus).padStart(3, "0")}/${String(dev).padStart(3, "0")}`;
|
|
7902
|
+
}
|
|
7903
|
+
/**
|
|
7904
|
+
* USB units: sysfs is the HOST's view — a container whose `/dev/bus/usb`
|
|
7905
|
+
* mapping was removed still lists the stick under `/sys/bus/usb/devices`. A
|
|
7906
|
+
* listed Coral is usable only when its usbfs device node is in this process's
|
|
7907
|
+
* view AND opens read/write; otherwise it is present but not accessible.
|
|
7908
|
+
*/
|
|
7909
|
+
function classifyUsb(devices, fsx) {
|
|
7910
|
+
let usable = 0;
|
|
7911
|
+
const inaccessibleNodes = [];
|
|
7912
|
+
for (const device of devices) {
|
|
7899
7913
|
const vendor = fsx.readUsbAttr(device, "idVendor").toLowerCase();
|
|
7900
7914
|
const product = fsx.readUsbAttr(device, "idProduct").toLowerCase();
|
|
7901
|
-
if (CORAL_USB_IDS.some((id) => id.vendor === vendor && id.product === product))
|
|
7915
|
+
if (!CORAL_USB_IDS.some((id) => id.vendor === vendor && id.product === product)) continue;
|
|
7916
|
+
const node = usbDeviceNode(device, fsx);
|
|
7917
|
+
if (node !== null && fsx.exists(node) && fsx.canOpen(node)) usable++;
|
|
7918
|
+
else inaccessibleNodes.push(node ?? `/sys/bus/usb/devices/${device}`);
|
|
7902
7919
|
}
|
|
7903
|
-
return
|
|
7920
|
+
return {
|
|
7921
|
+
usable,
|
|
7922
|
+
inaccessibleNodes
|
|
7923
|
+
};
|
|
7904
7924
|
}
|
|
7905
7925
|
function countPciCorals(fsx) {
|
|
7906
7926
|
let count = 0;
|
|
@@ -7934,32 +7954,56 @@ function classifyPci(fsx) {
|
|
|
7934
7954
|
};
|
|
7935
7955
|
}
|
|
7936
7956
|
/**
|
|
7937
|
-
* Detect Coral Edge TPUs on USB and PCIe/M.2.
|
|
7957
|
+
* Detect Coral Edge TPUs on USB and PCIe/M.2 — the answer only. See
|
|
7958
|
+
* {@link detectCoralAccelerator} for the evidence that decided it.
|
|
7959
|
+
*/
|
|
7960
|
+
function classifyCoralAccelerator(fsx, delegateHost = currentDelegateHost()) {
|
|
7961
|
+
return detectCoralAccelerator(fsx, delegateHost).info;
|
|
7962
|
+
}
|
|
7963
|
+
/**
|
|
7964
|
+
* Detect Coral Edge TPUs on USB and PCIe/M.2, with the evidence that decided.
|
|
7938
7965
|
*
|
|
7939
|
-
* - USB: every matching USB device counts (multiple Corals run concurrently)
|
|
7966
|
+
* - USB: every matching USB device counts (multiple Corals run concurrently),
|
|
7967
|
+
* usable only if its `/dev/bus/usb/<BBB>/<DDD>` node opens read/write — a
|
|
7968
|
+
* listed stick whose node is missing or refused is `device-not-accessible`.
|
|
7940
7969
|
* - PCIe: the apex driver's units, each usable only if its device node opens;
|
|
7941
7970
|
* a Coral PCI function the driver did not bind is `driver-missing`.
|
|
7942
|
-
* - Fallback: when
|
|
7943
|
-
*
|
|
7944
|
-
*
|
|
7945
|
-
*
|
|
7971
|
+
* - Fallback: when the USB bus is NOT OBSERVABLE (`/sys/bus/usb/devices`
|
|
7972
|
+
* missing, unreadable or empty — a macOS desktop, a restricted container)
|
|
7973
|
+
* and no PCI Coral was seen, an installed libedgetpu delegate means one USB
|
|
7974
|
+
* Coral is assumed. A bus that IS readable and lists no Coral id is the
|
|
7975
|
+
* answer: no USB Coral. The delegate stays installed after a stick is
|
|
7976
|
+
* unplugged or moved to another node, so it is evidence only where nothing
|
|
7977
|
+
* better exists (D919).
|
|
7946
7978
|
*
|
|
7947
7979
|
* Returns `null` only when no Coral was found at all; a present-but-unusable
|
|
7948
7980
|
* Coral is reported with its typed reason, never as absent (D393/D315).
|
|
7949
7981
|
*/
|
|
7950
|
-
function
|
|
7951
|
-
const
|
|
7982
|
+
function detectCoralAccelerator(fsx, delegateHost = currentDelegateHost()) {
|
|
7983
|
+
const usbDevices = fsx.listUsbDevices();
|
|
7984
|
+
const usbBus = usbDevices !== null && usbDevices.length > 0 ? "observed" : "unobservable";
|
|
7985
|
+
const usb = usbDevices === null ? {
|
|
7986
|
+
usable: 0,
|
|
7987
|
+
inaccessibleNodes: []
|
|
7988
|
+
} : classifyUsb(usbDevices, fsx);
|
|
7989
|
+
const usbSeen = usb.usable + usb.inaccessibleNodes.length;
|
|
7990
|
+
const inaccessibleUsbNodes = usb.inaccessibleNodes;
|
|
7952
7991
|
const pci = classifyPci(fsx);
|
|
7953
7992
|
const units = [];
|
|
7954
|
-
if (usb > 0) units.push({
|
|
7993
|
+
if (usb.usable > 0) units.push({
|
|
7955
7994
|
bus: "usb",
|
|
7956
|
-
count: usb
|
|
7995
|
+
count: usb.usable
|
|
7957
7996
|
});
|
|
7958
7997
|
if (pci.usable > 0) units.push({
|
|
7959
7998
|
bus: "pci",
|
|
7960
7999
|
count: pci.usable
|
|
7961
8000
|
});
|
|
7962
8001
|
const unavailable = [];
|
|
8002
|
+
if (usb.inaccessibleNodes.length > 0) unavailable.push({
|
|
8003
|
+
bus: "usb",
|
|
8004
|
+
count: usb.inaccessibleNodes.length,
|
|
8005
|
+
reason: "device-not-accessible"
|
|
8006
|
+
});
|
|
7963
8007
|
if (pci.driverMissing > 0) unavailable.push({
|
|
7964
8008
|
bus: "pci",
|
|
7965
8009
|
count: pci.driverMissing,
|
|
@@ -7970,25 +8014,47 @@ function classifyCoralAccelerator(fsx, delegateHost = currentDelegateHost()) {
|
|
|
7970
8014
|
count: pci.notAccessible,
|
|
7971
8015
|
reason: "device-not-accessible"
|
|
7972
8016
|
});
|
|
7973
|
-
if (units.length > 0 || unavailable.length > 0) return
|
|
7974
|
-
|
|
7975
|
-
|
|
7976
|
-
|
|
7977
|
-
|
|
7978
|
-
|
|
7979
|
-
|
|
7980
|
-
|
|
7981
|
-
|
|
8017
|
+
if (units.length > 0 || unavailable.length > 0) return {
|
|
8018
|
+
info: unavailable.length > 0 ? {
|
|
8019
|
+
type: "coral-edgetpu",
|
|
8020
|
+
units,
|
|
8021
|
+
unavailable
|
|
8022
|
+
} : {
|
|
8023
|
+
type: "coral-edgetpu",
|
|
8024
|
+
units
|
|
8025
|
+
},
|
|
8026
|
+
usbBus,
|
|
8027
|
+
decidedBy: usbSeen > 0 ? "usb-ids" : "pci",
|
|
8028
|
+
inaccessibleUsbNodes
|
|
8029
|
+
};
|
|
8030
|
+
if (usbBus === "unobservable" && (0, _camstack_types_node.chooseEdgetpuDelegate)({
|
|
7982
8031
|
...delegateHost,
|
|
7983
8032
|
exists: (p) => fsx.exists(p)
|
|
7984
8033
|
}) !== null) return {
|
|
7985
|
-
|
|
7986
|
-
|
|
7987
|
-
|
|
7988
|
-
|
|
7989
|
-
|
|
8034
|
+
info: {
|
|
8035
|
+
type: "coral-edgetpu",
|
|
8036
|
+
units: [{
|
|
8037
|
+
bus: "usb",
|
|
8038
|
+
count: 1
|
|
8039
|
+
}]
|
|
8040
|
+
},
|
|
8041
|
+
usbBus,
|
|
8042
|
+
decidedBy: "delegate-fallback",
|
|
8043
|
+
inaccessibleUsbNodes
|
|
7990
8044
|
};
|
|
7991
|
-
return
|
|
8045
|
+
return {
|
|
8046
|
+
info: null,
|
|
8047
|
+
usbBus,
|
|
8048
|
+
decidedBy: "none",
|
|
8049
|
+
inaccessibleUsbNodes
|
|
8050
|
+
};
|
|
8051
|
+
}
|
|
8052
|
+
function safeListOrNull(dir) {
|
|
8053
|
+
try {
|
|
8054
|
+
return node_fs.default.readdirSync(dir);
|
|
8055
|
+
} catch {
|
|
8056
|
+
return null;
|
|
8057
|
+
}
|
|
7992
8058
|
}
|
|
7993
8059
|
function safeList(dir) {
|
|
7994
8060
|
try {
|
|
@@ -8006,7 +8072,7 @@ function safeRead(path) {
|
|
|
8006
8072
|
}
|
|
8007
8073
|
/** The real filesystem view: `/sys` for enumeration, `/dev` for access. */
|
|
8008
8074
|
var nodeCoralFs = {
|
|
8009
|
-
listUsbDevices: () =>
|
|
8075
|
+
listUsbDevices: () => safeListOrNull("/sys/bus/usb/devices"),
|
|
8010
8076
|
readUsbAttr: (device, attr) => safeRead(`/sys/bus/usb/devices/${device}/${attr}`),
|
|
8011
8077
|
listPciDevices: () => safeList("/sys/bus/pci/devices"),
|
|
8012
8078
|
readPciAttr: (device, attr) => safeRead(`/sys/bus/pci/devices/${device}/${attr}`),
|
package/dist/addon-runner.mjs
CHANGED
|
@@ -7869,14 +7869,34 @@ function currentDelegateHost() {
|
|
|
7869
7869
|
override: process.env[EDGETPU_LIB_ENV]
|
|
7870
7870
|
};
|
|
7871
7871
|
}
|
|
7872
|
-
|
|
7873
|
-
|
|
7874
|
-
|
|
7872
|
+
/** usbfs names a device `/dev/bus/usb/<busnum>/<devnum>`, each zero-padded to three digits. */
|
|
7873
|
+
function usbDeviceNode(device, fsx) {
|
|
7874
|
+
const bus = Number.parseInt(fsx.readUsbAttr(device, "busnum"), 10);
|
|
7875
|
+
const dev = Number.parseInt(fsx.readUsbAttr(device, "devnum"), 10);
|
|
7876
|
+
if (!Number.isInteger(bus) || !Number.isInteger(dev) || bus <= 0 || dev <= 0) return null;
|
|
7877
|
+
return `/dev/bus/usb/${String(bus).padStart(3, "0")}/${String(dev).padStart(3, "0")}`;
|
|
7878
|
+
}
|
|
7879
|
+
/**
|
|
7880
|
+
* USB units: sysfs is the HOST's view — a container whose `/dev/bus/usb`
|
|
7881
|
+
* mapping was removed still lists the stick under `/sys/bus/usb/devices`. A
|
|
7882
|
+
* listed Coral is usable only when its usbfs device node is in this process's
|
|
7883
|
+
* view AND opens read/write; otherwise it is present but not accessible.
|
|
7884
|
+
*/
|
|
7885
|
+
function classifyUsb(devices, fsx) {
|
|
7886
|
+
let usable = 0;
|
|
7887
|
+
const inaccessibleNodes = [];
|
|
7888
|
+
for (const device of devices) {
|
|
7875
7889
|
const vendor = fsx.readUsbAttr(device, "idVendor").toLowerCase();
|
|
7876
7890
|
const product = fsx.readUsbAttr(device, "idProduct").toLowerCase();
|
|
7877
|
-
if (CORAL_USB_IDS.some((id) => id.vendor === vendor && id.product === product))
|
|
7891
|
+
if (!CORAL_USB_IDS.some((id) => id.vendor === vendor && id.product === product)) continue;
|
|
7892
|
+
const node = usbDeviceNode(device, fsx);
|
|
7893
|
+
if (node !== null && fsx.exists(node) && fsx.canOpen(node)) usable++;
|
|
7894
|
+
else inaccessibleNodes.push(node ?? `/sys/bus/usb/devices/${device}`);
|
|
7878
7895
|
}
|
|
7879
|
-
return
|
|
7896
|
+
return {
|
|
7897
|
+
usable,
|
|
7898
|
+
inaccessibleNodes
|
|
7899
|
+
};
|
|
7880
7900
|
}
|
|
7881
7901
|
function countPciCorals(fsx) {
|
|
7882
7902
|
let count = 0;
|
|
@@ -7910,32 +7930,56 @@ function classifyPci(fsx) {
|
|
|
7910
7930
|
};
|
|
7911
7931
|
}
|
|
7912
7932
|
/**
|
|
7913
|
-
* Detect Coral Edge TPUs on USB and PCIe/M.2.
|
|
7933
|
+
* Detect Coral Edge TPUs on USB and PCIe/M.2 — the answer only. See
|
|
7934
|
+
* {@link detectCoralAccelerator} for the evidence that decided it.
|
|
7935
|
+
*/
|
|
7936
|
+
function classifyCoralAccelerator(fsx, delegateHost = currentDelegateHost()) {
|
|
7937
|
+
return detectCoralAccelerator(fsx, delegateHost).info;
|
|
7938
|
+
}
|
|
7939
|
+
/**
|
|
7940
|
+
* Detect Coral Edge TPUs on USB and PCIe/M.2, with the evidence that decided.
|
|
7914
7941
|
*
|
|
7915
|
-
* - USB: every matching USB device counts (multiple Corals run concurrently)
|
|
7942
|
+
* - USB: every matching USB device counts (multiple Corals run concurrently),
|
|
7943
|
+
* usable only if its `/dev/bus/usb/<BBB>/<DDD>` node opens read/write — a
|
|
7944
|
+
* listed stick whose node is missing or refused is `device-not-accessible`.
|
|
7916
7945
|
* - PCIe: the apex driver's units, each usable only if its device node opens;
|
|
7917
7946
|
* a Coral PCI function the driver did not bind is `driver-missing`.
|
|
7918
|
-
* - Fallback: when
|
|
7919
|
-
*
|
|
7920
|
-
*
|
|
7921
|
-
*
|
|
7947
|
+
* - Fallback: when the USB bus is NOT OBSERVABLE (`/sys/bus/usb/devices`
|
|
7948
|
+
* missing, unreadable or empty — a macOS desktop, a restricted container)
|
|
7949
|
+
* and no PCI Coral was seen, an installed libedgetpu delegate means one USB
|
|
7950
|
+
* Coral is assumed. A bus that IS readable and lists no Coral id is the
|
|
7951
|
+
* answer: no USB Coral. The delegate stays installed after a stick is
|
|
7952
|
+
* unplugged or moved to another node, so it is evidence only where nothing
|
|
7953
|
+
* better exists (D919).
|
|
7922
7954
|
*
|
|
7923
7955
|
* Returns `null` only when no Coral was found at all; a present-but-unusable
|
|
7924
7956
|
* Coral is reported with its typed reason, never as absent (D393/D315).
|
|
7925
7957
|
*/
|
|
7926
|
-
function
|
|
7927
|
-
const
|
|
7958
|
+
function detectCoralAccelerator(fsx, delegateHost = currentDelegateHost()) {
|
|
7959
|
+
const usbDevices = fsx.listUsbDevices();
|
|
7960
|
+
const usbBus = usbDevices !== null && usbDevices.length > 0 ? "observed" : "unobservable";
|
|
7961
|
+
const usb = usbDevices === null ? {
|
|
7962
|
+
usable: 0,
|
|
7963
|
+
inaccessibleNodes: []
|
|
7964
|
+
} : classifyUsb(usbDevices, fsx);
|
|
7965
|
+
const usbSeen = usb.usable + usb.inaccessibleNodes.length;
|
|
7966
|
+
const inaccessibleUsbNodes = usb.inaccessibleNodes;
|
|
7928
7967
|
const pci = classifyPci(fsx);
|
|
7929
7968
|
const units = [];
|
|
7930
|
-
if (usb > 0) units.push({
|
|
7969
|
+
if (usb.usable > 0) units.push({
|
|
7931
7970
|
bus: "usb",
|
|
7932
|
-
count: usb
|
|
7971
|
+
count: usb.usable
|
|
7933
7972
|
});
|
|
7934
7973
|
if (pci.usable > 0) units.push({
|
|
7935
7974
|
bus: "pci",
|
|
7936
7975
|
count: pci.usable
|
|
7937
7976
|
});
|
|
7938
7977
|
const unavailable = [];
|
|
7978
|
+
if (usb.inaccessibleNodes.length > 0) unavailable.push({
|
|
7979
|
+
bus: "usb",
|
|
7980
|
+
count: usb.inaccessibleNodes.length,
|
|
7981
|
+
reason: "device-not-accessible"
|
|
7982
|
+
});
|
|
7939
7983
|
if (pci.driverMissing > 0) unavailable.push({
|
|
7940
7984
|
bus: "pci",
|
|
7941
7985
|
count: pci.driverMissing,
|
|
@@ -7946,25 +7990,47 @@ function classifyCoralAccelerator(fsx, delegateHost = currentDelegateHost()) {
|
|
|
7946
7990
|
count: pci.notAccessible,
|
|
7947
7991
|
reason: "device-not-accessible"
|
|
7948
7992
|
});
|
|
7949
|
-
if (units.length > 0 || unavailable.length > 0) return
|
|
7950
|
-
|
|
7951
|
-
|
|
7952
|
-
|
|
7953
|
-
|
|
7954
|
-
|
|
7955
|
-
|
|
7956
|
-
|
|
7957
|
-
|
|
7993
|
+
if (units.length > 0 || unavailable.length > 0) return {
|
|
7994
|
+
info: unavailable.length > 0 ? {
|
|
7995
|
+
type: "coral-edgetpu",
|
|
7996
|
+
units,
|
|
7997
|
+
unavailable
|
|
7998
|
+
} : {
|
|
7999
|
+
type: "coral-edgetpu",
|
|
8000
|
+
units
|
|
8001
|
+
},
|
|
8002
|
+
usbBus,
|
|
8003
|
+
decidedBy: usbSeen > 0 ? "usb-ids" : "pci",
|
|
8004
|
+
inaccessibleUsbNodes
|
|
8005
|
+
};
|
|
8006
|
+
if (usbBus === "unobservable" && chooseEdgetpuDelegate({
|
|
7958
8007
|
...delegateHost,
|
|
7959
8008
|
exists: (p) => fsx.exists(p)
|
|
7960
8009
|
}) !== null) return {
|
|
7961
|
-
|
|
7962
|
-
|
|
7963
|
-
|
|
7964
|
-
|
|
7965
|
-
|
|
8010
|
+
info: {
|
|
8011
|
+
type: "coral-edgetpu",
|
|
8012
|
+
units: [{
|
|
8013
|
+
bus: "usb",
|
|
8014
|
+
count: 1
|
|
8015
|
+
}]
|
|
8016
|
+
},
|
|
8017
|
+
usbBus,
|
|
8018
|
+
decidedBy: "delegate-fallback",
|
|
8019
|
+
inaccessibleUsbNodes
|
|
7966
8020
|
};
|
|
7967
|
-
return
|
|
8021
|
+
return {
|
|
8022
|
+
info: null,
|
|
8023
|
+
usbBus,
|
|
8024
|
+
decidedBy: "none",
|
|
8025
|
+
inaccessibleUsbNodes
|
|
8026
|
+
};
|
|
8027
|
+
}
|
|
8028
|
+
function safeListOrNull(dir) {
|
|
8029
|
+
try {
|
|
8030
|
+
return fs.readdirSync(dir);
|
|
8031
|
+
} catch {
|
|
8032
|
+
return null;
|
|
8033
|
+
}
|
|
7968
8034
|
}
|
|
7969
8035
|
function safeList(dir) {
|
|
7970
8036
|
try {
|
|
@@ -7982,7 +8048,7 @@ function safeRead(path) {
|
|
|
7982
8048
|
}
|
|
7983
8049
|
/** The real filesystem view: `/sys` for enumeration, `/dev` for access. */
|
|
7984
8050
|
var nodeCoralFs = {
|
|
7985
|
-
listUsbDevices: () =>
|
|
8051
|
+
listUsbDevices: () => safeListOrNull("/sys/bus/usb/devices"),
|
|
7986
8052
|
readUsbAttr: (device, attr) => safeRead(`/sys/bus/usb/devices/${device}/${attr}`),
|
|
7987
8053
|
listPciDevices: () => safeList("/sys/bus/pci/devices"),
|
|
7988
8054
|
readPciAttr: (device, attr) => safeRead(`/sys/bus/pci/devices/${device}/${attr}`),
|
package/dist/addon-utils.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { C as isModelDownloaded, S as isModelDownloadHttpError, _ as downloadFile, a as startEventLoopStallMonitor, f as ModelDownloadService, g as deleteModelFromDisk, h as collectModelFiles, i as attributeStall, l as parseRangeHeader, m as adoptModelRevisions, n as STALL_REPORT_MS, o as createFileDataPlaneHandler, p as ModelDownloadHttpError, r as STALL_TICK_MS, s as contentTypeFor, t as CustomActionRegistry, w as resolveFormatRevision, x as getModelFilePath, y as ensureModel } from "./custom-action-registry-
|
|
1
|
+
import { C as isModelDownloaded, S as isModelDownloadHttpError, _ as downloadFile, a as startEventLoopStallMonitor, f as ModelDownloadService, g as deleteModelFromDisk, h as collectModelFiles, i as attributeStall, l as parseRangeHeader, m as adoptModelRevisions, n as STALL_REPORT_MS, o as createFileDataPlaneHandler, p as ModelDownloadHttpError, r as STALL_TICK_MS, s as contentTypeFor, t as CustomActionRegistry, w as resolveFormatRevision, x as getModelFilePath, y as ensureModel } from "./custom-action-registry-BGYDjTqY.mjs";
|
|
2
2
|
import { i as renderCourtesyOverlayJpeg, n as courtesyCacheKey, r as renderCourtesyJpeg, t as COURTESY_DEFAULT_WIDTH } from "./snapshot-courtesy-CyFs1M3I.mjs";
|
|
3
3
|
export { COURTESY_DEFAULT_WIDTH, CustomActionRegistry, ModelDownloadHttpError, ModelDownloadService, STALL_REPORT_MS, STALL_TICK_MS, adoptModelRevisions, attributeStall, collectModelFiles, contentTypeFor, courtesyCacheKey, createFileDataPlaneHandler, deleteModelFromDisk, downloadFile, ensureModel, getModelFilePath, isModelDownloadHttpError, isModelDownloaded, parseRangeHeader, renderCourtesyJpeg, renderCourtesyOverlayJpeg, resolveFormatRevision, startEventLoopStallMonitor };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Ki as defineRecordKinds } from "./dist-
|
|
1
|
+
import { Ki as defineRecordKinds } from "./dist-5XUG7iYJ.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";
|
|
@@ -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-BjcWEfRy.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 type { RecordKindHandle, SettingsStoreClient,
|
|
1
|
+
import type { RecordKindHandle, SettingsStoreClient, UserRecord, UserScope } from "@camstack/types";
|
|
2
2
|
import type { AuthManager } from "./auth-manager.js";
|
|
3
3
|
import type { UserBody } from "../builtins/local-auth/record-kinds.js";
|
|
4
4
|
export type { UserRecord };
|
|
@@ -8,7 +8,7 @@ interface CreateUserInput {
|
|
|
8
8
|
isAdmin?: boolean;
|
|
9
9
|
allowedProviders?: string[] | "*";
|
|
10
10
|
allowedDevices?: Record<string, string[] | "*">;
|
|
11
|
-
scopes?:
|
|
11
|
+
scopes?: UserScope[];
|
|
12
12
|
}
|
|
13
13
|
type UpdatableUserFields = Partial<Pick<UserRecord, "isAdmin" | "allowedProviders" | "allowedDevices" | "scopes">>;
|
|
14
14
|
/**
|
|
@@ -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-BjcWEfRy.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,8 +1,8 @@
|
|
|
1
|
-
import { $r as errMsg, Da as EventCategory, _t as addonPagesCapability, ei as BaseAddon } from "../../dist-
|
|
1
|
+
import { $r as errMsg, Da as EventCategory, _t as addonPagesCapability, ei as BaseAddon } from "../../dist-5XUG7iYJ.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";
|
|
5
|
-
import * as fs
|
|
5
|
+
import * as fs from "node:fs";
|
|
6
6
|
//#region src/builtins/addon-pages-aggregator/dedupe-pages.ts
|
|
7
7
|
/** Stable identity for an addon page, independent of which node reported it. */
|
|
8
8
|
function pageKey(info) {
|
|
@@ -211,11 +211,11 @@ var AddonPagesAggregatorAddon = class extends BaseAddon {
|
|
|
211
211
|
const bundlePath = this.resolveBundlePath(addonId, bundle);
|
|
212
212
|
if (bundlePath === null) return `/api/addon-pages/${addonId}/${bundle}?v=${Math.floor(Date.now())}`;
|
|
213
213
|
try {
|
|
214
|
-
const stat = fs
|
|
214
|
+
const stat = fs.statSync(bundlePath);
|
|
215
215
|
const cacheKey = `${bundlePath}:${stat.size}:${stat.mtimeMs}`;
|
|
216
216
|
let v = this.bundleHashCache.get(cacheKey);
|
|
217
217
|
if (v === void 0) {
|
|
218
|
-
v = createHash("sha1").update(fs
|
|
218
|
+
v = createHash("sha1").update(fs.readFileSync(bundlePath)).digest("hex").slice(0, 12);
|
|
219
219
|
this.bundleHashCache.set(cacheKey, v);
|
|
220
220
|
}
|
|
221
221
|
return `/api/addon-pages/${addonId}/${bundle}?v=${v}`;
|
|
@@ -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-BjcWEfRy.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,8 +1,8 @@
|
|
|
1
|
-
import { $r as errMsg, Da as EventCategory, ei as BaseAddon, yt as addonWidgetsCapability } from "../../dist-
|
|
1
|
+
import { $r as errMsg, Da as EventCategory, ei as BaseAddon, yt as addonWidgetsCapability } from "../../dist-5XUG7iYJ.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";
|
|
5
|
-
import * as fs
|
|
5
|
+
import * as fs from "node:fs";
|
|
6
6
|
//#region src/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.ts
|
|
7
7
|
/**
|
|
8
8
|
* Addon Widgets Aggregator — hub-local builtin that owns the singleton
|
|
@@ -204,9 +204,9 @@ var AddonWidgetsAggregatorAddon = class extends BaseAddon {
|
|
|
204
204
|
if (entryPath === null) return String(Math.floor(Date.now()));
|
|
205
205
|
try {
|
|
206
206
|
const dir = path$1.dirname(entryPath);
|
|
207
|
-
const files = fs
|
|
207
|
+
const files = fs.readdirSync(dir).filter((f) => fs.statSync(path$1.join(dir, f)).isFile()).sort();
|
|
208
208
|
const cacheKey = `${dir}#${files.map((f) => {
|
|
209
|
-
const s = fs
|
|
209
|
+
const s = fs.statSync(path$1.join(dir, f));
|
|
210
210
|
return `${f}:${s.size}:${s.mtimeMs}`;
|
|
211
211
|
}).join("|")}`;
|
|
212
212
|
const cached = this.bundleHashCache.get(cacheKey);
|
|
@@ -214,7 +214,7 @@ var AddonWidgetsAggregatorAddon = class extends BaseAddon {
|
|
|
214
214
|
const hash = createHash("sha1");
|
|
215
215
|
for (const f of files) {
|
|
216
216
|
hash.update(f);
|
|
217
|
-
hash.update(fs
|
|
217
|
+
hash.update(fs.readFileSync(path$1.join(dir, f)));
|
|
218
218
|
}
|
|
219
219
|
const digest = hash.digest("hex").slice(0, 12);
|
|
220
220
|
this.bundleHashCache.set(cacheKey, digest);
|
|
@@ -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-BjcWEfRy.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 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-
|
|
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-5XUG7iYJ.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-BjcWEfRy.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 errMsg, Da as EventCategory, Et as bareAddonId, I as FIRST_LEVEL_MACRO_CLASSES, ea as isEvent, ei as BaseAddon, tr as ptzAutotrackCapability } from "../../dist-
|
|
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-5XUG7iYJ.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-BjcWEfRy.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-B64m2nAj.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,10 +1,10 @@
|
|
|
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-
|
|
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-5XUG7iYJ.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-CN1pJTRn.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";
|
|
7
|
-
import * as fs
|
|
7
|
+
import * as fs from "node:fs";
|
|
8
8
|
//#region src/builtins/backup-orchestrator/backup-databases.ts
|
|
9
9
|
/** Stable id of the seeded weekly schedule. */
|
|
10
10
|
var WEEKLY_SCHEDULE_ID = "weekly-events-history";
|
|
@@ -1018,7 +1018,7 @@ async function downloadArchiveToCache(input) {
|
|
|
1018
1018
|
location: input.locationId,
|
|
1019
1019
|
relativePath: input.filename
|
|
1020
1020
|
});
|
|
1021
|
-
const writeStream = fs
|
|
1021
|
+
const writeStream = fs.createWriteStream(input.cachePath);
|
|
1022
1022
|
let offset = 0;
|
|
1023
1023
|
try {
|
|
1024
1024
|
while (offset < sizeBytes) {
|
|
@@ -2502,7 +2502,7 @@ var BackupOrchestratorAddon = class extends BaseAddon {
|
|
|
2502
2502
|
});
|
|
2503
2503
|
try {
|
|
2504
2504
|
let offset = 0;
|
|
2505
|
-
const stream = fs
|
|
2505
|
+
const stream = fs.createReadStream(input.cachePath, { highWaterMark: UPLOAD_CHUNK_BYTES });
|
|
2506
2506
|
for await (const rawChunk of stream) {
|
|
2507
2507
|
if (input.signal?.aborted) {
|
|
2508
2508
|
stream.destroy();
|
|
@@ -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-BjcWEfRy.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 { Ki as defineRecordKinds, Mt as calendarsCapability, ei as BaseAddon, g as CalendarPreferencesSchema } from "../../dist-
|
|
1
|
+
import { Ki as defineRecordKinds, Mt as calendarsCapability, ei as BaseAddon, g as CalendarPreferencesSchema } from "../../dist-5XUG7iYJ.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-BjcWEfRy.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 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-
|
|
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-5XUG7iYJ.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-BjcWEfRy.js");
|
|
7
|
+
const require_composition_sources = require("../../composition-sources-B5uJZXZ1.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 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-
|
|
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-5XUG7iYJ.mjs";
|
|
2
|
+
import { n as normalizedNativeOwner } from "../../composition-sources-DRw_vBKH.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-BjcWEfRy.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 { Ln as logDestinationCapability, ei as BaseAddon } from "../../dist-
|
|
1
|
+
import { Ln as logDestinationCapability, ei as BaseAddon } from "../../dist-5XUG7iYJ.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 = {
|