@camstack/system 1.2.48 → 1.2.50
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 +1 -1
- package/dist/builtins/device-manager/device-manager.addon.mjs +1 -1
- 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-provider.d.ts +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +64 -64
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +64 -64
- package/dist/builtins/sqlite-storage/index.d.ts +5 -6
- package/dist/builtins/sqlite-storage/index.js +20 -20
- package/dist/builtins/sqlite-storage/index.mjs +20 -20
- package/dist/builtins/sqlite-storage/integration-registry.d.ts +1 -1
- package/dist/builtins/sqlite-storage/sqlite-settings-backend.d.ts +1 -1
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +2 -5
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +2 -5
- 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-C7rPTQLR.mjs → dist-BXqMB8EK.mjs} +48 -1
- package/dist/{dist-CH0DyAwh.js → dist-DXLXjrho.js} +48 -1
- package/dist/index.js +1 -1
- package/dist/index.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-DXLXjrho.js");
|
|
7
7
|
const require_settle_sources = require("../../settle-sources-Bhsy57y-.js");
|
|
8
8
|
let node_fs = require("node:fs");
|
|
9
9
|
node_fs = require_chunk.__toESM(node_fs);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Rt as EventCategory, dt as errMsg, ft as BaseAddon, m as addonPagesCapability } from "../../dist-
|
|
1
|
+
import { Rt as EventCategory, dt as errMsg, ft as BaseAddon, m as addonPagesCapability } from "../../dist-BXqMB8EK.mjs";
|
|
2
2
|
import { t as settleSourcesWithTimeout } from "../../settle-sources-CDtNC8ub.mjs";
|
|
3
3
|
import * as fs from "node:fs";
|
|
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-DXLXjrho.js");
|
|
7
7
|
const require_settle_sources = require("../../settle-sources-Bhsy57y-.js");
|
|
8
8
|
let node_fs = require("node:fs");
|
|
9
9
|
node_fs = require_chunk.__toESM(node_fs);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Rt as EventCategory, dt as errMsg, ft as BaseAddon, g as addonWidgetsCapability } from "../../dist-
|
|
1
|
+
import { Rt as EventCategory, dt as errMsg, ft as BaseAddon, g as addonWidgetsCapability } from "../../dist-BXqMB8EK.mjs";
|
|
2
2
|
import { t as settleSourcesWithTimeout } from "../../settle-sources-CDtNC8ub.mjs";
|
|
3
3
|
import * as fs from "node:fs";
|
|
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-DXLXjrho.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 { Rt as EventCategory, Tt as createEvent, _ as alertsCapability, dt as errMsg, ft as BaseAddon, n as AlertSchema } from "../../dist-
|
|
1
|
+
import { Rt as EventCategory, Tt as createEvent, _ as alertsCapability, dt as errMsg, ft as BaseAddon, n as AlertSchema } from "../../dist-BXqMB8EK.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-DXLXjrho.js");
|
|
7
7
|
let node_fs = require("node:fs");
|
|
8
8
|
let node_fs$1 = require_chunk.__toESM(node_fs, 1);
|
|
9
9
|
node_fs = require_chunk.__toESM(node_fs);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Rt as EventCategory, b as backupCapability, ft as BaseAddon } from "../../dist-
|
|
1
|
+
import { Rt as EventCategory, b as backupCapability, ft as BaseAddon } from "../../dist-BXqMB8EK.mjs";
|
|
2
2
|
import * as fs from "node:fs";
|
|
3
3
|
import Kt from "node:fs";
|
|
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-DXLXjrho.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 { W as logDestinationCapability, ft as BaseAddon } from "../../dist-
|
|
1
|
+
import { W as logDestinationCapability, ft as BaseAddon } from "../../dist-BXqMB8EK.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-DXLXjrho.js");
|
|
4
4
|
let node_path = require("node:path");
|
|
5
5
|
node_path = require_chunk.__toESM(node_path);
|
|
6
6
|
let node_crypto = require("node:crypto");
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { o as __toESM } from "../../chunk-CNf5ZN-e.mjs";
|
|
2
|
-
import { S as coreBlocksCapability, ft as BaseAddon, o as CoreBlockSchema } from "../../dist-
|
|
2
|
+
import { S as coreBlocksCapability, ft as BaseAddon, o as CoreBlockSchema } from "../../dist-BXqMB8EK.mjs";
|
|
3
3
|
import * as path$1 from "node:path";
|
|
4
4
|
import { randomUUID } from "node:crypto";
|
|
5
5
|
import * as fs 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-DXLXjrho.js");
|
|
7
7
|
let _camstack_types_node = require("@camstack/types/node");
|
|
8
8
|
let zod = require("zod");
|
|
9
9
|
let node_crypto = require("node:crypto");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { At as isDeviceConfigCap, D as deviceStateCapability, E as deviceManagerCapability, I as getByPath, J as normalizeUnit, Lt as sleep, M as enumerateSchemaFields, N as evaluateLinkExpression, O as deviceStatusCapability, Rt as EventCategory, X as parseStreamParamsFormPatch, _t as DeviceRole, a as CAP_NAMES_WITH_STATUS, ct as validateExpressionSource, dt as errMsg, et as setByPath, ft as BaseAddon, gt as DeviceFeature, j as enumerateItemArrayFields, ot as toExpressionValue, s as DeviceStatusSchema, t as ALL_CAPABILITY_DEFINITIONS, u as STREAM_PROFILE_META, v as applyTransform, vt as DeviceType, x as buildStreamParamsConfigSchema, xt as WELL_KNOWN_TAB_MAP } from "../../dist-
|
|
1
|
+
import { At as isDeviceConfigCap, D as deviceStateCapability, E as deviceManagerCapability, I as getByPath, J as normalizeUnit, Lt as sleep, M as enumerateSchemaFields, N as evaluateLinkExpression, O as deviceStatusCapability, Rt as EventCategory, X as parseStreamParamsFormPatch, _t as DeviceRole, a as CAP_NAMES_WITH_STATUS, ct as validateExpressionSource, dt as errMsg, et as setByPath, ft as BaseAddon, gt as DeviceFeature, j as enumerateItemArrayFields, ot as toExpressionValue, s as DeviceStatusSchema, t as ALL_CAPABILITY_DEFINITIONS, u as STREAM_PROFILE_META, v as applyTransform, vt as DeviceType, x as buildStreamParamsConfigSchema, xt as WELL_KNOWN_TAB_MAP } from "../../dist-BXqMB8EK.mjs";
|
|
2
2
|
import { canonicalDeviceFingerprint } from "@camstack/types/node";
|
|
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-DXLXjrho.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 { Rt as EventCategory, Tt as createEvent, dt as errMsg, ft as BaseAddon, k as doorbellCapability, vt as DeviceType } from "../../dist-
|
|
1
|
+
import { Rt as EventCategory, Tt as createEvent, dt as errMsg, ft as BaseAddon, k as doorbellCapability, vt as DeviceType } from "../../dist-BXqMB8EK.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-DXLXjrho.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 { W as logDestinationCapability, ft as BaseAddon } from "../../dist-
|
|
1
|
+
import { W as logDestinationCapability, ft as BaseAddon } from "../../dist-BXqMB8EK.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-DXLXjrho.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 { Rt as EventCategory, Tt as createEvent, dt as errMsg, ft as BaseAddon } from "../../dist-
|
|
1
|
+
import { Rt as EventCategory, Tt as createEvent, dt as errMsg, ft as BaseAddon } from "../../dist-BXqMB8EK.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-DXLXjrho.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 { d as ScopedTokenSchema, ft as BaseAddon, p as UserRecordSchema, r as ApiKeyRecordSchema, st as userManagementCapability, y as authProviderCapability } from "../../dist-
|
|
2
|
+
import { d as ScopedTokenSchema, ft as BaseAddon, p as UserRecordSchema, r as ApiKeyRecordSchema, st as userManagementCapability, y as authProviderCapability } from "../../dist-BXqMB8EK.mjs";
|
|
3
3
|
import * as crypto$1 from "node:crypto";
|
|
4
4
|
import { randomUUID } 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-DXLXjrho.js");
|
|
4
4
|
let node_os = require("node:os");
|
|
5
5
|
node_os = require_chunk.__toESM(node_os);
|
|
6
6
|
//#region src/builtins/local-network/local-network.addon.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Rt as EventCategory, U as localNetworkCapability, ft as BaseAddon } from "../../dist-
|
|
1
|
+
import { Rt as EventCategory, U as localNetworkCapability, ft as BaseAddon } from "../../dist-BXqMB8EK.mjs";
|
|
2
2
|
import * as os from "node:os";
|
|
3
3
|
//#region src/builtins/local-network/local-network.addon.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-DXLXjrho.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 { W as logDestinationCapability, ft as BaseAddon } from "../../dist-
|
|
1
|
+
import { W as logDestinationCapability, ft as BaseAddon } from "../../dist-BXqMB8EK.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-DXLXjrho.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,4 +1,4 @@
|
|
|
1
|
-
import { Rt as EventCategory, Tt as createEvent, ft as BaseAddon, q as metricsProviderCapability } from "../../dist-
|
|
1
|
+
import { Rt as EventCategory, Tt as createEvent, ft as BaseAddon, q as metricsProviderCapability } from "../../dist-BXqMB8EK.mjs";
|
|
2
2
|
import * as fs from "node:fs";
|
|
3
3
|
import { execFile, execFileSync } from "node:child_process";
|
|
4
4
|
import { promisify } from "node:util";
|
|
@@ -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-DXLXjrho.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 { $ as scoreRuntimes, A as enumerateInferenceDevices, Dt as emitReadiness, Rt as EventCategory, Z as platformProbeCapability, dt as errMsg, ft as BaseAddon } from "../../dist-
|
|
2
|
+
import { $ as scoreRuntimes, A as enumerateInferenceDevices, Dt as emitReadiness, Rt as EventCategory, Z as platformProbeCapability, dt as errMsg, ft as BaseAddon } from "../../dist-BXqMB8EK.mjs";
|
|
3
3
|
import * as fs from "node:fs";
|
|
4
4
|
import { execFile } from "node:child_process";
|
|
5
5
|
import { promisify } from "node:util";
|
|
@@ -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-DXLXjrho.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 { Rt as EventCategory, ft as BaseAddon } from "../../dist-
|
|
1
|
+
import { Rt as EventCategory, ft as BaseAddon } from "../../dist-BXqMB8EK.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
|
require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-DXLXjrho.js");
|
|
7
7
|
let node_child_process = require("node:child_process");
|
|
8
8
|
//#region src/builtins/snapshot/snapshot-coalescing.ts
|
|
9
9
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { at as streamQualityLabel, dt as errMsg, ft as BaseAddon, gt as DeviceFeature, i as BatteryStatusSchema, jt as nodePin, nt as snapshotCapability, vt as DeviceType } from "../../dist-
|
|
1
|
+
import { at as streamQualityLabel, dt as errMsg, ft as BaseAddon, gt as DeviceFeature, i as BatteryStatusSchema, jt as nodePin, nt as snapshotCapability, vt as DeviceType } from "../../dist-BXqMB8EK.mjs";
|
|
2
2
|
import { execFile, spawn } from "node:child_process";
|
|
3
3
|
//#region src/builtins/snapshot/snapshot-coalescing.ts
|
|
4
4
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
1
|
import { IStorageProviderImpl, StorageLocation, StorageProviderInfoSchema } from '@camstack/types';
|
|
2
|
+
import { z } from 'zod';
|
|
3
3
|
type StorageProviderInfo = z.infer<typeof StorageProviderInfoSchema>;
|
|
4
4
|
export declare class FilesystemStorageProvider implements IStorageProviderImpl {
|
|
5
5
|
static readonly providerId = "filesystem-storage";
|
|
@@ -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-DXLXjrho.js");
|
|
7
7
|
let node_fs = require("node:fs");
|
|
8
8
|
node_fs = require_chunk.__toESM(node_fs);
|
|
9
9
|
let node_path = require("node:path");
|
|
@@ -11,6 +11,69 @@ node_path = require_chunk.__toESM(node_path);
|
|
|
11
11
|
let node_crypto = require("node:crypto");
|
|
12
12
|
let node_os = require("node:os");
|
|
13
13
|
let node_fs_promises = require("node:fs/promises");
|
|
14
|
+
//#region src/builtins/sqlite-storage/path-guard.ts
|
|
15
|
+
/**
|
|
16
|
+
* Allowed-root containment guard for the filesystem-browse cap. Pure +
|
|
17
|
+
* synchronous so it is trivially unit-testable; the provider applies it AFTER
|
|
18
|
+
* resolving the real path (so symlink escapes are also caught upstream).
|
|
19
|
+
*/
|
|
20
|
+
/** True iff `candidate` is one of, or nested under, an allowed root. */
|
|
21
|
+
function isWithinAllowedRoots(candidate, allowedRoots) {
|
|
22
|
+
const norm = (0, node_path.resolve)(candidate);
|
|
23
|
+
return allowedRoots.some((root) => {
|
|
24
|
+
const r = (0, node_path.resolve)(root);
|
|
25
|
+
return norm === r || norm.startsWith(r.endsWith(node_path.sep) ? r : r + node_path.sep);
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
/** Throws unless `candidate` is within an allowed root. */
|
|
29
|
+
function assertWithinAllowedRoots(candidate, allowedRoots) {
|
|
30
|
+
if (!isWithinAllowedRoots(candidate, allowedRoots)) throw new Error(`path "${candidate}" is not within an allowed root`);
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
//#region src/builtins/sqlite-storage/filesystem-browse-provider.ts
|
|
34
|
+
/**
|
|
35
|
+
* Per-node filesystem-browse provider. Lists/creates directories under
|
|
36
|
+
* operator-configured allowed roots only (sandboxed by `path-guard`). Backs the
|
|
37
|
+
* `filesystem-browse` cap so the admin UI can pick a node + path for a
|
|
38
|
+
* node-local storage location.
|
|
39
|
+
*/
|
|
40
|
+
var FilesystemBrowseProvider = class {
|
|
41
|
+
allowedRoots;
|
|
42
|
+
/** allowedRoots is injected (read from addon config) so it stays per-node + testable. */
|
|
43
|
+
constructor(allowedRoots) {
|
|
44
|
+
this.allowedRoots = allowedRoots;
|
|
45
|
+
}
|
|
46
|
+
async listAllowedRoots() {
|
|
47
|
+
return [...this.allowedRoots()];
|
|
48
|
+
}
|
|
49
|
+
async browse({ path }) {
|
|
50
|
+
const real = await (0, node_fs_promises.realpath)(path).catch(() => path);
|
|
51
|
+
assertWithinAllowedRoots(real, await this.resolvedRoots());
|
|
52
|
+
const entries = (await (0, node_fs_promises.readdir)(real, { withFileTypes: true })).filter((d) => d.isDirectory()).map((d) => ({
|
|
53
|
+
name: d.name,
|
|
54
|
+
path: (0, node_path.join)(real, d.name)
|
|
55
|
+
}));
|
|
56
|
+
const fs = await (0, node_fs_promises.statfs)(real);
|
|
57
|
+
const totalBytes = fs.blocks * fs.bsize;
|
|
58
|
+
return {
|
|
59
|
+
path: real,
|
|
60
|
+
entries,
|
|
61
|
+
freeBytes: fs.bavail * fs.bsize,
|
|
62
|
+
totalBytes
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
async createDir({ path }) {
|
|
66
|
+
const parent = (0, node_path.dirname)(path);
|
|
67
|
+
assertWithinAllowedRoots((0, node_path.join)(await (0, node_fs_promises.realpath)(parent).catch(() => parent), (0, node_path.basename)(path)), await this.resolvedRoots());
|
|
68
|
+
await (0, node_fs_promises.mkdir)(path, { recursive: true });
|
|
69
|
+
return { path };
|
|
70
|
+
}
|
|
71
|
+
/** Allowed roots with symlinks resolved (falls back to the raw root if it does not exist). */
|
|
72
|
+
async resolvedRoots() {
|
|
73
|
+
return Promise.all(this.allowedRoots().map((r) => (0, node_fs_promises.realpath)(r).catch(() => r)));
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
//#endregion
|
|
14
77
|
//#region src/builtins/sqlite-storage/filesystem-storage-provider.ts
|
|
15
78
|
/**
|
|
16
79
|
* Filesystem `storage-provider` (Task 7).
|
|
@@ -272,69 +335,6 @@ var FilesystemStorageProvider = class FilesystemStorageProvider {
|
|
|
272
335
|
}
|
|
273
336
|
};
|
|
274
337
|
//#endregion
|
|
275
|
-
//#region src/builtins/sqlite-storage/path-guard.ts
|
|
276
|
-
/**
|
|
277
|
-
* Allowed-root containment guard for the filesystem-browse cap. Pure +
|
|
278
|
-
* synchronous so it is trivially unit-testable; the provider applies it AFTER
|
|
279
|
-
* resolving the real path (so symlink escapes are also caught upstream).
|
|
280
|
-
*/
|
|
281
|
-
/** True iff `candidate` is one of, or nested under, an allowed root. */
|
|
282
|
-
function isWithinAllowedRoots(candidate, allowedRoots) {
|
|
283
|
-
const norm = (0, node_path.resolve)(candidate);
|
|
284
|
-
return allowedRoots.some((root) => {
|
|
285
|
-
const r = (0, node_path.resolve)(root);
|
|
286
|
-
return norm === r || norm.startsWith(r.endsWith(node_path.sep) ? r : r + node_path.sep);
|
|
287
|
-
});
|
|
288
|
-
}
|
|
289
|
-
/** Throws unless `candidate` is within an allowed root. */
|
|
290
|
-
function assertWithinAllowedRoots(candidate, allowedRoots) {
|
|
291
|
-
if (!isWithinAllowedRoots(candidate, allowedRoots)) throw new Error(`path "${candidate}" is not within an allowed root`);
|
|
292
|
-
}
|
|
293
|
-
//#endregion
|
|
294
|
-
//#region src/builtins/sqlite-storage/filesystem-browse-provider.ts
|
|
295
|
-
/**
|
|
296
|
-
* Per-node filesystem-browse provider. Lists/creates directories under
|
|
297
|
-
* operator-configured allowed roots only (sandboxed by `path-guard`). Backs the
|
|
298
|
-
* `filesystem-browse` cap so the admin UI can pick a node + path for a
|
|
299
|
-
* node-local storage location.
|
|
300
|
-
*/
|
|
301
|
-
var FilesystemBrowseProvider = class {
|
|
302
|
-
allowedRoots;
|
|
303
|
-
/** allowedRoots is injected (read from addon config) so it stays per-node + testable. */
|
|
304
|
-
constructor(allowedRoots) {
|
|
305
|
-
this.allowedRoots = allowedRoots;
|
|
306
|
-
}
|
|
307
|
-
async listAllowedRoots() {
|
|
308
|
-
return [...this.allowedRoots()];
|
|
309
|
-
}
|
|
310
|
-
async browse({ path }) {
|
|
311
|
-
const real = await (0, node_fs_promises.realpath)(path).catch(() => path);
|
|
312
|
-
assertWithinAllowedRoots(real, await this.resolvedRoots());
|
|
313
|
-
const entries = (await (0, node_fs_promises.readdir)(real, { withFileTypes: true })).filter((d) => d.isDirectory()).map((d) => ({
|
|
314
|
-
name: d.name,
|
|
315
|
-
path: (0, node_path.join)(real, d.name)
|
|
316
|
-
}));
|
|
317
|
-
const fs = await (0, node_fs_promises.statfs)(real);
|
|
318
|
-
const totalBytes = fs.blocks * fs.bsize;
|
|
319
|
-
return {
|
|
320
|
-
path: real,
|
|
321
|
-
entries,
|
|
322
|
-
freeBytes: fs.bavail * fs.bsize,
|
|
323
|
-
totalBytes
|
|
324
|
-
};
|
|
325
|
-
}
|
|
326
|
-
async createDir({ path }) {
|
|
327
|
-
const parent = (0, node_path.dirname)(path);
|
|
328
|
-
assertWithinAllowedRoots((0, node_path.join)(await (0, node_fs_promises.realpath)(parent).catch(() => parent), (0, node_path.basename)(path)), await this.resolvedRoots());
|
|
329
|
-
await (0, node_fs_promises.mkdir)(path, { recursive: true });
|
|
330
|
-
return { path };
|
|
331
|
-
}
|
|
332
|
-
/** Allowed roots with symlinks resolved (falls back to the raw root if it does not exist). */
|
|
333
|
-
async resolvedRoots() {
|
|
334
|
-
return Promise.all(this.allowedRoots().map((r) => (0, node_fs_promises.realpath)(r).catch(() => r)));
|
|
335
|
-
}
|
|
336
|
-
};
|
|
337
|
-
//#endregion
|
|
338
338
|
//#region src/builtins/sqlite-storage/filesystem-storage.addon.ts
|
|
339
339
|
function defaultAllowedRoots() {
|
|
340
340
|
return [
|
|
@@ -1,10 +1,73 @@
|
|
|
1
|
-
import { F as filesystemBrowseCapability, ft as BaseAddon, it as storageProviderCapability } from "../../dist-
|
|
1
|
+
import { F as filesystemBrowseCapability, ft as BaseAddon, it as storageProviderCapability } from "../../dist-BXqMB8EK.mjs";
|
|
2
2
|
import * as fs from "node:fs";
|
|
3
3
|
import * as path$1 from "node:path";
|
|
4
4
|
import { basename, dirname, join, resolve, sep } from "node:path";
|
|
5
5
|
import { randomUUID } from "node:crypto";
|
|
6
6
|
import { homedir } from "node:os";
|
|
7
7
|
import { mkdir, readdir, realpath, statfs } from "node:fs/promises";
|
|
8
|
+
//#region src/builtins/sqlite-storage/path-guard.ts
|
|
9
|
+
/**
|
|
10
|
+
* Allowed-root containment guard for the filesystem-browse cap. Pure +
|
|
11
|
+
* synchronous so it is trivially unit-testable; the provider applies it AFTER
|
|
12
|
+
* resolving the real path (so symlink escapes are also caught upstream).
|
|
13
|
+
*/
|
|
14
|
+
/** True iff `candidate` is one of, or nested under, an allowed root. */
|
|
15
|
+
function isWithinAllowedRoots(candidate, allowedRoots) {
|
|
16
|
+
const norm = resolve(candidate);
|
|
17
|
+
return allowedRoots.some((root) => {
|
|
18
|
+
const r = resolve(root);
|
|
19
|
+
return norm === r || norm.startsWith(r.endsWith(sep) ? r : r + sep);
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
/** Throws unless `candidate` is within an allowed root. */
|
|
23
|
+
function assertWithinAllowedRoots(candidate, allowedRoots) {
|
|
24
|
+
if (!isWithinAllowedRoots(candidate, allowedRoots)) throw new Error(`path "${candidate}" is not within an allowed root`);
|
|
25
|
+
}
|
|
26
|
+
//#endregion
|
|
27
|
+
//#region src/builtins/sqlite-storage/filesystem-browse-provider.ts
|
|
28
|
+
/**
|
|
29
|
+
* Per-node filesystem-browse provider. Lists/creates directories under
|
|
30
|
+
* operator-configured allowed roots only (sandboxed by `path-guard`). Backs the
|
|
31
|
+
* `filesystem-browse` cap so the admin UI can pick a node + path for a
|
|
32
|
+
* node-local storage location.
|
|
33
|
+
*/
|
|
34
|
+
var FilesystemBrowseProvider = class {
|
|
35
|
+
allowedRoots;
|
|
36
|
+
/** allowedRoots is injected (read from addon config) so it stays per-node + testable. */
|
|
37
|
+
constructor(allowedRoots) {
|
|
38
|
+
this.allowedRoots = allowedRoots;
|
|
39
|
+
}
|
|
40
|
+
async listAllowedRoots() {
|
|
41
|
+
return [...this.allowedRoots()];
|
|
42
|
+
}
|
|
43
|
+
async browse({ path }) {
|
|
44
|
+
const real = await realpath(path).catch(() => path);
|
|
45
|
+
assertWithinAllowedRoots(real, await this.resolvedRoots());
|
|
46
|
+
const entries = (await readdir(real, { withFileTypes: true })).filter((d) => d.isDirectory()).map((d) => ({
|
|
47
|
+
name: d.name,
|
|
48
|
+
path: join(real, d.name)
|
|
49
|
+
}));
|
|
50
|
+
const fs = await statfs(real);
|
|
51
|
+
const totalBytes = fs.blocks * fs.bsize;
|
|
52
|
+
return {
|
|
53
|
+
path: real,
|
|
54
|
+
entries,
|
|
55
|
+
freeBytes: fs.bavail * fs.bsize,
|
|
56
|
+
totalBytes
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
async createDir({ path }) {
|
|
60
|
+
const parent = dirname(path);
|
|
61
|
+
assertWithinAllowedRoots(join(await realpath(parent).catch(() => parent), basename(path)), await this.resolvedRoots());
|
|
62
|
+
await mkdir(path, { recursive: true });
|
|
63
|
+
return { path };
|
|
64
|
+
}
|
|
65
|
+
/** Allowed roots with symlinks resolved (falls back to the raw root if it does not exist). */
|
|
66
|
+
async resolvedRoots() {
|
|
67
|
+
return Promise.all(this.allowedRoots().map((r) => realpath(r).catch(() => r)));
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
//#endregion
|
|
8
71
|
//#region src/builtins/sqlite-storage/filesystem-storage-provider.ts
|
|
9
72
|
/**
|
|
10
73
|
* Filesystem `storage-provider` (Task 7).
|
|
@@ -266,69 +329,6 @@ var FilesystemStorageProvider = class FilesystemStorageProvider {
|
|
|
266
329
|
}
|
|
267
330
|
};
|
|
268
331
|
//#endregion
|
|
269
|
-
//#region src/builtins/sqlite-storage/path-guard.ts
|
|
270
|
-
/**
|
|
271
|
-
* Allowed-root containment guard for the filesystem-browse cap. Pure +
|
|
272
|
-
* synchronous so it is trivially unit-testable; the provider applies it AFTER
|
|
273
|
-
* resolving the real path (so symlink escapes are also caught upstream).
|
|
274
|
-
*/
|
|
275
|
-
/** True iff `candidate` is one of, or nested under, an allowed root. */
|
|
276
|
-
function isWithinAllowedRoots(candidate, allowedRoots) {
|
|
277
|
-
const norm = resolve(candidate);
|
|
278
|
-
return allowedRoots.some((root) => {
|
|
279
|
-
const r = resolve(root);
|
|
280
|
-
return norm === r || norm.startsWith(r.endsWith(sep) ? r : r + sep);
|
|
281
|
-
});
|
|
282
|
-
}
|
|
283
|
-
/** Throws unless `candidate` is within an allowed root. */
|
|
284
|
-
function assertWithinAllowedRoots(candidate, allowedRoots) {
|
|
285
|
-
if (!isWithinAllowedRoots(candidate, allowedRoots)) throw new Error(`path "${candidate}" is not within an allowed root`);
|
|
286
|
-
}
|
|
287
|
-
//#endregion
|
|
288
|
-
//#region src/builtins/sqlite-storage/filesystem-browse-provider.ts
|
|
289
|
-
/**
|
|
290
|
-
* Per-node filesystem-browse provider. Lists/creates directories under
|
|
291
|
-
* operator-configured allowed roots only (sandboxed by `path-guard`). Backs the
|
|
292
|
-
* `filesystem-browse` cap so the admin UI can pick a node + path for a
|
|
293
|
-
* node-local storage location.
|
|
294
|
-
*/
|
|
295
|
-
var FilesystemBrowseProvider = class {
|
|
296
|
-
allowedRoots;
|
|
297
|
-
/** allowedRoots is injected (read from addon config) so it stays per-node + testable. */
|
|
298
|
-
constructor(allowedRoots) {
|
|
299
|
-
this.allowedRoots = allowedRoots;
|
|
300
|
-
}
|
|
301
|
-
async listAllowedRoots() {
|
|
302
|
-
return [...this.allowedRoots()];
|
|
303
|
-
}
|
|
304
|
-
async browse({ path }) {
|
|
305
|
-
const real = await realpath(path).catch(() => path);
|
|
306
|
-
assertWithinAllowedRoots(real, await this.resolvedRoots());
|
|
307
|
-
const entries = (await readdir(real, { withFileTypes: true })).filter((d) => d.isDirectory()).map((d) => ({
|
|
308
|
-
name: d.name,
|
|
309
|
-
path: join(real, d.name)
|
|
310
|
-
}));
|
|
311
|
-
const fs = await statfs(real);
|
|
312
|
-
const totalBytes = fs.blocks * fs.bsize;
|
|
313
|
-
return {
|
|
314
|
-
path: real,
|
|
315
|
-
entries,
|
|
316
|
-
freeBytes: fs.bavail * fs.bsize,
|
|
317
|
-
totalBytes
|
|
318
|
-
};
|
|
319
|
-
}
|
|
320
|
-
async createDir({ path }) {
|
|
321
|
-
const parent = dirname(path);
|
|
322
|
-
assertWithinAllowedRoots(join(await realpath(parent).catch(() => parent), basename(path)), await this.resolvedRoots());
|
|
323
|
-
await mkdir(path, { recursive: true });
|
|
324
|
-
return { path };
|
|
325
|
-
}
|
|
326
|
-
/** Allowed roots with symlinks resolved (falls back to the raw root if it does not exist). */
|
|
327
|
-
async resolvedRoots() {
|
|
328
|
-
return Promise.all(this.allowedRoots().map((r) => realpath(r).catch(() => r)));
|
|
329
|
-
}
|
|
330
|
-
};
|
|
331
|
-
//#endregion
|
|
332
332
|
//#region src/builtins/sqlite-storage/filesystem-storage.addon.ts
|
|
333
333
|
function defaultAllowedRoots() {
|
|
334
334
|
return [
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
+
export { ConfigStore } from './config-store.js';
|
|
2
|
+
export type { DeviceRow } from './device-store.js';
|
|
3
|
+
export { DeviceStore } from './device-store.js';
|
|
4
|
+
export { FilesystemStorageAddon, FilesystemStorageAddon as default, } from './filesystem-storage.addon.js';
|
|
1
5
|
export { FilesystemStorageProvider } from './filesystem-storage-provider.js';
|
|
2
|
-
export { FilesystemStorageAddon } from './filesystem-storage.addon.js';
|
|
3
|
-
export { SqliteSettingsBackend } from './sqlite-settings-backend.js';
|
|
4
6
|
export { SqliteSettingsAddon } from './sqlite-settings.addon.js';
|
|
5
|
-
export {
|
|
6
|
-
export type { DeviceRow } from './device-store.js';
|
|
7
|
-
export { ConfigStore } from './config-store.js';
|
|
8
|
-
export { FilesystemStorageAddon as default } from './filesystem-storage.addon.js';
|
|
7
|
+
export { SqliteSettingsBackend } from './sqlite-settings-backend.js';
|
|
@@ -5,26 +5,6 @@ Object.defineProperties(exports, {
|
|
|
5
5
|
require("../../chunk-Cek0wNdY.js");
|
|
6
6
|
const require_builtins_sqlite_storage_filesystem_storage_addon = require("./filesystem-storage.addon.js");
|
|
7
7
|
const require_builtins_sqlite_storage_sqlite_settings_addon = require("./sqlite-settings.addon.js");
|
|
8
|
-
//#region src/builtins/sqlite-storage/device-store.ts
|
|
9
|
-
var DeviceStore = class {
|
|
10
|
-
db;
|
|
11
|
-
constructor(db) {
|
|
12
|
-
this.db = db;
|
|
13
|
-
}
|
|
14
|
-
insert(addonId, device) {
|
|
15
|
-
this.db.prepare(`INSERT INTO devices (addon_id, stable_id, type, name, parent_stable_id) VALUES (?, ?, ?, ?, ?)`).run(addonId, device.stableId, device.type, device.name, device.parentStableId);
|
|
16
|
-
}
|
|
17
|
-
listByAddon(addonId) {
|
|
18
|
-
return this.db.prepare(`SELECT stable_id as stableId, type, name, parent_stable_id as parentStableId, enabled FROM devices WHERE addon_id = ?`).all(addonId);
|
|
19
|
-
}
|
|
20
|
-
listChildren(addonId, parentStableId) {
|
|
21
|
-
return this.db.prepare(`SELECT stable_id as stableId, type, name, parent_stable_id as parentStableId, enabled FROM devices WHERE addon_id = ? AND parent_stable_id = ?`).all(addonId, parentStableId);
|
|
22
|
-
}
|
|
23
|
-
remove(addonId, stableId) {
|
|
24
|
-
this.db.prepare(`DELETE FROM devices WHERE addon_id = ? AND stable_id = ?`).run(addonId, stableId);
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
//#endregion
|
|
28
8
|
//#region src/builtins/sqlite-storage/config-store.ts
|
|
29
9
|
var ConfigStore = class {
|
|
30
10
|
db;
|
|
@@ -51,6 +31,26 @@ var ConfigStore = class {
|
|
|
51
31
|
}
|
|
52
32
|
};
|
|
53
33
|
//#endregion
|
|
34
|
+
//#region src/builtins/sqlite-storage/device-store.ts
|
|
35
|
+
var DeviceStore = class {
|
|
36
|
+
db;
|
|
37
|
+
constructor(db) {
|
|
38
|
+
this.db = db;
|
|
39
|
+
}
|
|
40
|
+
insert(addonId, device) {
|
|
41
|
+
this.db.prepare(`INSERT INTO devices (addon_id, stable_id, type, name, parent_stable_id) VALUES (?, ?, ?, ?, ?)`).run(addonId, device.stableId, device.type, device.name, device.parentStableId);
|
|
42
|
+
}
|
|
43
|
+
listByAddon(addonId) {
|
|
44
|
+
return this.db.prepare(`SELECT stable_id as stableId, type, name, parent_stable_id as parentStableId, enabled FROM devices WHERE addon_id = ?`).all(addonId);
|
|
45
|
+
}
|
|
46
|
+
listChildren(addonId, parentStableId) {
|
|
47
|
+
return this.db.prepare(`SELECT stable_id as stableId, type, name, parent_stable_id as parentStableId, enabled FROM devices WHERE addon_id = ? AND parent_stable_id = ?`).all(addonId, parentStableId);
|
|
48
|
+
}
|
|
49
|
+
remove(addonId, stableId) {
|
|
50
|
+
this.db.prepare(`DELETE FROM devices WHERE addon_id = ? AND stable_id = ?`).run(addonId, stableId);
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
//#endregion
|
|
54
54
|
exports.ConfigStore = ConfigStore;
|
|
55
55
|
exports.ConfigStore$1 = ConfigStore;
|
|
56
56
|
exports.DeviceStore = DeviceStore;
|
|
@@ -1,25 +1,5 @@
|
|
|
1
1
|
import { FilesystemStorageAddon, t as FilesystemStorageProvider } from "./filesystem-storage.addon.mjs";
|
|
2
2
|
import { SqliteSettingsAddon, t as SqliteSettingsBackend } from "./sqlite-settings.addon.mjs";
|
|
3
|
-
//#region src/builtins/sqlite-storage/device-store.ts
|
|
4
|
-
var DeviceStore = class {
|
|
5
|
-
db;
|
|
6
|
-
constructor(db) {
|
|
7
|
-
this.db = db;
|
|
8
|
-
}
|
|
9
|
-
insert(addonId, device) {
|
|
10
|
-
this.db.prepare(`INSERT INTO devices (addon_id, stable_id, type, name, parent_stable_id) VALUES (?, ?, ?, ?, ?)`).run(addonId, device.stableId, device.type, device.name, device.parentStableId);
|
|
11
|
-
}
|
|
12
|
-
listByAddon(addonId) {
|
|
13
|
-
return this.db.prepare(`SELECT stable_id as stableId, type, name, parent_stable_id as parentStableId, enabled FROM devices WHERE addon_id = ?`).all(addonId);
|
|
14
|
-
}
|
|
15
|
-
listChildren(addonId, parentStableId) {
|
|
16
|
-
return this.db.prepare(`SELECT stable_id as stableId, type, name, parent_stable_id as parentStableId, enabled FROM devices WHERE addon_id = ? AND parent_stable_id = ?`).all(addonId, parentStableId);
|
|
17
|
-
}
|
|
18
|
-
remove(addonId, stableId) {
|
|
19
|
-
this.db.prepare(`DELETE FROM devices WHERE addon_id = ? AND stable_id = ?`).run(addonId, stableId);
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
//#endregion
|
|
23
3
|
//#region src/builtins/sqlite-storage/config-store.ts
|
|
24
4
|
var ConfigStore = class {
|
|
25
5
|
db;
|
|
@@ -46,4 +26,24 @@ var ConfigStore = class {
|
|
|
46
26
|
}
|
|
47
27
|
};
|
|
48
28
|
//#endregion
|
|
29
|
+
//#region src/builtins/sqlite-storage/device-store.ts
|
|
30
|
+
var DeviceStore = class {
|
|
31
|
+
db;
|
|
32
|
+
constructor(db) {
|
|
33
|
+
this.db = db;
|
|
34
|
+
}
|
|
35
|
+
insert(addonId, device) {
|
|
36
|
+
this.db.prepare(`INSERT INTO devices (addon_id, stable_id, type, name, parent_stable_id) VALUES (?, ?, ?, ?, ?)`).run(addonId, device.stableId, device.type, device.name, device.parentStableId);
|
|
37
|
+
}
|
|
38
|
+
listByAddon(addonId) {
|
|
39
|
+
return this.db.prepare(`SELECT stable_id as stableId, type, name, parent_stable_id as parentStableId, enabled FROM devices WHERE addon_id = ?`).all(addonId);
|
|
40
|
+
}
|
|
41
|
+
listChildren(addonId, parentStableId) {
|
|
42
|
+
return this.db.prepare(`SELECT stable_id as stableId, type, name, parent_stable_id as parentStableId, enabled FROM devices WHERE addon_id = ? AND parent_stable_id = ?`).all(addonId, parentStableId);
|
|
43
|
+
}
|
|
44
|
+
remove(addonId, stableId) {
|
|
45
|
+
this.db.prepare(`DELETE FROM devices WHERE addon_id = ? AND stable_id = ?`).run(addonId, stableId);
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
//#endregion
|
|
49
49
|
export { ConfigStore, DeviceStore, FilesystemStorageAddon, FilesystemStorageAddon as default, FilesystemStorageProvider, SqliteSettingsAddon, SqliteSettingsBackend };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CreateDeviceInput, CreateIntegrationInput, IIntegrationRegistry, Integration, ISettingsStoreProvider, PersistedDevice } from '@camstack/types';
|
|
2
2
|
export declare class IntegrationRegistry implements IIntegrationRegistry {
|
|
3
3
|
private readonly store;
|
|
4
4
|
constructor(backend: ISettingsStoreProvider);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { CollectionColumn, CollectionIndex, DataStoreEngineInfo, HistogramBucket, ISettingsBackend, SettingsCountInput, SettingsDeleteInput, SettingsGetInput, SettingsHistogramInput, SettingsInsertInput, SettingsIsEmptyInput, SettingsQueryInput, SettingsRecord, SettingsSetInput, SettingsUpdateInput } from '@camstack/types';
|
|
1
2
|
import { default as Database } from 'better-sqlite3';
|
|
2
|
-
import { DataStoreEngineInfo, ISettingsBackend, SettingsRecord, SettingsGetInput, SettingsSetInput, SettingsQueryInput, SettingsInsertInput, SettingsUpdateInput, SettingsDeleteInput, SettingsCountInput, SettingsIsEmptyInput, SettingsHistogramInput, HistogramBucket, CollectionColumn, CollectionIndex } from '@camstack/types';
|
|
3
3
|
import { MutationFilterInput } from './filter-compiler.js';
|
|
4
4
|
/** Input for {@link SqliteSettingsBackend.deleteWhere}. */
|
|
5
5
|
interface SettingsDeleteWhereInput {
|
|
@@ -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-DXLXjrho.js");
|
|
7
7
|
let node_crypto = require("node:crypto");
|
|
8
8
|
let better_sqlite3 = require("better-sqlite3");
|
|
9
9
|
better_sqlite3 = require_chunk.__toESM(better_sqlite3);
|
|
@@ -743,10 +743,7 @@ var SqliteVectorIndex = class {
|
|
|
743
743
|
const dim = row.data["dim"];
|
|
744
744
|
const metric = row.data["metric"];
|
|
745
745
|
if (typeof dim !== "number") continue;
|
|
746
|
-
this.
|
|
747
|
-
dim,
|
|
748
|
-
metric: isMetric(metric) ? metric : "cosine"
|
|
749
|
-
});
|
|
746
|
+
await this.declareIndex(row.id, dim, isMetric(metric) ? metric : "cosine");
|
|
750
747
|
}
|
|
751
748
|
this.logger.info("vector-store index registry loaded", { meta: { indexes: this.specs.size } });
|
|
752
749
|
} catch (err) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as cosineSimilarity, Nt as parseJsonUnknown, St as asJsonObject, T as decodeVectorBase64, dt as errMsg, ft as BaseAddon, l as RUNTIME_DEFAULTS, lt as vectorDimFromBase64, ut as vectorStoreCapability, w as dataStoreProviderCapability } from "../../dist-
|
|
1
|
+
import { C as cosineSimilarity, Nt as parseJsonUnknown, St as asJsonObject, T as decodeVectorBase64, dt as errMsg, ft as BaseAddon, l as RUNTIME_DEFAULTS, lt as vectorDimFromBase64, ut as vectorStoreCapability, w as dataStoreProviderCapability } from "../../dist-BXqMB8EK.mjs";
|
|
2
2
|
import { randomUUID } from "node:crypto";
|
|
3
3
|
import Database from "better-sqlite3";
|
|
4
4
|
//#region src/builtins/sqlite-storage/filter-compiler.ts
|
|
@@ -737,10 +737,7 @@ var SqliteVectorIndex = class {
|
|
|
737
737
|
const dim = row.data["dim"];
|
|
738
738
|
const metric = row.data["metric"];
|
|
739
739
|
if (typeof dim !== "number") continue;
|
|
740
|
-
this.
|
|
741
|
-
dim,
|
|
742
|
-
metric: isMetric(metric) ? metric : "cosine"
|
|
743
|
-
});
|
|
740
|
+
await this.declareIndex(row.id, dim, isMetric(metric) ? metric : "cosine");
|
|
744
741
|
}
|
|
745
742
|
this.logger.info("vector-store index registry loaded", { meta: { indexes: this.specs.size } });
|
|
746
743
|
} catch (err) {
|
|
@@ -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-DXLXjrho.js");
|
|
7
7
|
let node_path = require("node:path");
|
|
8
8
|
node_path = require_chunk.__toESM(node_path);
|
|
9
9
|
let node_fs_promises = require("node:fs/promises");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Mt as parseJsonObject, f as StorageLocationTypeSchema, ft as BaseAddon, rt as storageCapability, tt as settingsStoreCapability } from "../../dist-
|
|
1
|
+
import { Mt as parseJsonObject, f as StorageLocationTypeSchema, ft as BaseAddon, rt as storageCapability, tt as settingsStoreCapability } from "../../dist-BXqMB8EK.mjs";
|
|
2
2
|
import * as path$1 from "node:path";
|
|
3
3
|
import * as fs from "node:fs/promises";
|
|
4
4
|
import { buildStorageLocationRegistry } from "@camstack/system";
|
|
@@ -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-DXLXjrho.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 { dt as errMsg, ft as BaseAddon, kt as hydrateSchema } from "../../dist-
|
|
1
|
+
import { dt as errMsg, ft as BaseAddon, kt as hydrateSchema } from "../../dist-BXqMB8EK.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-DXLXjrho.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 { W as logDestinationCapability, ft as BaseAddon } from "../../dist-
|
|
1
|
+
import { W as logDestinationCapability, ft as BaseAddon } from "../../dist-BXqMB8EK.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";
|
|
@@ -12811,6 +12811,42 @@ var EventPruneCountsSchema = z.object({
|
|
|
12811
12811
|
object: z.number().int(),
|
|
12812
12812
|
audio: z.number().int()
|
|
12813
12813
|
});
|
|
12814
|
+
/**
|
|
12815
|
+
* Re-embed stored tracks from their key frames.
|
|
12816
|
+
*
|
|
12817
|
+
* The reason this is an operator-callable method and not a migration script:
|
|
12818
|
+
* every knob that decides what a vector MEANS — encoder model, crop margin,
|
|
12819
|
+
* squaring — is only changeable if the existing vectors can be regenerated.
|
|
12820
|
+
* Mixing feature spaces in one index makes cosine scores incomparable, and the
|
|
12821
|
+
* symptom is a quality regression with no visible cause.
|
|
12822
|
+
*/
|
|
12823
|
+
var RebuildObjectEmbeddingsInput = z.object({
|
|
12824
|
+
/** Restrict to one camera. Omit for the whole fleet. */
|
|
12825
|
+
deviceId: z.number().optional(),
|
|
12826
|
+
since: z.number().optional(),
|
|
12827
|
+
until: z.number().optional(),
|
|
12828
|
+
/**
|
|
12829
|
+
* Fraction added on EACH side of the detection box before cropping.
|
|
12830
|
+
* ~0.2 (a 1.4x window) gives CLIP the surroundings it is trained on; 0 is
|
|
12831
|
+
* the pixel-tight crop the first implementation used.
|
|
12832
|
+
*/
|
|
12833
|
+
cropMargin: z.number().min(0).max(4).optional(),
|
|
12834
|
+
/** Square the window before extracting, so a tall subject is not squashed. */
|
|
12835
|
+
square: z.boolean().optional(),
|
|
12836
|
+
/** Stop after this many tracks; the result reports whether more remain. */
|
|
12837
|
+
maxTracks: z.number().int().positive().optional()
|
|
12838
|
+
});
|
|
12839
|
+
var RebuildObjectEmbeddingsResultSchema = z.object({
|
|
12840
|
+
scanned: z.number(),
|
|
12841
|
+
rebuilt: z.number(),
|
|
12842
|
+
/** Tracks whose key frame is gone — nothing to re-embed from. */
|
|
12843
|
+
missingKeyFrame: z.number(),
|
|
12844
|
+
/** Tracks with no usable detection box. */
|
|
12845
|
+
missingBbox: z.number(),
|
|
12846
|
+
failed: z.number(),
|
|
12847
|
+
/** False when the pass stopped at `maxTracks` with tracks left. */
|
|
12848
|
+
complete: z.boolean()
|
|
12849
|
+
});
|
|
12814
12850
|
var pipelineAnalyticsCapability = {
|
|
12815
12851
|
name: "pipeline-analytics",
|
|
12816
12852
|
scope: "device",
|
|
@@ -13083,7 +13119,12 @@ var pipelineAnalyticsCapability = {
|
|
|
13083
13119
|
* ObjectEvents by trackId. Returns up to `limit` events scored ≥
|
|
13084
13120
|
* `minScore`, sorted descending by score.
|
|
13085
13121
|
*/
|
|
13086
|
-
searchObjectEvents: method(SearchObjectEventsInput, z.array(ScoredObjectEventSchema).readonly())
|
|
13122
|
+
searchObjectEvents: method(SearchObjectEventsInput, z.array(ScoredObjectEventSchema).readonly()),
|
|
13123
|
+
rebuildObjectEmbeddings: method(RebuildObjectEmbeddingsInput, RebuildObjectEmbeddingsResultSchema, {
|
|
13124
|
+
kind: "mutation",
|
|
13125
|
+
auth: "admin",
|
|
13126
|
+
timeoutMs: 30 * 6e4
|
|
13127
|
+
})
|
|
13087
13128
|
},
|
|
13088
13129
|
events: {
|
|
13089
13130
|
/**
|
|
@@ -27980,6 +28021,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
27980
28021
|
addonId: null,
|
|
27981
28022
|
access: "create"
|
|
27982
28023
|
},
|
|
28024
|
+
"pipelineAnalytics.rebuildObjectEmbeddings": {
|
|
28025
|
+
capName: "pipeline-analytics",
|
|
28026
|
+
capScope: "device",
|
|
28027
|
+
addonId: null,
|
|
28028
|
+
access: "create"
|
|
28029
|
+
},
|
|
27983
28030
|
"pipelineAnalytics.relocateMedia": {
|
|
27984
28031
|
capName: "pipeline-analytics",
|
|
27985
28032
|
capScope: "device",
|
|
@@ -12811,6 +12811,42 @@ var EventPruneCountsSchema = zod.z.object({
|
|
|
12811
12811
|
object: zod.z.number().int(),
|
|
12812
12812
|
audio: zod.z.number().int()
|
|
12813
12813
|
});
|
|
12814
|
+
/**
|
|
12815
|
+
* Re-embed stored tracks from their key frames.
|
|
12816
|
+
*
|
|
12817
|
+
* The reason this is an operator-callable method and not a migration script:
|
|
12818
|
+
* every knob that decides what a vector MEANS — encoder model, crop margin,
|
|
12819
|
+
* squaring — is only changeable if the existing vectors can be regenerated.
|
|
12820
|
+
* Mixing feature spaces in one index makes cosine scores incomparable, and the
|
|
12821
|
+
* symptom is a quality regression with no visible cause.
|
|
12822
|
+
*/
|
|
12823
|
+
var RebuildObjectEmbeddingsInput = zod.z.object({
|
|
12824
|
+
/** Restrict to one camera. Omit for the whole fleet. */
|
|
12825
|
+
deviceId: zod.z.number().optional(),
|
|
12826
|
+
since: zod.z.number().optional(),
|
|
12827
|
+
until: zod.z.number().optional(),
|
|
12828
|
+
/**
|
|
12829
|
+
* Fraction added on EACH side of the detection box before cropping.
|
|
12830
|
+
* ~0.2 (a 1.4x window) gives CLIP the surroundings it is trained on; 0 is
|
|
12831
|
+
* the pixel-tight crop the first implementation used.
|
|
12832
|
+
*/
|
|
12833
|
+
cropMargin: zod.z.number().min(0).max(4).optional(),
|
|
12834
|
+
/** Square the window before extracting, so a tall subject is not squashed. */
|
|
12835
|
+
square: zod.z.boolean().optional(),
|
|
12836
|
+
/** Stop after this many tracks; the result reports whether more remain. */
|
|
12837
|
+
maxTracks: zod.z.number().int().positive().optional()
|
|
12838
|
+
});
|
|
12839
|
+
var RebuildObjectEmbeddingsResultSchema = zod.z.object({
|
|
12840
|
+
scanned: zod.z.number(),
|
|
12841
|
+
rebuilt: zod.z.number(),
|
|
12842
|
+
/** Tracks whose key frame is gone — nothing to re-embed from. */
|
|
12843
|
+
missingKeyFrame: zod.z.number(),
|
|
12844
|
+
/** Tracks with no usable detection box. */
|
|
12845
|
+
missingBbox: zod.z.number(),
|
|
12846
|
+
failed: zod.z.number(),
|
|
12847
|
+
/** False when the pass stopped at `maxTracks` with tracks left. */
|
|
12848
|
+
complete: zod.z.boolean()
|
|
12849
|
+
});
|
|
12814
12850
|
var pipelineAnalyticsCapability = {
|
|
12815
12851
|
name: "pipeline-analytics",
|
|
12816
12852
|
scope: "device",
|
|
@@ -13083,7 +13119,12 @@ var pipelineAnalyticsCapability = {
|
|
|
13083
13119
|
* ObjectEvents by trackId. Returns up to `limit` events scored ≥
|
|
13084
13120
|
* `minScore`, sorted descending by score.
|
|
13085
13121
|
*/
|
|
13086
|
-
searchObjectEvents: method(SearchObjectEventsInput, zod.z.array(ScoredObjectEventSchema).readonly())
|
|
13122
|
+
searchObjectEvents: method(SearchObjectEventsInput, zod.z.array(ScoredObjectEventSchema).readonly()),
|
|
13123
|
+
rebuildObjectEmbeddings: method(RebuildObjectEmbeddingsInput, RebuildObjectEmbeddingsResultSchema, {
|
|
13124
|
+
kind: "mutation",
|
|
13125
|
+
auth: "admin",
|
|
13126
|
+
timeoutMs: 30 * 6e4
|
|
13127
|
+
})
|
|
13087
13128
|
},
|
|
13088
13129
|
events: {
|
|
13089
13130
|
/**
|
|
@@ -27980,6 +28021,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
27980
28021
|
addonId: null,
|
|
27981
28022
|
access: "create"
|
|
27982
28023
|
},
|
|
28024
|
+
"pipelineAnalytics.rebuildObjectEmbeddings": {
|
|
28025
|
+
capName: "pipeline-analytics",
|
|
28026
|
+
capScope: "device",
|
|
28027
|
+
addonId: null,
|
|
28028
|
+
access: "create"
|
|
28029
|
+
},
|
|
27983
28030
|
"pipelineAnalytics.relocateMedia": {
|
|
27984
28031
|
capName: "pipeline-analytics",
|
|
27985
28032
|
capScope: "device",
|
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-DXLXjrho.js");
|
|
4
4
|
const require_model_download_service = require("./model-download-service-hf0ookyy.js");
|
|
5
5
|
const require_manifest_python_deps = require("./manifest-python-deps-BqE5j0-O.js");
|
|
6
6
|
const require_resource_monitor = require("./resource-monitor-DNNomR-i.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 { B as isVoidInput, Ct as asNumber, Et as emitDownForOwnedCaps, Ft as resolveCapMount, G as logLevelAtMost, H as lifecycleJobSchema, It as scopeKey, K as looseSchema, L as isArrayOutputSchema, Mt as parseJsonObject, Nt as parseJsonUnknown$1, Ot as expandCapMethods, P as extractNestedAddonId, Pt as readinessKey, Q as procedureAuthKey, R as isCollectionArrayMethod, Rt as EventCategory$1, St as asJsonObject$1, Tt as createEvent, V as kebabToCamel, Y as objectInputDeclaresAddonId, bt as ReadinessTimeoutError, c as METHOD_ACCESS_MAP, dt as errMsg$1, h as addonSettingsCapability, ht as DEVICE_STATUS_METHOD, l as RUNTIME_DEFAULTS, mt as DEVICE_SETTINGS_CONTRIBUTION_METHODS, pt as DATAPLANE_SECRET_HEADER$1, t as ALL_CAPABILITY_DEFINITIONS, wt as asString$1, yt as ReadinessRegistry, z as isObjectInput } from "./dist-
|
|
2
|
+
import { B as isVoidInput, Ct as asNumber, Et as emitDownForOwnedCaps, Ft as resolveCapMount, G as logLevelAtMost, H as lifecycleJobSchema, It as scopeKey, K as looseSchema, L as isArrayOutputSchema, Mt as parseJsonObject, Nt as parseJsonUnknown$1, Ot as expandCapMethods, P as extractNestedAddonId, Pt as readinessKey, Q as procedureAuthKey, R as isCollectionArrayMethod, Rt as EventCategory$1, St as asJsonObject$1, Tt as createEvent, V as kebabToCamel, Y as objectInputDeclaresAddonId, bt as ReadinessTimeoutError, c as METHOD_ACCESS_MAP, dt as errMsg$1, h as addonSettingsCapability, ht as DEVICE_STATUS_METHOD, l as RUNTIME_DEFAULTS, mt as DEVICE_SETTINGS_CONTRIBUTION_METHODS, pt as DATAPLANE_SECRET_HEADER$1, t as ALL_CAPABILITY_DEFINITIONS, wt as asString$1, yt as ReadinessRegistry, z as isObjectInput } from "./dist-BXqMB8EK.mjs";
|
|
3
3
|
import { a as downloadModel, c as getModelFilePath, d as contentTypeFor, f as createAuthenticatedFileServer, h as resolveFilePath, i as downloadFile, l as isModelDownloaded, m as parseTokenizedUrl, n as collectModelFiles, o as ensureModel, p as parseRangeHeader, r as deleteModelFromDisk, s as fetchJson, t as ModelDownloadService, u as createFileDataPlaneHandler } from "./model-download-service-Cp9f4dk6.mjs";
|
|
4
4
|
import { $ as buildNativeCapProxy, A as createHubCapForwardService, B as AGENT_CAP_FWD_ACTION, C as brokerTransportLink, Ct as resolveAddonClass, D as localProviderLink, E as ipcParentLink, F as createUdsLogger, G as callWithServiceDiscovery, H as CapRouteResolver, I as createUdsLoggerWithControl, J as UdsLocalTransportServer, K as createLocalTransport, L as LocalChildClient, M as createUdsEventBridge, N as createUdsEventBus, O as HUB_CAP_FWD_ACTION, P as udsChildLogToWorkerEntry, Q as encodeFrame, R as LocalChildRegistry, S as brokerCallForCap, St as runNpm, T as ipcChildLink, U as CapRouteError, V as AGENT_CAP_FWD_SERVICE, W as classifyCapRoute, X as localEndpointPath, Y as SocketChannel, Z as FrameDecoder, _ as createKernelHwAccel, _t as CapabilityHandle, a as getWorkerDeviceRegistry, b as __resetCapUsageRegistryForTests, bt as installManifestNativeDeps, c as setHubConnected, ct as NATIVE_PROVIDER_SERVICE_INFIX, d as getBrokerEventBus, dt as capBareAction, et as buildUdsNativeCapProxy, f as getMoleculerEventStats, ft as capServiceName, g as AddonDepsManager, gt as DeviceRegistry, h as subscribePassthrough, ht as serializeTypedArrays, i as createUdsAddonContext, it as mountNativeCapService, j as createParentUnownedCallHandler, k as HUB_CAP_FWD_SERVICE, l as EVENT_TOPIC_PREFIX, lt as capActionName, m as setNodeEventInterest, mt as deserializeTypedArrays, n as adaptBrokerToCluster, o as getOrInitReadinessRegistry, ot as createAddonService, p as registerEventBusService, pt as parseCapAction, q as UdsLocalTransportClient, r as createAddonContext, s as getOrInitReadinessRegistryForClient, st as validateProviderRegistrations, t as installManifestPythonDeps, tt as createBrokerDeviceManagerApi, u as clusterEventTopic, ut as capActionSuffix, v as resolveHwAccel, vt as CapabilityUnavailableError, w as buildLinkChain, wt as createAddonDataPlaneFacility, x as getCapUsageRegistry, xt as resolveNpmInvocation, y as CapUsageRegistry, yt as copyBundledNativeModules, z as UDS_NO_ROUTE_PREFIX } from "./manifest-python-deps-Ck4-9K9m.mjs";
|
|
5
5
|
import { n as getSinglePidStats, t as getPidStats } from "./resource-monitor-BkP504Vq.mjs";
|