@camstack/system 1.1.58 → 1.1.60
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 +2 -2
- package/dist/addon-runner.mjs +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 +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/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/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/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 +3 -2
- package/dist/builtins/platform-probe/index.mjs +3 -2
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
- package/dist/builtins/snapshot/index.js +1 -1
- package/dist/builtins/snapshot/index.mjs +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +1 -1
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +1 -1
- 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-BY6NWf-c.js → dist-BNdI6_MP.js} +98 -5
- package/dist/{dist-BNevCEAo.mjs → dist-BgR9fJpL.mjs} +93 -6
- package/dist/index.js +2 -2
- package/dist/index.mjs +2 -2
- package/dist/{manifest-python-deps-D2G0DFWp.js → manifest-python-deps-ClarMoI9.js} +1 -1
- package/dist/{manifest-python-deps-DtCMZhuR.mjs → manifest-python-deps-RSxmZ-Fu.mjs} +1 -1
- package/package.json +1 -1
package/dist/addon-runner.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const require_chunk = require("./chunk-Cek0wNdY.js");
|
|
2
|
-
const require_dist = require("./dist-
|
|
3
|
-
const require_manifest_python_deps = require("./manifest-python-deps-
|
|
2
|
+
const require_dist = require("./dist-BNdI6_MP.js");
|
|
3
|
+
const require_manifest_python_deps = require("./manifest-python-deps-ClarMoI9.js");
|
|
4
4
|
const require_custom_action_registry = require("./custom-action-registry-vLYEFTtv.js");
|
|
5
5
|
let node_fs = require("node:fs");
|
|
6
6
|
node_fs = require_chunk.__toESM(node_fs);
|
package/dist/addon-runner.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { F as createUdsLoggerWithControl, I as LocalChildClient, bt as resolveAddonClass, i as createUdsAddonContext, it as setWorkerNativeCapsChangeListener, nt as getWorkerNativeCapSnapshot, ot as validateProviderRegistrations, t as installManifestPythonDeps, tt as getWorkerNativeCapProvider, vt as installManifestNativeDeps } from "./manifest-python-deps-
|
|
1
|
+
import { M as isCollectionArrayMethod, t as ALL_CAPABILITY_DEFINITIONS } from "./dist-BgR9fJpL.mjs";
|
|
2
|
+
import { F as createUdsLoggerWithControl, I as LocalChildClient, bt as resolveAddonClass, i as createUdsAddonContext, it as setWorkerNativeCapsChangeListener, nt as getWorkerNativeCapSnapshot, ot as validateProviderRegistrations, t as installManifestPythonDeps, tt as getWorkerNativeCapProvider, vt as installManifestNativeDeps } from "./manifest-python-deps-RSxmZ-Fu.mjs";
|
|
3
3
|
import { t as CustomActionRegistry } from "./custom-action-registry-BEXwC-oo.mjs";
|
|
4
4
|
import { register } from "node:module";
|
|
5
5
|
import * as fs from "node:fs";
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
const require_chunk = require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-BNdI6_MP.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 {
|
|
1
|
+
import { At as EventCategory, at as BaseAddon, f as addonPagesCapability, it as errMsg } from "../../dist-BgR9fJpL.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-BNdI6_MP.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 {
|
|
1
|
+
import { At as EventCategory, at as BaseAddon, it as errMsg, m as addonWidgetsCapability } from "../../dist-BgR9fJpL.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-BNdI6_MP.js");
|
|
7
7
|
//#region src/builtins/alerts/alerts.addon.ts
|
|
8
8
|
var CATEGORY_MAPPINGS = {
|
|
9
9
|
"addon.crashed": {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { At as EventCategory, at as BaseAddon, h as alertsCapability, it as errMsg, n as AlertSchema, vt as createEvent } from "../../dist-BgR9fJpL.mjs";
|
|
2
2
|
//#region src/builtins/alerts/alerts.addon.ts
|
|
3
3
|
var CATEGORY_MAPPINGS = {
|
|
4
4
|
"addon.crashed": {
|
|
@@ -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-BNdI6_MP.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 {
|
|
1
|
+
import { At as EventCategory, at as BaseAddon, v as backupCapability } from "../../dist-BgR9fJpL.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-BNdI6_MP.js");
|
|
7
7
|
const require_formatter = require("../../formatter-DqAKDlvN.js");
|
|
8
8
|
//#region src/builtins/console-logging/console-destination.ts
|
|
9
9
|
var LEVEL_RANK = {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { R as logDestinationCapability, at as BaseAddon } from "../../dist-BgR9fJpL.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 = {
|
|
@@ -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-BNdI6_MP.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 {
|
|
1
|
+
import { A as getByPath, At as EventCategory, Ct as isDeviceConfigCap, D as evaluateLinkExpression, E as enumerateSchemaFields, H as normalizeUnit, S as deviceStatusCapability, T as enumerateItemArrayFields, W as parseStreamParamsFormPatch, Y as setByPath, a as DeviceStatusSchema, at as BaseAddon, b as deviceManagerCapability, c as STREAM_PROFILE_META, dt as DeviceType, g as applyTransform, i as CAP_NAMES_WITH_STATUS, it as errMsg, kt as sleep, lt as DeviceFeature, mt as WELL_KNOWN_TAB_MAP, rt as validateExpressionSource, t as ALL_CAPABILITY_DEFINITIONS, tt as toExpressionValue, ut as DeviceRole, x as deviceStateCapability, y as buildStreamParamsConfigSchema } from "../../dist-BgR9fJpL.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-BNdI6_MP.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 {
|
|
1
|
+
import { At as EventCategory, C as doorbellCapability, at as BaseAddon, dt as DeviceType, it as errMsg, vt as createEvent } from "../../dist-BgR9fJpL.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-BNdI6_MP.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 {
|
|
1
|
+
import { R as logDestinationCapability, at as BaseAddon } from "../../dist-BgR9fJpL.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;
|
|
@@ -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-BNdI6_MP.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,4 +1,4 @@
|
|
|
1
|
-
import { _ as authProviderCapability,
|
|
1
|
+
import { _ as authProviderCapability, at as BaseAddon, d as UserRecordSchema, l as ScopedTokenSchema, nt as userManagementCapability, r as ApiKeyRecordSchema } from "../../dist-BgR9fJpL.mjs";
|
|
2
2
|
import { createRequire } from "node:module";
|
|
3
3
|
import * as crypto$1 from "node:crypto";
|
|
4
4
|
import { randomUUID } from "node: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-BNdI6_MP.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 {
|
|
1
|
+
import { At as EventCategory, L as localNetworkCapability, at as BaseAddon } from "../../dist-BgR9fJpL.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
|
const require_chunk = require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-BNdI6_MP.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 {
|
|
1
|
+
import { At as EventCategory, B as metricsProviderCapability, at as BaseAddon, vt as createEvent } from "../../dist-BgR9fJpL.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-BNdI6_MP.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");
|
|
@@ -184,7 +184,8 @@ var PlatformScorer = class {
|
|
|
184
184
|
hardware,
|
|
185
185
|
scores: [...scores],
|
|
186
186
|
bestScore,
|
|
187
|
-
pythonPath
|
|
187
|
+
pythonPath,
|
|
188
|
+
devices: require_dist.enumerateInferenceDevices(hardware)
|
|
188
189
|
};
|
|
189
190
|
onPhase?.("scored", {
|
|
190
191
|
scores,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { At as EventCategory, G as platformProbeCapability, J as scoreRuntimes, at as BaseAddon, bt as emitReadiness, it as errMsg, w as enumerateInferenceDevices } from "../../dist-BgR9fJpL.mjs";
|
|
2
2
|
import * as fs from "node:fs";
|
|
3
3
|
import { execFile } from "node:child_process";
|
|
4
4
|
import { promisify } from "node:util";
|
|
@@ -177,7 +177,8 @@ var PlatformScorer = class {
|
|
|
177
177
|
hardware,
|
|
178
178
|
scores: [...scores],
|
|
179
179
|
bestScore,
|
|
180
|
-
pythonPath
|
|
180
|
+
pythonPath,
|
|
181
|
+
devices: enumerateInferenceDevices(hardware)
|
|
181
182
|
};
|
|
182
183
|
onPhase?.("scored", {
|
|
183
184
|
scores,
|
|
@@ -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-BNdI6_MP.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 {
|
|
1
|
+
import { At as EventCategory, at as BaseAddon } from "../../dist-BgR9fJpL.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-BNdI6_MP.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 {
|
|
1
|
+
import { V as nodePin, Z as snapshotCapability, at as BaseAddon, dt as DeviceType, et as streamQualityLabel, it as errMsg, lt as DeviceFeature } from "../../dist-BgR9fJpL.mjs";
|
|
2
2
|
import { execFile } from "node:child_process";
|
|
3
3
|
//#region src/builtins/snapshot/snapshot-coalescing.ts
|
|
4
4
|
/**
|
|
@@ -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-BNdI6_MP.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");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { $ as storageProviderCapability, at as BaseAddon, k as filesystemBrowseCapability } from "../../dist-BgR9fJpL.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";
|
|
@@ -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-BNdI6_MP.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);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Tt as parseJsonUnknown, X as settingsStoreCapability, at as BaseAddon, ht as asJsonObject, it as errMsg, s as RUNTIME_DEFAULTS } from "../../dist-BgR9fJpL.mjs";
|
|
2
2
|
import { randomUUID } from "node:crypto";
|
|
3
3
|
import Database from "better-sqlite3";
|
|
4
4
|
//#region src/builtins/sqlite-storage/sqlite-settings-backend.ts
|
|
@@ -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-BNdI6_MP.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 {
|
|
1
|
+
import { Q as storageCapability, at as BaseAddon, u as StorageLocationTypeSchema, wt as parseJsonObject } from "../../dist-BgR9fJpL.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-BNdI6_MP.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 {
|
|
1
|
+
import { St as hydrateSchema, at as BaseAddon, it as errMsg } from "../../dist-BgR9fJpL.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-BNdI6_MP.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 {
|
|
1
|
+
import { R as logDestinationCapability, at as BaseAddon } from "../../dist-BgR9fJpL.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";
|
|
@@ -3082,6 +3082,17 @@ var ModelCatalogEntrySchema = zod.z.object({
|
|
|
3082
3082
|
"imagenet",
|
|
3083
3083
|
"none"
|
|
3084
3084
|
]).optional(),
|
|
3085
|
+
/**
|
|
3086
|
+
* The model already applies softmax IN-GRAPH — its raw output is a
|
|
3087
|
+
* probability distribution, not logits. When set, the `softmax`
|
|
3088
|
+
* postprocessor must NOT re-apply softmax: re-softmaxing an already-normalised
|
|
3089
|
+
* probability vector collapses it toward uniform (top-1 score craters far
|
|
3090
|
+
* below its true value, making every confidence gate meaningless). Absent ⇒
|
|
3091
|
+
* the output is raw logits and the postprocessor applies softmax (the normal
|
|
3092
|
+
* case). Set on the Google AIY Birds `bird-classifier` (softmax baked into the
|
|
3093
|
+
* TF graph). Threaded to the Python pool via `PoolModelConfig.outputProbabilities`.
|
|
3094
|
+
*/
|
|
3095
|
+
outputProbabilities: zod.z.boolean().optional(),
|
|
3085
3096
|
preprocessMode: zod.z.enum(["letterbox", "resize"]).optional(),
|
|
3086
3097
|
/**
|
|
3087
3098
|
* Per-MODEL postprocessor override. Absent ⇒ the step's own
|
|
@@ -8734,7 +8745,14 @@ var pipelineExecutorCapability = {
|
|
|
8734
8745
|
* (inputClasses ≠ null) are skipped and served per-track via
|
|
8735
8746
|
* pipelineRunner.runDetailSubtree (two-plane design).
|
|
8736
8747
|
*/
|
|
8737
|
-
plane: zod.z.enum(["full", "frame"]).optional()
|
|
8748
|
+
plane: zod.z.enum(["full", "frame"]).optional(),
|
|
8749
|
+
/**
|
|
8750
|
+
* Inference-device selector (Phase 2 multi-device). Format
|
|
8751
|
+
* `<backend>:<device>` (e.g. `openvino:gpu`, `edgetpu:usb`, `cpu`).
|
|
8752
|
+
* Omitted ⇒ the runner's default device (current single-engine
|
|
8753
|
+
* behaviour). Selects WHICH device pool of the node runs the call.
|
|
8754
|
+
*/
|
|
8755
|
+
deviceKey: zod.z.string().optional()
|
|
8738
8756
|
}), PipelineRunResultBridge, { kind: "mutation" }),
|
|
8739
8757
|
/**
|
|
8740
8758
|
* Batched run — N raw frames packed into one cap call. The provider
|
|
@@ -8752,7 +8770,20 @@ var pipelineExecutorCapability = {
|
|
|
8752
8770
|
steps: zod.z.array(PipelineStepInputSchema).min(1),
|
|
8753
8771
|
frames: zod.z.array(FrameInputSchema).min(1).max(255),
|
|
8754
8772
|
deviceId: zod.z.number().optional(),
|
|
8755
|
-
sessionId: zod.z.string().optional()
|
|
8773
|
+
sessionId: zod.z.string().optional(),
|
|
8774
|
+
/**
|
|
8775
|
+
* Pure-inference benchmark hint. A NONZERO uint32 pins every frame in
|
|
8776
|
+
* the batch to the Python pool's bench preprocess cache
|
|
8777
|
+
* (`_bench_frame_id`) so a REPEATED benchmark frame is decoded +
|
|
8778
|
+
* preprocessed ONCE and every later inference is a pure-inference cache
|
|
8779
|
+
* hit — the sustained-throughput run measures inference, not
|
|
8780
|
+
* decode+preprocess+infer. Omitted/0 for live frames (all different →
|
|
8781
|
+
* full preprocess every call, correct). Fresh per sustained run;
|
|
8782
|
+
* released via `uncacheFrame`.
|
|
8783
|
+
*/
|
|
8784
|
+
frameId: zod.z.number().int().nonnegative().optional(),
|
|
8785
|
+
/** Inference-device selector (Phase 2 multi-device); see runPipeline. */
|
|
8786
|
+
deviceKey: zod.z.string().optional()
|
|
8756
8787
|
}), zod.z.object({ results: zod.z.array(PipelineRunResultBridge).readonly() }), { kind: "mutation" }),
|
|
8757
8788
|
/**
|
|
8758
8789
|
* Cache a raw frame inside the Python inference pool's memory.
|
|
@@ -9202,7 +9233,14 @@ var RunnerCameraConfigSchema = zod.z.object({
|
|
|
9202
9233
|
* camera's detect node differs from its source-owner (P2d, gated by the
|
|
9203
9234
|
* `remoteSourcingNodes` rollout setting).
|
|
9204
9235
|
*/
|
|
9205
|
-
frameSource: RunnerFrameSourceSchema.default({ kind: "local-broker" })
|
|
9236
|
+
frameSource: RunnerFrameSourceSchema.default({ kind: "local-broker" }),
|
|
9237
|
+
/**
|
|
9238
|
+
* Inference-device selector for this camera's sessions (Phase 2 multi-device).
|
|
9239
|
+
* Format `<backend>:<device>` (e.g. `openvino:gpu`, `edgetpu:usb`, `cpu`);
|
|
9240
|
+
* omitted ⇒ the runner's default device. The engine itself stays node-local —
|
|
9241
|
+
* this only selects WHICH device pool of that node runs the session.
|
|
9242
|
+
*/
|
|
9243
|
+
deviceKey: zod.z.string().optional()
|
|
9206
9244
|
});
|
|
9207
9245
|
motionFpsField.min, motionFpsField.max, motionFpsField.step, motionFpsField.default, detectionFpsField.min, detectionFpsField.max, detectionFpsField.step, detectionFpsField.default, motionCooldownMsField.min, motionCooldownMsField.max, motionCooldownMsField.step, motionCooldownMsField.default, occupancyRecheckSecField.min, occupancyRecheckSecField.max, occupancyRecheckSecField.step, occupancyRecheckSecField.default, occupancyRecheckFramesField.min, occupancyRecheckFramesField.max, occupancyRecheckFramesField.step, occupancyRecheckFramesField.default;
|
|
9208
9246
|
/**
|
|
@@ -11842,6 +11880,8 @@ function enumerateItemArrayFields(itemArray) {
|
|
|
11842
11880
|
item: true
|
|
11843
11881
|
}));
|
|
11844
11882
|
}
|
|
11883
|
+
DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Camera, DeviceType.Hub, DeviceType.Switch, DeviceType.Siren, DeviceType.Light, DeviceType.Fan, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder;
|
|
11884
|
+
new Set(Object.values(DeviceType));
|
|
11845
11885
|
/**
|
|
11846
11886
|
* `addon-pages` — system-scoped singleton aggregator cap. Public-facing
|
|
11847
11887
|
* surface that admin-ui consumes through `useAddonPagesListPages()`.
|
|
@@ -21053,17 +21093,28 @@ var PlatformScoreSchema = zod.z.object({
|
|
|
21053
21093
|
format: zod.z.enum([
|
|
21054
21094
|
"onnx",
|
|
21055
21095
|
"coreml",
|
|
21056
|
-
"openvino"
|
|
21096
|
+
"openvino",
|
|
21097
|
+
"tflite"
|
|
21057
21098
|
]),
|
|
21058
21099
|
score: zod.z.number(),
|
|
21059
21100
|
reason: zod.z.string(),
|
|
21060
21101
|
available: zod.z.boolean()
|
|
21061
21102
|
});
|
|
21103
|
+
var InferenceDeviceDescriptorSchema = zod.z.object({
|
|
21104
|
+
key: zod.z.string(),
|
|
21105
|
+
backend: zod.z.string(),
|
|
21106
|
+
device: zod.z.string(),
|
|
21107
|
+
format: ModelFormatSchema,
|
|
21108
|
+
runtime: zod.z.literal("python"),
|
|
21109
|
+
score: zod.z.number(),
|
|
21110
|
+
available: zod.z.boolean()
|
|
21111
|
+
});
|
|
21062
21112
|
var PlatformCapabilitiesSchema = zod.z.object({
|
|
21063
21113
|
hardware: HardwareInfoSchema,
|
|
21064
21114
|
scores: zod.z.array(PlatformScoreSchema).readonly(),
|
|
21065
21115
|
bestScore: PlatformScoreSchema,
|
|
21066
|
-
pythonPath: zod.z.string().nullable()
|
|
21116
|
+
pythonPath: zod.z.string().nullable(),
|
|
21117
|
+
devices: zod.z.array(InferenceDeviceDescriptorSchema).readonly()
|
|
21067
21118
|
});
|
|
21068
21119
|
var ModelRequirementSchema = zod.z.object({
|
|
21069
21120
|
modelId: zod.z.string(),
|
|
@@ -27239,6 +27290,7 @@ Object.freeze({
|
|
|
27239
27290
|
* - coreml: score 95, darwin+arm64
|
|
27240
27291
|
* - cuda: score 85, nvidia gpu
|
|
27241
27292
|
* - openvino: score 90 if intel-npu present, else 80 if intel gpu
|
|
27293
|
+
* - edgetpu: score 70, coral usb present
|
|
27242
27294
|
* - cpu: score 50 (universal floor, always included)
|
|
27243
27295
|
*
|
|
27244
27296
|
* All hardware-matched entries are `available: true`.
|
|
@@ -27274,6 +27326,14 @@ function scoreRuntimes(hw) {
|
|
|
27274
27326
|
available: true
|
|
27275
27327
|
});
|
|
27276
27328
|
}
|
|
27329
|
+
if (hw.coral != null) scores.push({
|
|
27330
|
+
runtime: "python",
|
|
27331
|
+
backend: "edgetpu",
|
|
27332
|
+
format: "tflite",
|
|
27333
|
+
score: 70,
|
|
27334
|
+
reason: "Coral Edge TPU (Python LiteRT)",
|
|
27335
|
+
available: true
|
|
27336
|
+
});
|
|
27277
27337
|
scores.push({
|
|
27278
27338
|
runtime: "python",
|
|
27279
27339
|
backend: "cpu",
|
|
@@ -27288,6 +27348,33 @@ function scoreRuntimes(hw) {
|
|
|
27288
27348
|
best: sorted.find((s) => s.available) ?? sorted[sorted.length - 1]
|
|
27289
27349
|
};
|
|
27290
27350
|
}
|
|
27351
|
+
var DEVICE_FOR_BACKEND = {
|
|
27352
|
+
openvino: "gpu",
|
|
27353
|
+
cuda: "gpu",
|
|
27354
|
+
edgetpu: "usb",
|
|
27355
|
+
coreml: "all",
|
|
27356
|
+
cpu: "cpu"
|
|
27357
|
+
};
|
|
27358
|
+
/**
|
|
27359
|
+
* Enumerate every usable inference device on a node, one descriptor per scored
|
|
27360
|
+
* backend. Unlike the elected `bestScore`, this returns the FULL set so the
|
|
27361
|
+
* orchestrator can run and balance across all accelerators concurrently.
|
|
27362
|
+
*/
|
|
27363
|
+
function enumerateInferenceDevices(hw) {
|
|
27364
|
+
const { scores } = scoreRuntimes(hw);
|
|
27365
|
+
return scores.map((s) => {
|
|
27366
|
+
const device = DEVICE_FOR_BACKEND[s.backend] ?? s.backend;
|
|
27367
|
+
return {
|
|
27368
|
+
key: s.backend === "cpu" ? "cpu" : `${s.backend}:${device}`,
|
|
27369
|
+
backend: s.backend,
|
|
27370
|
+
device,
|
|
27371
|
+
format: s.format,
|
|
27372
|
+
runtime: "python",
|
|
27373
|
+
score: s.score,
|
|
27374
|
+
available: s.available
|
|
27375
|
+
};
|
|
27376
|
+
});
|
|
27377
|
+
}
|
|
27291
27378
|
//#endregion
|
|
27292
27379
|
Object.defineProperty(exports, "ALL_CAPABILITY_DEFINITIONS", {
|
|
27293
27380
|
enumerable: true,
|
|
@@ -27529,6 +27616,12 @@ Object.defineProperty(exports, "emitReadiness", {
|
|
|
27529
27616
|
return emitReadiness;
|
|
27530
27617
|
}
|
|
27531
27618
|
});
|
|
27619
|
+
Object.defineProperty(exports, "enumerateInferenceDevices", {
|
|
27620
|
+
enumerable: true,
|
|
27621
|
+
get: function() {
|
|
27622
|
+
return enumerateInferenceDevices;
|
|
27623
|
+
}
|
|
27624
|
+
});
|
|
27532
27625
|
Object.defineProperty(exports, "enumerateItemArrayFields", {
|
|
27533
27626
|
enumerable: true,
|
|
27534
27627
|
get: function() {
|
|
@@ -3082,6 +3082,17 @@ var ModelCatalogEntrySchema = z.object({
|
|
|
3082
3082
|
"imagenet",
|
|
3083
3083
|
"none"
|
|
3084
3084
|
]).optional(),
|
|
3085
|
+
/**
|
|
3086
|
+
* The model already applies softmax IN-GRAPH — its raw output is a
|
|
3087
|
+
* probability distribution, not logits. When set, the `softmax`
|
|
3088
|
+
* postprocessor must NOT re-apply softmax: re-softmaxing an already-normalised
|
|
3089
|
+
* probability vector collapses it toward uniform (top-1 score craters far
|
|
3090
|
+
* below its true value, making every confidence gate meaningless). Absent ⇒
|
|
3091
|
+
* the output is raw logits and the postprocessor applies softmax (the normal
|
|
3092
|
+
* case). Set on the Google AIY Birds `bird-classifier` (softmax baked into the
|
|
3093
|
+
* TF graph). Threaded to the Python pool via `PoolModelConfig.outputProbabilities`.
|
|
3094
|
+
*/
|
|
3095
|
+
outputProbabilities: z.boolean().optional(),
|
|
3085
3096
|
preprocessMode: z.enum(["letterbox", "resize"]).optional(),
|
|
3086
3097
|
/**
|
|
3087
3098
|
* Per-MODEL postprocessor override. Absent ⇒ the step's own
|
|
@@ -8734,7 +8745,14 @@ var pipelineExecutorCapability = {
|
|
|
8734
8745
|
* (inputClasses ≠ null) are skipped and served per-track via
|
|
8735
8746
|
* pipelineRunner.runDetailSubtree (two-plane design).
|
|
8736
8747
|
*/
|
|
8737
|
-
plane: z.enum(["full", "frame"]).optional()
|
|
8748
|
+
plane: z.enum(["full", "frame"]).optional(),
|
|
8749
|
+
/**
|
|
8750
|
+
* Inference-device selector (Phase 2 multi-device). Format
|
|
8751
|
+
* `<backend>:<device>` (e.g. `openvino:gpu`, `edgetpu:usb`, `cpu`).
|
|
8752
|
+
* Omitted ⇒ the runner's default device (current single-engine
|
|
8753
|
+
* behaviour). Selects WHICH device pool of the node runs the call.
|
|
8754
|
+
*/
|
|
8755
|
+
deviceKey: z.string().optional()
|
|
8738
8756
|
}), PipelineRunResultBridge, { kind: "mutation" }),
|
|
8739
8757
|
/**
|
|
8740
8758
|
* Batched run — N raw frames packed into one cap call. The provider
|
|
@@ -8752,7 +8770,20 @@ var pipelineExecutorCapability = {
|
|
|
8752
8770
|
steps: z.array(PipelineStepInputSchema).min(1),
|
|
8753
8771
|
frames: z.array(FrameInputSchema).min(1).max(255),
|
|
8754
8772
|
deviceId: z.number().optional(),
|
|
8755
|
-
sessionId: z.string().optional()
|
|
8773
|
+
sessionId: z.string().optional(),
|
|
8774
|
+
/**
|
|
8775
|
+
* Pure-inference benchmark hint. A NONZERO uint32 pins every frame in
|
|
8776
|
+
* the batch to the Python pool's bench preprocess cache
|
|
8777
|
+
* (`_bench_frame_id`) so a REPEATED benchmark frame is decoded +
|
|
8778
|
+
* preprocessed ONCE and every later inference is a pure-inference cache
|
|
8779
|
+
* hit — the sustained-throughput run measures inference, not
|
|
8780
|
+
* decode+preprocess+infer. Omitted/0 for live frames (all different →
|
|
8781
|
+
* full preprocess every call, correct). Fresh per sustained run;
|
|
8782
|
+
* released via `uncacheFrame`.
|
|
8783
|
+
*/
|
|
8784
|
+
frameId: z.number().int().nonnegative().optional(),
|
|
8785
|
+
/** Inference-device selector (Phase 2 multi-device); see runPipeline. */
|
|
8786
|
+
deviceKey: z.string().optional()
|
|
8756
8787
|
}), z.object({ results: z.array(PipelineRunResultBridge).readonly() }), { kind: "mutation" }),
|
|
8757
8788
|
/**
|
|
8758
8789
|
* Cache a raw frame inside the Python inference pool's memory.
|
|
@@ -9202,7 +9233,14 @@ var RunnerCameraConfigSchema = z.object({
|
|
|
9202
9233
|
* camera's detect node differs from its source-owner (P2d, gated by the
|
|
9203
9234
|
* `remoteSourcingNodes` rollout setting).
|
|
9204
9235
|
*/
|
|
9205
|
-
frameSource: RunnerFrameSourceSchema.default({ kind: "local-broker" })
|
|
9236
|
+
frameSource: RunnerFrameSourceSchema.default({ kind: "local-broker" }),
|
|
9237
|
+
/**
|
|
9238
|
+
* Inference-device selector for this camera's sessions (Phase 2 multi-device).
|
|
9239
|
+
* Format `<backend>:<device>` (e.g. `openvino:gpu`, `edgetpu:usb`, `cpu`);
|
|
9240
|
+
* omitted ⇒ the runner's default device. The engine itself stays node-local —
|
|
9241
|
+
* this only selects WHICH device pool of that node runs the session.
|
|
9242
|
+
*/
|
|
9243
|
+
deviceKey: z.string().optional()
|
|
9206
9244
|
});
|
|
9207
9245
|
motionFpsField.min, motionFpsField.max, motionFpsField.step, motionFpsField.default, detectionFpsField.min, detectionFpsField.max, detectionFpsField.step, detectionFpsField.default, motionCooldownMsField.min, motionCooldownMsField.max, motionCooldownMsField.step, motionCooldownMsField.default, occupancyRecheckSecField.min, occupancyRecheckSecField.max, occupancyRecheckSecField.step, occupancyRecheckSecField.default, occupancyRecheckFramesField.min, occupancyRecheckFramesField.max, occupancyRecheckFramesField.step, occupancyRecheckFramesField.default;
|
|
9208
9246
|
/**
|
|
@@ -11842,6 +11880,8 @@ function enumerateItemArrayFields(itemArray) {
|
|
|
11842
11880
|
item: true
|
|
11843
11881
|
}));
|
|
11844
11882
|
}
|
|
11883
|
+
DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Camera, DeviceType.Hub, DeviceType.Switch, DeviceType.Siren, DeviceType.Light, DeviceType.Fan, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder;
|
|
11884
|
+
new Set(Object.values(DeviceType));
|
|
11845
11885
|
/**
|
|
11846
11886
|
* `addon-pages` — system-scoped singleton aggregator cap. Public-facing
|
|
11847
11887
|
* surface that admin-ui consumes through `useAddonPagesListPages()`.
|
|
@@ -21053,17 +21093,28 @@ var PlatformScoreSchema = z.object({
|
|
|
21053
21093
|
format: z.enum([
|
|
21054
21094
|
"onnx",
|
|
21055
21095
|
"coreml",
|
|
21056
|
-
"openvino"
|
|
21096
|
+
"openvino",
|
|
21097
|
+
"tflite"
|
|
21057
21098
|
]),
|
|
21058
21099
|
score: z.number(),
|
|
21059
21100
|
reason: z.string(),
|
|
21060
21101
|
available: z.boolean()
|
|
21061
21102
|
});
|
|
21103
|
+
var InferenceDeviceDescriptorSchema = z.object({
|
|
21104
|
+
key: z.string(),
|
|
21105
|
+
backend: z.string(),
|
|
21106
|
+
device: z.string(),
|
|
21107
|
+
format: ModelFormatSchema,
|
|
21108
|
+
runtime: z.literal("python"),
|
|
21109
|
+
score: z.number(),
|
|
21110
|
+
available: z.boolean()
|
|
21111
|
+
});
|
|
21062
21112
|
var PlatformCapabilitiesSchema = z.object({
|
|
21063
21113
|
hardware: HardwareInfoSchema,
|
|
21064
21114
|
scores: z.array(PlatformScoreSchema).readonly(),
|
|
21065
21115
|
bestScore: PlatformScoreSchema,
|
|
21066
|
-
pythonPath: z.string().nullable()
|
|
21116
|
+
pythonPath: z.string().nullable(),
|
|
21117
|
+
devices: z.array(InferenceDeviceDescriptorSchema).readonly()
|
|
21067
21118
|
});
|
|
21068
21119
|
var ModelRequirementSchema = z.object({
|
|
21069
21120
|
modelId: z.string(),
|
|
@@ -27239,6 +27290,7 @@ Object.freeze({
|
|
|
27239
27290
|
* - coreml: score 95, darwin+arm64
|
|
27240
27291
|
* - cuda: score 85, nvidia gpu
|
|
27241
27292
|
* - openvino: score 90 if intel-npu present, else 80 if intel gpu
|
|
27293
|
+
* - edgetpu: score 70, coral usb present
|
|
27242
27294
|
* - cpu: score 50 (universal floor, always included)
|
|
27243
27295
|
*
|
|
27244
27296
|
* All hardware-matched entries are `available: true`.
|
|
@@ -27274,6 +27326,14 @@ function scoreRuntimes(hw) {
|
|
|
27274
27326
|
available: true
|
|
27275
27327
|
});
|
|
27276
27328
|
}
|
|
27329
|
+
if (hw.coral != null) scores.push({
|
|
27330
|
+
runtime: "python",
|
|
27331
|
+
backend: "edgetpu",
|
|
27332
|
+
format: "tflite",
|
|
27333
|
+
score: 70,
|
|
27334
|
+
reason: "Coral Edge TPU (Python LiteRT)",
|
|
27335
|
+
available: true
|
|
27336
|
+
});
|
|
27277
27337
|
scores.push({
|
|
27278
27338
|
runtime: "python",
|
|
27279
27339
|
backend: "cpu",
|
|
@@ -27288,5 +27348,32 @@ function scoreRuntimes(hw) {
|
|
|
27288
27348
|
best: sorted.find((s) => s.available) ?? sorted[sorted.length - 1]
|
|
27289
27349
|
};
|
|
27290
27350
|
}
|
|
27351
|
+
var DEVICE_FOR_BACKEND = {
|
|
27352
|
+
openvino: "gpu",
|
|
27353
|
+
cuda: "gpu",
|
|
27354
|
+
edgetpu: "usb",
|
|
27355
|
+
coreml: "all",
|
|
27356
|
+
cpu: "cpu"
|
|
27357
|
+
};
|
|
27358
|
+
/**
|
|
27359
|
+
* Enumerate every usable inference device on a node, one descriptor per scored
|
|
27360
|
+
* backend. Unlike the elected `bestScore`, this returns the FULL set so the
|
|
27361
|
+
* orchestrator can run and balance across all accelerators concurrently.
|
|
27362
|
+
*/
|
|
27363
|
+
function enumerateInferenceDevices(hw) {
|
|
27364
|
+
const { scores } = scoreRuntimes(hw);
|
|
27365
|
+
return scores.map((s) => {
|
|
27366
|
+
const device = DEVICE_FOR_BACKEND[s.backend] ?? s.backend;
|
|
27367
|
+
return {
|
|
27368
|
+
key: s.backend === "cpu" ? "cpu" : `${s.backend}:${device}`,
|
|
27369
|
+
backend: s.backend,
|
|
27370
|
+
device,
|
|
27371
|
+
format: s.format,
|
|
27372
|
+
runtime: "python",
|
|
27373
|
+
score: s.score,
|
|
27374
|
+
available: s.available
|
|
27375
|
+
};
|
|
27376
|
+
});
|
|
27377
|
+
}
|
|
27291
27378
|
//#endregion
|
|
27292
|
-
export {
|
|
27379
|
+
export { storageProviderCapability as $, getByPath as A, EventCategory as At, metricsProviderCapability as B, doorbellCapability as C, isDeviceConfigCap as Ct, evaluateLinkExpression as D, resolveCapMount as Dt, enumerateSchemaFields as E, readinessKey as Et, kebabToCamel as F, platformProbeCapability as G, normalizeUnit as H, lifecycleJobSchema as I, scoreRuntimes as J, procedureAuthKey as K, localNetworkCapability as L, isCollectionArrayMethod as M, isObjectInput as N, extractNestedAddonId as O, scopeKey as Ot, isVoidInput as P, storageCapability as Q, logDestinationCapability as R, deviceStatusCapability as S, hydrateSchema as St, enumerateItemArrayFields as T, parseJsonUnknown as Tt, objectInputDeclaresAddonId as U, nodePin as V, parseStreamParamsFormPatch as W, settingsStoreCapability as X, setByPath as Y, snapshotCapability as Z, authProviderCapability as _, asString as _t, DeviceStatusSchema as a, BaseAddon as at, deviceManagerCapability as b, emitReadiness as bt, STREAM_PROFILE_META as c, DEVICE_STATUS_METHOD as ct, UserRecordSchema as d, DeviceType as dt, streamQualityLabel as et, addonPagesCapability as f, ReadinessRegistry as ft, applyTransform as g, asNumber as gt, alertsCapability as h, asJsonObject as ht, CAP_NAMES_WITH_STATUS as i, errMsg as it, isArrayOutputSchema as j, filesystemBrowseCapability as k, sleep as kt, ScopedTokenSchema as l, DeviceFeature as lt, addonWidgetsCapability as m, WELL_KNOWN_TAB_MAP as mt, AlertSchema as n, userManagementCapability as nt, METHOD_ACCESS_MAP as o, DATAPLANE_SECRET_HEADER as ot, addonSettingsCapability as p, ReadinessTimeoutError as pt, readNodePin as q, ApiKeyRecordSchema as r, validateExpressionSource as rt, RUNTIME_DEFAULTS as s, DEVICE_SETTINGS_CONTRIBUTION_METHODS as st, ALL_CAPABILITY_DEFINITIONS as t, toExpressionValue as tt, StorageLocationTypeSchema as u, DeviceRole as ut, backupCapability as v, createEvent as vt, enumerateInferenceDevices as w, parseJsonObject as wt, deviceStateCapability as x, expandCapMethods as xt, buildStreamParamsConfigSchema as y, emitDownForOwnedCaps as yt, looseSchema as z };
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_chunk = require("./chunk-Cek0wNdY.js");
|
|
3
|
-
const require_dist = require("./dist-
|
|
3
|
+
const require_dist = require("./dist-BNdI6_MP.js");
|
|
4
4
|
const require_model_download_service = require("./model-download-service-hf0ookyy.js");
|
|
5
|
-
const require_manifest_python_deps = require("./manifest-python-deps-
|
|
5
|
+
const require_manifest_python_deps = require("./manifest-python-deps-ClarMoI9.js");
|
|
6
6
|
const require_resource_monitor = require("./resource-monitor-DNNomR-i.js");
|
|
7
7
|
const require_builtins_sqlite_storage_filesystem_storage_addon = require("./builtins/sqlite-storage/filesystem-storage.addon.js");
|
|
8
8
|
const require_builtins_sqlite_storage_sqlite_settings_addon = require("./builtins/sqlite-storage/sqlite-settings.addon.js");
|
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { At as EventCategory$1, Dt as resolveCapMount, Et as readinessKey, F as kebabToCamel, I as lifecycleJobSchema, K as procedureAuthKey, M as isCollectionArrayMethod, N as isObjectInput, O as extractNestedAddonId, Ot as scopeKey, P as isVoidInput, Tt as parseJsonUnknown$1, U as objectInputDeclaresAddonId, _t as asString$1, ct as DEVICE_STATUS_METHOD, ft as ReadinessRegistry, gt as asNumber, ht as asJsonObject$1, it as errMsg$1, j as isArrayOutputSchema, o as METHOD_ACCESS_MAP, ot as DATAPLANE_SECRET_HEADER$1, p as addonSettingsCapability, pt as ReadinessTimeoutError, s as RUNTIME_DEFAULTS, st as DEVICE_SETTINGS_CONTRIBUTION_METHODS, t as ALL_CAPABILITY_DEFINITIONS, vt as createEvent, wt as parseJsonObject, xt as expandCapMethods, yt as emitDownForOwnedCaps, z as looseSchema } from "./dist-BgR9fJpL.mjs";
|
|
2
2
|
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";
|
|
3
|
-
import { $ as buildUdsNativeCapProxy, A as createParentUnownedCallHandler, B as AGENT_CAP_FWD_SERVICE, C as buildLinkChain, D as HUB_CAP_FWD_ACTION, E as localProviderLink, F as createUdsLoggerWithControl, G as createLocalTransport, H as CapRouteError, I as LocalChildClient, J as SocketChannel, K as UdsLocalTransportClient, L as LocalChildRegistry, M as createUdsEventBus, N as udsChildLogToWorkerEntry, O as HUB_CAP_FWD_SERVICE, P as createUdsLogger, Q as buildNativeCapProxy, R as UDS_NO_ROUTE_PREFIX, S as brokerTransportLink, T as ipcParentLink, U as classifyCapRoute, V as CapRouteResolver, W as callWithServiceDiscovery, X as FrameDecoder, Y as localEndpointPath, Z as encodeFrame, _ as resolveHwAccel, _t as CapabilityUnavailableError, a as getWorkerDeviceRegistry, at as createAddonService, b as getCapUsageRegistry, bt as resolveAddonClass, c as setHubConnected, ct as capActionName, d as getMoleculerEventStats, dt as capServiceName, et as createBrokerDeviceManagerApi, f as registerEventBusService, ft as parseCapAction, g as createKernelHwAccel, gt as CapabilityHandle, h as AddonDepsManager, ht as DeviceRegistry, i as createUdsAddonContext, j as createUdsEventBridge, k as createHubCapForwardService, l as EVENT_TOPIC_PREFIX, lt as capActionSuffix, m as subscribePassthrough, mt as serializeTypedArrays, n as adaptBrokerToCluster, o as getOrInitReadinessRegistry, ot as validateProviderRegistrations, p as setNodeEventInterest, pt as deserializeTypedArrays, q as UdsLocalTransportServer, r as createAddonContext, rt as mountNativeCapService, s as getOrInitReadinessRegistryForClient, st as NATIVE_PROVIDER_SERVICE_INFIX, t as installManifestPythonDeps, u as getBrokerEventBus, ut as capBareAction, v as CapUsageRegistry, vt as installManifestNativeDeps, w as ipcChildLink, x as brokerCallForCap, xt as createAddonDataPlaneFacility, y as __resetCapUsageRegistryForTests, yt as runNpm, z as AGENT_CAP_FWD_ACTION } from "./manifest-python-deps-
|
|
3
|
+
import { $ as buildUdsNativeCapProxy, A as createParentUnownedCallHandler, B as AGENT_CAP_FWD_SERVICE, C as buildLinkChain, D as HUB_CAP_FWD_ACTION, E as localProviderLink, F as createUdsLoggerWithControl, G as createLocalTransport, H as CapRouteError, I as LocalChildClient, J as SocketChannel, K as UdsLocalTransportClient, L as LocalChildRegistry, M as createUdsEventBus, N as udsChildLogToWorkerEntry, O as HUB_CAP_FWD_SERVICE, P as createUdsLogger, Q as buildNativeCapProxy, R as UDS_NO_ROUTE_PREFIX, S as brokerTransportLink, T as ipcParentLink, U as classifyCapRoute, V as CapRouteResolver, W as callWithServiceDiscovery, X as FrameDecoder, Y as localEndpointPath, Z as encodeFrame, _ as resolveHwAccel, _t as CapabilityUnavailableError, a as getWorkerDeviceRegistry, at as createAddonService, b as getCapUsageRegistry, bt as resolveAddonClass, c as setHubConnected, ct as capActionName, d as getMoleculerEventStats, dt as capServiceName, et as createBrokerDeviceManagerApi, f as registerEventBusService, ft as parseCapAction, g as createKernelHwAccel, gt as CapabilityHandle, h as AddonDepsManager, ht as DeviceRegistry, i as createUdsAddonContext, j as createUdsEventBridge, k as createHubCapForwardService, l as EVENT_TOPIC_PREFIX, lt as capActionSuffix, m as subscribePassthrough, mt as serializeTypedArrays, n as adaptBrokerToCluster, o as getOrInitReadinessRegistry, ot as validateProviderRegistrations, p as setNodeEventInterest, pt as deserializeTypedArrays, q as UdsLocalTransportServer, r as createAddonContext, rt as mountNativeCapService, s as getOrInitReadinessRegistryForClient, st as NATIVE_PROVIDER_SERVICE_INFIX, t as installManifestPythonDeps, u as getBrokerEventBus, ut as capBareAction, v as CapUsageRegistry, vt as installManifestNativeDeps, w as ipcChildLink, x as brokerCallForCap, xt as createAddonDataPlaneFacility, y as __resetCapUsageRegistryForTests, yt as runNpm, z as AGENT_CAP_FWD_ACTION } from "./manifest-python-deps-RSxmZ-Fu.mjs";
|
|
4
4
|
import { n as getSinglePidStats, t as getPidStats } from "./resource-monitor-Le3l0qS2.mjs";
|
|
5
5
|
import { FilesystemStorageAddon, t as FilesystemStorageProvider } from "./builtins/sqlite-storage/filesystem-storage.addon.mjs";
|
|
6
6
|
import { SqliteSettingsAddon, t as SqliteSettingsBackend } from "./builtins/sqlite-storage/sqlite-settings.addon.mjs";
|
|
@@ -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-BNdI6_MP.js");
|
|
3
3
|
let _camstack_types_node = require("@camstack/types/node");
|
|
4
4
|
let node_http = require("node:http");
|
|
5
5
|
let node_fs = require("node:fs");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { q as readNodePin } from "./dist-BgR9fJpL.mjs";
|
|
2
2
|
import { ensureBinary, ensureFfmpeg, ensurePython, installPythonPackages, installPythonRequirements } from "@camstack/types/node";
|
|
3
3
|
import { createServer } from "node:http";
|
|
4
4
|
import * as fs from "node:fs";
|