@camstack/system 1.1.45 → 1.1.47
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 +1 -1
- package/dist/addon-runner.mjs +1 -1
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
- package/dist/builtins/alerts/alerts.addon.js +1 -1
- package/dist/builtins/alerts/alerts.addon.mjs +1 -1
- package/dist/builtins/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/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 +1 -1
- package/dist/builtins/platform-probe/index.mjs +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
- package/dist/builtins/snapshot/index.js +1 -1
- package/dist/builtins/snapshot/index.mjs +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +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-C68OyuEd.mjs → dist-BD7BE4o6.mjs} +119 -6
- package/dist/{dist-BP89I7gi.js → dist-fw1in_1Q.js} +119 -6
- package/dist/index.js +2 -2
- package/dist/index.mjs +2 -2
- package/dist/kernel/transport/local-child-registry.d.ts +17 -0
- package/dist/{manifest-python-deps-CJn9aExb.js → manifest-python-deps-Ciq2HL8D.js} +7 -2
- package/dist/{manifest-python-deps-MJEshIKy.mjs → manifest-python-deps-Rj3f1zyf.mjs} +7 -2
- package/package.json +1 -1
package/dist/addon-runner.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const require_chunk = require("./chunk-Cek0wNdY.js");
|
|
2
|
-
const require_manifest_python_deps = require("./manifest-python-deps-
|
|
2
|
+
const require_manifest_python_deps = require("./manifest-python-deps-Ciq2HL8D.js");
|
|
3
3
|
const require_custom_action_registry = require("./custom-action-registry-vLYEFTtv.js");
|
|
4
4
|
let node_fs = require("node:fs");
|
|
5
5
|
node_fs = require_chunk.__toESM(node_fs);
|
package/dist/addon-runner.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { F as createUdsLoggerWithControl, I as LocalChildClient, i as createUdsAddonContext, it as setWorkerNativeCapsChangeListener, nt as getWorkerNativeCapSnapshot, ot as validateProviderRegistrations, t as installManifestPythonDeps, tt as getWorkerNativeCapProvider, vt as installManifestNativeDeps, yt as resolveAddonClass } from "./manifest-python-deps-
|
|
1
|
+
import { F as createUdsLoggerWithControl, I as LocalChildClient, i as createUdsAddonContext, it as setWorkerNativeCapsChangeListener, nt as getWorkerNativeCapSnapshot, ot as validateProviderRegistrations, t as installManifestPythonDeps, tt as getWorkerNativeCapProvider, vt as installManifestNativeDeps, yt as resolveAddonClass } from "./manifest-python-deps-Rj3f1zyf.mjs";
|
|
2
2
|
import { t as CustomActionRegistry } from "./custom-action-registry-BEXwC-oo.mjs";
|
|
3
3
|
import { register } from "node:module";
|
|
4
4
|
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-fw1in_1Q.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 { $ as errMsg, et as BaseAddon, f as addonPagesCapability, st as EventCategory } from "../../dist-
|
|
1
|
+
import { $ as errMsg, et as BaseAddon, f as addonPagesCapability, st as EventCategory } from "../../dist-BD7BE4o6.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-fw1in_1Q.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 { $ as errMsg, et as BaseAddon, m as addonWidgetsCapability, st as EventCategory } from "../../dist-
|
|
1
|
+
import { $ as errMsg, et as BaseAddon, m as addonWidgetsCapability, st as EventCategory } from "../../dist-BD7BE4o6.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-fw1in_1Q.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 { $ as errMsg, et as BaseAddon, h as alertsCapability, mt as createEvent, n as AlertSchema, st as EventCategory } from "../../dist-
|
|
1
|
+
import { $ as errMsg, et as BaseAddon, h as alertsCapability, mt as createEvent, n as AlertSchema, st as EventCategory } from "../../dist-BD7BE4o6.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-fw1in_1Q.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 { et as BaseAddon, st as EventCategory, v as backupCapability } from "../../dist-
|
|
1
|
+
import { et as BaseAddon, st as EventCategory, v as backupCapability } from "../../dist-BD7BE4o6.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-fw1in_1Q.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 { P as logDestinationCapability, et as BaseAddon } from "../../dist-
|
|
1
|
+
import { P as logDestinationCapability, et as BaseAddon } from "../../dist-BD7BE4o6.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-fw1in_1Q.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 { $ as errMsg, C as enumerateItemArrayFields, D as getByPath, Q as validateExpressionSource, R as normalizeUnit, S as deviceStatusCapability, T as evaluateLinkExpression, Tt as sleep, W as setByPath, X as toExpressionValue, a as DeviceStatusSchema, at as DeviceRole, b as deviceManagerCapability, c as STREAM_PROFILE_META, et as BaseAddon, g as applyTransform, i as CAP_NAMES_WITH_STATUS, it as DeviceFeature, ot as DeviceType, st as EventCategory, t as ALL_CAPABILITY_DEFINITIONS, ut as WELL_KNOWN_TAB_MAP, w as enumerateSchemaFields, x as deviceStateCapability, y as buildStreamParamsConfigSchema, yt as isDeviceConfigCap, z as parseStreamParamsFormPatch } from "../../dist-
|
|
1
|
+
import { $ as errMsg, C as enumerateItemArrayFields, D as getByPath, Q as validateExpressionSource, R as normalizeUnit, S as deviceStatusCapability, T as evaluateLinkExpression, Tt as sleep, W as setByPath, X as toExpressionValue, a as DeviceStatusSchema, at as DeviceRole, b as deviceManagerCapability, c as STREAM_PROFILE_META, et as BaseAddon, g as applyTransform, i as CAP_NAMES_WITH_STATUS, it as DeviceFeature, ot as DeviceType, st as EventCategory, t as ALL_CAPABILITY_DEFINITIONS, ut as WELL_KNOWN_TAB_MAP, w as enumerateSchemaFields, x as deviceStateCapability, y as buildStreamParamsConfigSchema, yt as isDeviceConfigCap, z as parseStreamParamsFormPatch } from "../../dist-BD7BE4o6.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-fw1in_1Q.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 { P as logDestinationCapability, et as BaseAddon } from "../../dist-
|
|
1
|
+
import { P as logDestinationCapability, et as BaseAddon } from "../../dist-BD7BE4o6.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-fw1in_1Q.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 { Z as userManagementCapability, _ as authProviderCapability, d as UserRecordSchema, et as BaseAddon, l as ScopedTokenSchema, r as ApiKeyRecordSchema } from "../../dist-
|
|
1
|
+
import { Z as userManagementCapability, _ as authProviderCapability, d as UserRecordSchema, et as BaseAddon, l as ScopedTokenSchema, r as ApiKeyRecordSchema } from "../../dist-BD7BE4o6.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-fw1in_1Q.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 { N as localNetworkCapability, et as BaseAddon, st as EventCategory } from "../../dist-
|
|
1
|
+
import { N as localNetworkCapability, et as BaseAddon, st as EventCategory } from "../../dist-BD7BE4o6.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-fw1in_1Q.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 { I as metricsProviderCapability, et as BaseAddon, mt as createEvent, st as EventCategory } from "../../dist-
|
|
1
|
+
import { I as metricsProviderCapability, et as BaseAddon, mt as createEvent, st as EventCategory } from "../../dist-BD7BE4o6.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-fw1in_1Q.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 { $ as errMsg, B as platformProbeCapability, U as scoreRuntimes, et as BaseAddon, gt as emitReadiness, st as EventCategory } from "../../dist-
|
|
1
|
+
import { $ as errMsg, B as platformProbeCapability, U as scoreRuntimes, et as BaseAddon, gt as emitReadiness, st as EventCategory } from "../../dist-BD7BE4o6.mjs";
|
|
2
2
|
import * as fs from "node:fs";
|
|
3
3
|
import { execFile } 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
|
require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-fw1in_1Q.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 { et as BaseAddon, st as EventCategory } from "../../dist-
|
|
1
|
+
import { et as BaseAddon, st as EventCategory } from "../../dist-BD7BE4o6.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-fw1in_1Q.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 { $ as errMsg, K as snapshotCapability, L as nodePin, Y as streamQualityLabel, et as BaseAddon, it as DeviceFeature, ot as DeviceType } from "../../dist-
|
|
1
|
+
import { $ as errMsg, K as snapshotCapability, L as nodePin, Y as streamQualityLabel, et as BaseAddon, it as DeviceFeature, ot as DeviceType } from "../../dist-BD7BE4o6.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-fw1in_1Q.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 { E as filesystemBrowseCapability, J as storageProviderCapability, et as BaseAddon } from "../../dist-
|
|
1
|
+
import { E as filesystemBrowseCapability, J as storageProviderCapability, et as BaseAddon } from "../../dist-BD7BE4o6.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-fw1in_1Q.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 { $ as errMsg, G as settingsStoreCapability, dt as asJsonObject, et as BaseAddon, s as RUNTIME_DEFAULTS, xt as parseJsonUnknown } from "../../dist-
|
|
1
|
+
import { $ as errMsg, G as settingsStoreCapability, dt as asJsonObject, et as BaseAddon, s as RUNTIME_DEFAULTS, xt as parseJsonUnknown } from "../../dist-BD7BE4o6.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-fw1in_1Q.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 { bt as parseJsonObject, et as BaseAddon, q as storageCapability, u as StorageLocationTypeSchema } from "../../dist-
|
|
1
|
+
import { bt as parseJsonObject, et as BaseAddon, q as storageCapability, u as StorageLocationTypeSchema } from "../../dist-BD7BE4o6.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-fw1in_1Q.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 { $ as errMsg, et as BaseAddon, vt as hydrateSchema } from "../../dist-
|
|
1
|
+
import { $ as errMsg, et as BaseAddon, vt as hydrateSchema } from "../../dist-BD7BE4o6.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-fw1in_1Q.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 { P as logDestinationCapability, et as BaseAddon } from "../../dist-
|
|
1
|
+
import { P as logDestinationCapability, et as BaseAddon } from "../../dist-BD7BE4o6.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";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
//#region ../types/dist/sleep-
|
|
2
|
+
//#region ../types/dist/sleep-BC9Yqte7.mjs
|
|
3
3
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
4
4
|
EventCategory["SystemBoot"] = "system.boot";
|
|
5
5
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -7923,6 +7923,7 @@ var PipelineAddonSchemaSchema = z.object({
|
|
|
7923
7923
|
defaultModelId: z.string(),
|
|
7924
7924
|
defaultModelIdByFormat: z.record(z.string(), z.string()).optional(),
|
|
7925
7925
|
enabledByDefault: z.boolean().optional(),
|
|
7926
|
+
backfillIntoExistingOverrides: z.boolean().optional(),
|
|
7926
7927
|
defaultConfidence: z.number(),
|
|
7927
7928
|
group: z.string().optional(),
|
|
7928
7929
|
configSchema: z.array(ConfigFieldBridge).readonly().optional()
|
|
@@ -8425,6 +8426,25 @@ var zonesCapability = {
|
|
|
8425
8426
|
runtimeState: z.object({ zones: z.array(ZoneSchema).readonly() })
|
|
8426
8427
|
};
|
|
8427
8428
|
/**
|
|
8429
|
+
* A bounding box in NORMALIZED [0,1] frame coordinates for `getNativeCrop`. The
|
|
8430
|
+
* decode worker resolves it against the RETAINED native frame's real pixel dims,
|
|
8431
|
+
* so the caller supplies only the detection-res bbox divided by the detection
|
|
8432
|
+
* dims — no native resolution to plumb.
|
|
8433
|
+
*/
|
|
8434
|
+
var NativeCropBboxSchema = z.object({
|
|
8435
|
+
x: z.number(),
|
|
8436
|
+
y: z.number(),
|
|
8437
|
+
w: z.number(),
|
|
8438
|
+
h: z.number()
|
|
8439
|
+
});
|
|
8440
|
+
/** Result of a best-effort native-resolution crop (`getNativeCrop`). */
|
|
8441
|
+
var NativeCropResultSchema = z.object({
|
|
8442
|
+
/** Packed rgb (24-bit) pixels of the crop. */
|
|
8443
|
+
bytes: z.instanceof(Uint8Array),
|
|
8444
|
+
width: z.number().int().positive(),
|
|
8445
|
+
height: z.number().int().positive()
|
|
8446
|
+
});
|
|
8447
|
+
/**
|
|
8428
8448
|
* Per-camera tunable ranges + defaults. Single source of truth used
|
|
8429
8449
|
* by both the Zod data schema (validation + default fallback) and
|
|
8430
8450
|
* the device settings UI (slider min/max/step). Touch one place and
|
|
@@ -8728,7 +8748,22 @@ var pipelineRunnerCapability = {
|
|
|
8728
8748
|
/** All per-camera metrics in one round-trip. */
|
|
8729
8749
|
getAllCameraMetrics: method(z.void(), z.array(CameraMetricsWithDeviceIdSchema).readonly()),
|
|
8730
8750
|
/** List the deviceIds currently attached to this runner. */
|
|
8731
|
-
getLocalCameras: method(z.void(), z.array(z.number()).readonly())
|
|
8751
|
+
getLocalCameras: method(z.void(), z.array(z.number()).readonly()),
|
|
8752
|
+
/**
|
|
8753
|
+
* Best-effort NATIVE-resolution crop of a retention-ring frame. Given the
|
|
8754
|
+
* `FrameHandle` that rode an inference-result event and a normalized `bbox`,
|
|
8755
|
+
* the runner asks the decode worker still holding that frame's NATIVE
|
|
8756
|
+
* surface to GPU/CPU-crop ONLY the ROI at native res and download just the
|
|
8757
|
+
* crop. Returns `null` on a miss (handle not registered, or the worker's
|
|
8758
|
+
* tiny native-retention ring already evicted the frame) — the caller falls
|
|
8759
|
+
* back to a detection-frame crop. Routed to the frame's owning node by
|
|
8760
|
+
* `handle.nodeId`; NEVER ships a full native frame.
|
|
8761
|
+
*/
|
|
8762
|
+
getNativeCrop: method(z.object({
|
|
8763
|
+
handle: FrameHandleSchema,
|
|
8764
|
+
bbox: NativeCropBboxSchema,
|
|
8765
|
+
maxWidth: z.number().int().positive().optional()
|
|
8766
|
+
}), NativeCropResultSchema.nullable())
|
|
8732
8767
|
}
|
|
8733
8768
|
};
|
|
8734
8769
|
/**
|
|
@@ -14884,7 +14919,17 @@ var TrackSchema = z.object({
|
|
|
14884
14919
|
/** Cumulative normalized distance travelled (0..1 units = full frame width). */
|
|
14885
14920
|
totalDistance: z.number(),
|
|
14886
14921
|
state: TrackStateSchema,
|
|
14887
|
-
active: z.boolean()
|
|
14922
|
+
active: z.boolean(),
|
|
14923
|
+
/** Deterministic key-event importance score in [0,1] (server-computed at
|
|
14924
|
+
* track expiry, recomputed on late label). Absent on legacy rows written
|
|
14925
|
+
* before scoring shipped — consumers degrade to absence / compute-on-read. */
|
|
14926
|
+
importance: z.number().optional(),
|
|
14927
|
+
/** Id of the track's highest-confidence ObjectEvent (its representative
|
|
14928
|
+
* "best" frame). Absent when the track produced no object events. */
|
|
14929
|
+
bestEventId: z.string().optional(),
|
|
14930
|
+
/** Tag of the importance sub-signal that dominated the score
|
|
14931
|
+
* (identity|dwell|proximity|class|confidence|travel|zone). */
|
|
14932
|
+
importanceReason: z.string().optional()
|
|
14888
14933
|
});
|
|
14889
14934
|
var BaseEventFields = {
|
|
14890
14935
|
id: z.string(),
|
|
@@ -14949,8 +14994,18 @@ var ObjectEventSchema = z.object({
|
|
|
14949
14994
|
frameHeight: z.number().optional(),
|
|
14950
14995
|
/** MediaStore key for the crop attached to this event (if any). */
|
|
14951
14996
|
mediaKey: z.string().optional(),
|
|
14997
|
+
/** Design B: MediaStore key of the track's native-resolution key frame (the
|
|
14998
|
+
* best-detection full frame). Resolve via the event-media data-plane
|
|
14999
|
+
* (`/addon/<addonId>/event-media/<keyFrameMediaKey>`) for a detail view that
|
|
15000
|
+
* draws `bbox` over the native frame. Absent on legacy rows / non-decoded
|
|
15001
|
+
* sources — consumers fall back to `mediaKey` (the tight crop). */
|
|
15002
|
+
keyFrameMediaKey: z.string().optional(),
|
|
14952
15003
|
/** Populated by B5 (recording playback URL for this event). */
|
|
14953
|
-
mediaUrl: z.string().optional()
|
|
15004
|
+
mediaUrl: z.string().optional(),
|
|
15005
|
+
/** The parent track's key-event importance [0,1], propagated to every object
|
|
15006
|
+
* event of the track (so an event row can be sorted by importance without a
|
|
15007
|
+
* track join). Absent on legacy rows / before the track was scored. */
|
|
15008
|
+
importance: z.number().optional()
|
|
14954
15009
|
});
|
|
14955
15010
|
var AudioEventSchema = z.object({
|
|
14956
15011
|
...BaseEventFields,
|
|
@@ -14974,7 +15029,8 @@ var MediaFileKindEnum = z.enum([
|
|
|
14974
15029
|
"fullFrame",
|
|
14975
15030
|
"fullFrameBoxed",
|
|
14976
15031
|
"faceCrop",
|
|
14977
|
-
"plateCrop"
|
|
15032
|
+
"plateCrop",
|
|
15033
|
+
"keyFrame"
|
|
14978
15034
|
]);
|
|
14979
15035
|
var MediaFileSchema = z.object({
|
|
14980
15036
|
key: z.string(),
|
|
@@ -14995,6 +15051,32 @@ var DeviceEventQueryInput = z.object({
|
|
|
14995
15051
|
projection: z.enum(["full", "slim"]).optional()
|
|
14996
15052
|
});
|
|
14997
15053
|
var ObjectEventQueryInput = DeviceEventQueryInput.extend({ classFilter: z.string().optional() });
|
|
15054
|
+
var KeyEventQueryInput = z.object({
|
|
15055
|
+
deviceId: z.number(),
|
|
15056
|
+
/** Window lower bound (track firstSeen ≥ since). */
|
|
15057
|
+
since: z.number(),
|
|
15058
|
+
/** Window upper bound (track firstSeen ≤ until). */
|
|
15059
|
+
until: z.number(),
|
|
15060
|
+
limit: z.number().int().min(1).max(200).default(50),
|
|
15061
|
+
/** Drop tracks scoring below this importance. */
|
|
15062
|
+
minImportance: z.number().min(0).max(1).optional(),
|
|
15063
|
+
/** Restrict to a single class (e.g. 'person'). */
|
|
15064
|
+
classFilter: z.string().optional()
|
|
15065
|
+
});
|
|
15066
|
+
var KeyEventSchema = z.object({
|
|
15067
|
+
/** The representative event id (the track's best ObjectEvent, else its trackId). */
|
|
15068
|
+
id: z.string(),
|
|
15069
|
+
trackId: z.string(),
|
|
15070
|
+
/** Track start time (firstSeen). */
|
|
15071
|
+
timestamp: z.number(),
|
|
15072
|
+
className: z.string(),
|
|
15073
|
+
label: z.string().optional(),
|
|
15074
|
+
importance: z.number(),
|
|
15075
|
+
/** Highest-confidence ObjectEvent id for the track (empty when none). */
|
|
15076
|
+
bestEventId: z.string(),
|
|
15077
|
+
/** Track lifetime in ms (lastSeen - firstSeen). */
|
|
15078
|
+
windowMs: z.number().optional()
|
|
15079
|
+
});
|
|
14998
15080
|
var TrackedDetectionSchema = z.object({
|
|
14999
15081
|
trackId: z.string(),
|
|
15000
15082
|
className: z.string(),
|
|
@@ -15043,6 +15125,15 @@ var pipelineAnalyticsCapability = {
|
|
|
15043
15125
|
getMotionEvents: method(DeviceEventQueryInput, z.array(MotionEventSchema).readonly()),
|
|
15044
15126
|
getObjectEvents: method(ObjectEventQueryInput, z.array(ObjectEventSchema).readonly()),
|
|
15045
15127
|
getAudioEvents: method(DeviceEventQueryInput, z.array(AudioEventSchema).readonly()),
|
|
15128
|
+
/**
|
|
15129
|
+
* Importance-ranked highlights for a device+window. Queries completed
|
|
15130
|
+
* tracks by (deviceId, firstSeen ∈ [since,until]), scores each (or reuses
|
|
15131
|
+
* the persisted score), filters by minImportance/classFilter, orders by
|
|
15132
|
+
* importance desc, and returns up to `limit` compact key events mapped to
|
|
15133
|
+
* each track's best event. Legacy tracks lacking a persisted score are
|
|
15134
|
+
* scored on-read (no write). Degrades to `[]` on error.
|
|
15135
|
+
*/
|
|
15136
|
+
getKeyEvents: method(KeyEventQueryInput, z.array(KeyEventSchema).readonly()),
|
|
15046
15137
|
/** Server-side bucketed event counts for the 24-hour timeline.
|
|
15047
15138
|
* Returns one entry per non-empty bucket; empty buckets are omitted. */
|
|
15048
15139
|
getEventDensity: method(z.object({
|
|
@@ -17906,7 +17997,17 @@ var FaceInfoSchema = z.object({
|
|
|
17906
17997
|
recognizedIdentityId: z.string().optional(),
|
|
17907
17998
|
identityName: z.string().optional(),
|
|
17908
17999
|
assigned: z.boolean(),
|
|
17909
|
-
base64: z.string().optional()
|
|
18000
|
+
base64: z.string().optional(),
|
|
18001
|
+
/** Design B: the face bbox (pixel space) on the key frame — lets a detail
|
|
18002
|
+
* view draw the box over the native `keyFrameMediaKey` frame. Absent on
|
|
18003
|
+
* legacy rows written before design B. */
|
|
18004
|
+
faceBbox: BoundingBoxSchema.optional(),
|
|
18005
|
+
/** Design B: MediaStore key of the track's native-resolution key frame.
|
|
18006
|
+
* Fetch the native JPEG via the event-media data-plane
|
|
18007
|
+
* (`/addon/<addonId>/event-media/<keyFrameMediaKey>`). Absent when the
|
|
18008
|
+
* track produced no key frame (e.g. native/onboard source) — the UI falls
|
|
18009
|
+
* back to the inline `base64` face crop. */
|
|
18010
|
+
keyFrameMediaKey: z.string().optional()
|
|
17910
18011
|
});
|
|
17911
18012
|
var FaceFilterEnum = z.enum([
|
|
17912
18013
|
"unassigned",
|
|
@@ -23029,6 +23130,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
23029
23130
|
addonId: null,
|
|
23030
23131
|
access: "view"
|
|
23031
23132
|
},
|
|
23133
|
+
"pipelineAnalytics.getKeyEvents": {
|
|
23134
|
+
capName: "pipeline-analytics",
|
|
23135
|
+
capScope: "device",
|
|
23136
|
+
addonId: null,
|
|
23137
|
+
access: "view"
|
|
23138
|
+
},
|
|
23032
23139
|
"pipelineAnalytics.getMotionEvents": {
|
|
23033
23140
|
capName: "pipeline-analytics",
|
|
23034
23141
|
capScope: "device",
|
|
@@ -23557,6 +23664,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
23557
23664
|
addonId: null,
|
|
23558
23665
|
access: "view"
|
|
23559
23666
|
},
|
|
23667
|
+
"pipelineRunner.getNativeCrop": {
|
|
23668
|
+
capName: "pipeline-runner",
|
|
23669
|
+
capScope: "system",
|
|
23670
|
+
addonId: null,
|
|
23671
|
+
access: "view"
|
|
23672
|
+
},
|
|
23560
23673
|
"pipelineRunner.reportMotion": {
|
|
23561
23674
|
capName: "pipeline-runner",
|
|
23562
23675
|
capScope: "system",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
let zod = require("zod");
|
|
2
|
-
//#region ../types/dist/sleep-
|
|
2
|
+
//#region ../types/dist/sleep-BC9Yqte7.mjs
|
|
3
3
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
4
4
|
EventCategory["SystemBoot"] = "system.boot";
|
|
5
5
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -7923,6 +7923,7 @@ var PipelineAddonSchemaSchema = zod.z.object({
|
|
|
7923
7923
|
defaultModelId: zod.z.string(),
|
|
7924
7924
|
defaultModelIdByFormat: zod.z.record(zod.z.string(), zod.z.string()).optional(),
|
|
7925
7925
|
enabledByDefault: zod.z.boolean().optional(),
|
|
7926
|
+
backfillIntoExistingOverrides: zod.z.boolean().optional(),
|
|
7926
7927
|
defaultConfidence: zod.z.number(),
|
|
7927
7928
|
group: zod.z.string().optional(),
|
|
7928
7929
|
configSchema: zod.z.array(ConfigFieldBridge).readonly().optional()
|
|
@@ -8425,6 +8426,25 @@ var zonesCapability = {
|
|
|
8425
8426
|
runtimeState: zod.z.object({ zones: zod.z.array(ZoneSchema).readonly() })
|
|
8426
8427
|
};
|
|
8427
8428
|
/**
|
|
8429
|
+
* A bounding box in NORMALIZED [0,1] frame coordinates for `getNativeCrop`. The
|
|
8430
|
+
* decode worker resolves it against the RETAINED native frame's real pixel dims,
|
|
8431
|
+
* so the caller supplies only the detection-res bbox divided by the detection
|
|
8432
|
+
* dims — no native resolution to plumb.
|
|
8433
|
+
*/
|
|
8434
|
+
var NativeCropBboxSchema = zod.z.object({
|
|
8435
|
+
x: zod.z.number(),
|
|
8436
|
+
y: zod.z.number(),
|
|
8437
|
+
w: zod.z.number(),
|
|
8438
|
+
h: zod.z.number()
|
|
8439
|
+
});
|
|
8440
|
+
/** Result of a best-effort native-resolution crop (`getNativeCrop`). */
|
|
8441
|
+
var NativeCropResultSchema = zod.z.object({
|
|
8442
|
+
/** Packed rgb (24-bit) pixels of the crop. */
|
|
8443
|
+
bytes: zod.z.instanceof(Uint8Array),
|
|
8444
|
+
width: zod.z.number().int().positive(),
|
|
8445
|
+
height: zod.z.number().int().positive()
|
|
8446
|
+
});
|
|
8447
|
+
/**
|
|
8428
8448
|
* Per-camera tunable ranges + defaults. Single source of truth used
|
|
8429
8449
|
* by both the Zod data schema (validation + default fallback) and
|
|
8430
8450
|
* the device settings UI (slider min/max/step). Touch one place and
|
|
@@ -8728,7 +8748,22 @@ var pipelineRunnerCapability = {
|
|
|
8728
8748
|
/** All per-camera metrics in one round-trip. */
|
|
8729
8749
|
getAllCameraMetrics: method(zod.z.void(), zod.z.array(CameraMetricsWithDeviceIdSchema).readonly()),
|
|
8730
8750
|
/** List the deviceIds currently attached to this runner. */
|
|
8731
|
-
getLocalCameras: method(zod.z.void(), zod.z.array(zod.z.number()).readonly())
|
|
8751
|
+
getLocalCameras: method(zod.z.void(), zod.z.array(zod.z.number()).readonly()),
|
|
8752
|
+
/**
|
|
8753
|
+
* Best-effort NATIVE-resolution crop of a retention-ring frame. Given the
|
|
8754
|
+
* `FrameHandle` that rode an inference-result event and a normalized `bbox`,
|
|
8755
|
+
* the runner asks the decode worker still holding that frame's NATIVE
|
|
8756
|
+
* surface to GPU/CPU-crop ONLY the ROI at native res and download just the
|
|
8757
|
+
* crop. Returns `null` on a miss (handle not registered, or the worker's
|
|
8758
|
+
* tiny native-retention ring already evicted the frame) — the caller falls
|
|
8759
|
+
* back to a detection-frame crop. Routed to the frame's owning node by
|
|
8760
|
+
* `handle.nodeId`; NEVER ships a full native frame.
|
|
8761
|
+
*/
|
|
8762
|
+
getNativeCrop: method(zod.z.object({
|
|
8763
|
+
handle: FrameHandleSchema,
|
|
8764
|
+
bbox: NativeCropBboxSchema,
|
|
8765
|
+
maxWidth: zod.z.number().int().positive().optional()
|
|
8766
|
+
}), NativeCropResultSchema.nullable())
|
|
8732
8767
|
}
|
|
8733
8768
|
};
|
|
8734
8769
|
/**
|
|
@@ -14884,7 +14919,17 @@ var TrackSchema = zod.z.object({
|
|
|
14884
14919
|
/** Cumulative normalized distance travelled (0..1 units = full frame width). */
|
|
14885
14920
|
totalDistance: zod.z.number(),
|
|
14886
14921
|
state: TrackStateSchema,
|
|
14887
|
-
active: zod.z.boolean()
|
|
14922
|
+
active: zod.z.boolean(),
|
|
14923
|
+
/** Deterministic key-event importance score in [0,1] (server-computed at
|
|
14924
|
+
* track expiry, recomputed on late label). Absent on legacy rows written
|
|
14925
|
+
* before scoring shipped — consumers degrade to absence / compute-on-read. */
|
|
14926
|
+
importance: zod.z.number().optional(),
|
|
14927
|
+
/** Id of the track's highest-confidence ObjectEvent (its representative
|
|
14928
|
+
* "best" frame). Absent when the track produced no object events. */
|
|
14929
|
+
bestEventId: zod.z.string().optional(),
|
|
14930
|
+
/** Tag of the importance sub-signal that dominated the score
|
|
14931
|
+
* (identity|dwell|proximity|class|confidence|travel|zone). */
|
|
14932
|
+
importanceReason: zod.z.string().optional()
|
|
14888
14933
|
});
|
|
14889
14934
|
var BaseEventFields = {
|
|
14890
14935
|
id: zod.z.string(),
|
|
@@ -14949,8 +14994,18 @@ var ObjectEventSchema = zod.z.object({
|
|
|
14949
14994
|
frameHeight: zod.z.number().optional(),
|
|
14950
14995
|
/** MediaStore key for the crop attached to this event (if any). */
|
|
14951
14996
|
mediaKey: zod.z.string().optional(),
|
|
14997
|
+
/** Design B: MediaStore key of the track's native-resolution key frame (the
|
|
14998
|
+
* best-detection full frame). Resolve via the event-media data-plane
|
|
14999
|
+
* (`/addon/<addonId>/event-media/<keyFrameMediaKey>`) for a detail view that
|
|
15000
|
+
* draws `bbox` over the native frame. Absent on legacy rows / non-decoded
|
|
15001
|
+
* sources — consumers fall back to `mediaKey` (the tight crop). */
|
|
15002
|
+
keyFrameMediaKey: zod.z.string().optional(),
|
|
14952
15003
|
/** Populated by B5 (recording playback URL for this event). */
|
|
14953
|
-
mediaUrl: zod.z.string().optional()
|
|
15004
|
+
mediaUrl: zod.z.string().optional(),
|
|
15005
|
+
/** The parent track's key-event importance [0,1], propagated to every object
|
|
15006
|
+
* event of the track (so an event row can be sorted by importance without a
|
|
15007
|
+
* track join). Absent on legacy rows / before the track was scored. */
|
|
15008
|
+
importance: zod.z.number().optional()
|
|
14954
15009
|
});
|
|
14955
15010
|
var AudioEventSchema = zod.z.object({
|
|
14956
15011
|
...BaseEventFields,
|
|
@@ -14974,7 +15029,8 @@ var MediaFileKindEnum = zod.z.enum([
|
|
|
14974
15029
|
"fullFrame",
|
|
14975
15030
|
"fullFrameBoxed",
|
|
14976
15031
|
"faceCrop",
|
|
14977
|
-
"plateCrop"
|
|
15032
|
+
"plateCrop",
|
|
15033
|
+
"keyFrame"
|
|
14978
15034
|
]);
|
|
14979
15035
|
var MediaFileSchema = zod.z.object({
|
|
14980
15036
|
key: zod.z.string(),
|
|
@@ -14995,6 +15051,32 @@ var DeviceEventQueryInput = zod.z.object({
|
|
|
14995
15051
|
projection: zod.z.enum(["full", "slim"]).optional()
|
|
14996
15052
|
});
|
|
14997
15053
|
var ObjectEventQueryInput = DeviceEventQueryInput.extend({ classFilter: zod.z.string().optional() });
|
|
15054
|
+
var KeyEventQueryInput = zod.z.object({
|
|
15055
|
+
deviceId: zod.z.number(),
|
|
15056
|
+
/** Window lower bound (track firstSeen ≥ since). */
|
|
15057
|
+
since: zod.z.number(),
|
|
15058
|
+
/** Window upper bound (track firstSeen ≤ until). */
|
|
15059
|
+
until: zod.z.number(),
|
|
15060
|
+
limit: zod.z.number().int().min(1).max(200).default(50),
|
|
15061
|
+
/** Drop tracks scoring below this importance. */
|
|
15062
|
+
minImportance: zod.z.number().min(0).max(1).optional(),
|
|
15063
|
+
/** Restrict to a single class (e.g. 'person'). */
|
|
15064
|
+
classFilter: zod.z.string().optional()
|
|
15065
|
+
});
|
|
15066
|
+
var KeyEventSchema = zod.z.object({
|
|
15067
|
+
/** The representative event id (the track's best ObjectEvent, else its trackId). */
|
|
15068
|
+
id: zod.z.string(),
|
|
15069
|
+
trackId: zod.z.string(),
|
|
15070
|
+
/** Track start time (firstSeen). */
|
|
15071
|
+
timestamp: zod.z.number(),
|
|
15072
|
+
className: zod.z.string(),
|
|
15073
|
+
label: zod.z.string().optional(),
|
|
15074
|
+
importance: zod.z.number(),
|
|
15075
|
+
/** Highest-confidence ObjectEvent id for the track (empty when none). */
|
|
15076
|
+
bestEventId: zod.z.string(),
|
|
15077
|
+
/** Track lifetime in ms (lastSeen - firstSeen). */
|
|
15078
|
+
windowMs: zod.z.number().optional()
|
|
15079
|
+
});
|
|
14998
15080
|
var TrackedDetectionSchema = zod.z.object({
|
|
14999
15081
|
trackId: zod.z.string(),
|
|
15000
15082
|
className: zod.z.string(),
|
|
@@ -15043,6 +15125,15 @@ var pipelineAnalyticsCapability = {
|
|
|
15043
15125
|
getMotionEvents: method(DeviceEventQueryInput, zod.z.array(MotionEventSchema).readonly()),
|
|
15044
15126
|
getObjectEvents: method(ObjectEventQueryInput, zod.z.array(ObjectEventSchema).readonly()),
|
|
15045
15127
|
getAudioEvents: method(DeviceEventQueryInput, zod.z.array(AudioEventSchema).readonly()),
|
|
15128
|
+
/**
|
|
15129
|
+
* Importance-ranked highlights for a device+window. Queries completed
|
|
15130
|
+
* tracks by (deviceId, firstSeen ∈ [since,until]), scores each (or reuses
|
|
15131
|
+
* the persisted score), filters by minImportance/classFilter, orders by
|
|
15132
|
+
* importance desc, and returns up to `limit` compact key events mapped to
|
|
15133
|
+
* each track's best event. Legacy tracks lacking a persisted score are
|
|
15134
|
+
* scored on-read (no write). Degrades to `[]` on error.
|
|
15135
|
+
*/
|
|
15136
|
+
getKeyEvents: method(KeyEventQueryInput, zod.z.array(KeyEventSchema).readonly()),
|
|
15046
15137
|
/** Server-side bucketed event counts for the 24-hour timeline.
|
|
15047
15138
|
* Returns one entry per non-empty bucket; empty buckets are omitted. */
|
|
15048
15139
|
getEventDensity: method(zod.z.object({
|
|
@@ -17906,7 +17997,17 @@ var FaceInfoSchema = zod.z.object({
|
|
|
17906
17997
|
recognizedIdentityId: zod.z.string().optional(),
|
|
17907
17998
|
identityName: zod.z.string().optional(),
|
|
17908
17999
|
assigned: zod.z.boolean(),
|
|
17909
|
-
base64: zod.z.string().optional()
|
|
18000
|
+
base64: zod.z.string().optional(),
|
|
18001
|
+
/** Design B: the face bbox (pixel space) on the key frame — lets a detail
|
|
18002
|
+
* view draw the box over the native `keyFrameMediaKey` frame. Absent on
|
|
18003
|
+
* legacy rows written before design B. */
|
|
18004
|
+
faceBbox: BoundingBoxSchema.optional(),
|
|
18005
|
+
/** Design B: MediaStore key of the track's native-resolution key frame.
|
|
18006
|
+
* Fetch the native JPEG via the event-media data-plane
|
|
18007
|
+
* (`/addon/<addonId>/event-media/<keyFrameMediaKey>`). Absent when the
|
|
18008
|
+
* track produced no key frame (e.g. native/onboard source) — the UI falls
|
|
18009
|
+
* back to the inline `base64` face crop. */
|
|
18010
|
+
keyFrameMediaKey: zod.z.string().optional()
|
|
17910
18011
|
});
|
|
17911
18012
|
var FaceFilterEnum = zod.z.enum([
|
|
17912
18013
|
"unassigned",
|
|
@@ -23029,6 +23130,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
23029
23130
|
addonId: null,
|
|
23030
23131
|
access: "view"
|
|
23031
23132
|
},
|
|
23133
|
+
"pipelineAnalytics.getKeyEvents": {
|
|
23134
|
+
capName: "pipeline-analytics",
|
|
23135
|
+
capScope: "device",
|
|
23136
|
+
addonId: null,
|
|
23137
|
+
access: "view"
|
|
23138
|
+
},
|
|
23032
23139
|
"pipelineAnalytics.getMotionEvents": {
|
|
23033
23140
|
capName: "pipeline-analytics",
|
|
23034
23141
|
capScope: "device",
|
|
@@ -23557,6 +23664,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
23557
23664
|
addonId: null,
|
|
23558
23665
|
access: "view"
|
|
23559
23666
|
},
|
|
23667
|
+
"pipelineRunner.getNativeCrop": {
|
|
23668
|
+
capName: "pipeline-runner",
|
|
23669
|
+
capScope: "system",
|
|
23670
|
+
addonId: null,
|
|
23671
|
+
access: "view"
|
|
23672
|
+
},
|
|
23560
23673
|
"pipelineRunner.reportMotion": {
|
|
23561
23674
|
capName: "pipeline-runner",
|
|
23562
23675
|
capScope: "system",
|
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-fw1in_1Q.js");
|
|
4
4
|
const require_model_download_service = require("./model-download-service-D-Umz4-L.js");
|
|
5
5
|
const require_resource_monitor = require("./resource-monitor-DNNomR-i.js");
|
|
6
6
|
const require_builtins_sqlite_storage_filesystem_storage_addon = require("./builtins/sqlite-storage/filesystem-storage.addon.js");
|
|
@@ -21,7 +21,7 @@ const require_builtins_local_auth_local_auth_addon = require("./builtins/local-a
|
|
|
21
21
|
require("./builtins/local-auth/index.js");
|
|
22
22
|
const require_builtins_device_manager_device_manager_addon = require("./builtins/device-manager/device-manager.addon.js");
|
|
23
23
|
require("./builtins/device-manager/index.js");
|
|
24
|
-
const require_manifest_python_deps = require("./manifest-python-deps-
|
|
24
|
+
const require_manifest_python_deps = require("./manifest-python-deps-Ciq2HL8D.js");
|
|
25
25
|
const require_custom_action_registry = require("./custom-action-registry-vLYEFTtv.js");
|
|
26
26
|
let _camstack_types_node = require("@camstack/types/node");
|
|
27
27
|
let zod = require("zod");
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as errMsg$1, A as isVoidInput, Ct as resolveCapMount, F as looseSchema, M as lifecycleJobSchema, O as isArrayOutputSchema, St as readinessKey, V as procedureAuthKey, _t as expandCapMethods, bt as parseJsonObject, ct as ReadinessRegistry, dt as asJsonObject$1, ft as asNumber, ht as emitDownForOwnedCaps, j as kebabToCamel, k as isObjectInput, lt as ReadinessTimeoutError, mt as createEvent, nt as DEVICE_SETTINGS_CONTRIBUTION_METHODS, o as METHOD_ACCESS_MAP, p as addonSettingsCapability, pt as asString$1, rt as DEVICE_STATUS_METHOD, s as RUNTIME_DEFAULTS, st as EventCategory$1, t as ALL_CAPABILITY_DEFINITIONS, tt as DATAPLANE_SECRET_HEADER$1, wt as scopeKey, xt as parseJsonUnknown$1 } from "./dist-
|
|
1
|
+
import { $ as errMsg$1, A as isVoidInput, Ct as resolveCapMount, F as looseSchema, M as lifecycleJobSchema, O as isArrayOutputSchema, St as readinessKey, V as procedureAuthKey, _t as expandCapMethods, bt as parseJsonObject, ct as ReadinessRegistry, dt as asJsonObject$1, ft as asNumber, ht as emitDownForOwnedCaps, j as kebabToCamel, k as isObjectInput, lt as ReadinessTimeoutError, mt as createEvent, nt as DEVICE_SETTINGS_CONTRIBUTION_METHODS, o as METHOD_ACCESS_MAP, p as addonSettingsCapability, pt as asString$1, rt as DEVICE_STATUS_METHOD, s as RUNTIME_DEFAULTS, st as EventCategory$1, t as ALL_CAPABILITY_DEFINITIONS, tt as DATAPLANE_SECRET_HEADER$1, wt as scopeKey, xt as parseJsonUnknown$1 } from "./dist-BD7BE4o6.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-C-IHWnXx.mjs";
|
|
3
3
|
import { n as getSinglePidStats, t as getPidStats } from "./resource-monitor-Le3l0qS2.mjs";
|
|
4
4
|
import { FilesystemStorageAddon, t as FilesystemStorageProvider } from "./builtins/sqlite-storage/filesystem-storage.addon.mjs";
|
|
@@ -19,7 +19,7 @@ import { LocalAuthAddon, a as require_ms, c as __esmMin, d as __toCommonJS, f as
|
|
|
19
19
|
import "./builtins/local-auth/index.mjs";
|
|
20
20
|
import { DeviceManagerAddon } from "./builtins/device-manager/device-manager.addon.mjs";
|
|
21
21
|
import "./builtins/device-manager/index.mjs";
|
|
22
|
-
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, 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, y as __resetCapUsageRegistryForTests, yt as resolveAddonClass, z as AGENT_CAP_FWD_ACTION } from "./manifest-python-deps-
|
|
22
|
+
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, 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, y as __resetCapUsageRegistryForTests, yt as resolveAddonClass, z as AGENT_CAP_FWD_ACTION } from "./manifest-python-deps-Rj3f1zyf.mjs";
|
|
23
23
|
import { t as CustomActionRegistry } from "./custom-action-registry-BEXwC-oo.mjs";
|
|
24
24
|
import { PYTHON_VERSION, buildBinaryPath, downloadBinary, ensureBinary, ensureFfmpeg, ensurePython, findInPath, getFfmpegDownloadUrl, getPlatformInfo, getPythonDownloadUrl, installPythonPackages, installPythonRequirements } from "@camstack/types/node";
|
|
25
25
|
import { z } from "zod";
|
|
@@ -64,6 +64,21 @@ export interface LocalChildRegistryOptions {
|
|
|
64
64
|
* solo-runner behaviour for every ungrouped addon.
|
|
65
65
|
*/
|
|
66
66
|
readonly resolveChildIdForAddon?: (addonId: string) => string;
|
|
67
|
+
/**
|
|
68
|
+
* This node's own Moleculer nodeId (`'hub'` on the hub, the bare agent id on
|
|
69
|
+
* an agent). Used ONLY to decide whether an explicit per-call `nodeId` pin
|
|
70
|
+
* bypasses the local-sibling short-circuit in the `cap-call-out` path:
|
|
71
|
+
* - a pin naming THIS node is satisfied by a co-resident sibling (the pin's
|
|
72
|
+
* target lives here), so it routes locally exactly like an unpinned call;
|
|
73
|
+
* - a pin naming ANOTHER node bypasses the sibling and reaches
|
|
74
|
+
* `onUnownedCall` (so it is never silently answered by a same-named
|
|
75
|
+
* provider on the wrong node).
|
|
76
|
+
*
|
|
77
|
+
* Omitted (legacy / positional construction) ⇒ prior behaviour EXACTLY: any
|
|
78
|
+
* pin bypasses the local sibling — without this node's id the registry cannot
|
|
79
|
+
* distinguish a pin-to-self from a pin-to-another-node.
|
|
80
|
+
*/
|
|
81
|
+
readonly ownNodeId?: string;
|
|
67
82
|
}
|
|
68
83
|
/**
|
|
69
84
|
* Parent-side authority for local addon-runners reachable over a
|
|
@@ -83,6 +98,8 @@ export declare class LocalChildRegistry {
|
|
|
83
98
|
private readonly logger?;
|
|
84
99
|
private readonly getActiveSingletonAddonId?;
|
|
85
100
|
private readonly resolveChildIdForAddon?;
|
|
101
|
+
/** This node's own Moleculer nodeId (see {@link LocalChildRegistryOptions.ownNodeId}). */
|
|
102
|
+
private readonly ownNodeId?;
|
|
86
103
|
/** Tracks capNames already logged as UDS-routed; one INFO line per capName per process. */
|
|
87
104
|
private readonly egressRoutedCaps;
|
|
88
105
|
/** Active event fan-out mode, read once from `CAMSTACK_UDS_EVENT_FANOUT`. */
|
|
@@ -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-fw1in_1Q.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");
|
|
@@ -3956,6 +3956,8 @@ var LocalChildRegistry = class {
|
|
|
3956
3956
|
logger;
|
|
3957
3957
|
getActiveSingletonAddonId;
|
|
3958
3958
|
resolveChildIdForAddon;
|
|
3959
|
+
/** This node's own Moleculer nodeId (see {@link LocalChildRegistryOptions.ownNodeId}). */
|
|
3960
|
+
ownNodeId;
|
|
3959
3961
|
/** Tracks capNames already logged as UDS-routed; one INFO line per capName per process. */
|
|
3960
3962
|
egressRoutedCaps = /* @__PURE__ */ new Set();
|
|
3961
3963
|
/** Active event fan-out mode, read once from `CAMSTACK_UDS_EVENT_FANOUT`. */
|
|
@@ -3983,6 +3985,7 @@ var LocalChildRegistry = class {
|
|
|
3983
3985
|
this.logger = opts.logger;
|
|
3984
3986
|
this.getActiveSingletonAddonId = opts.getActiveSingletonAddonId;
|
|
3985
3987
|
this.resolveChildIdForAddon = opts.resolveChildIdForAddon;
|
|
3988
|
+
this.ownNodeId = opts.ownNodeId;
|
|
3986
3989
|
} else {
|
|
3987
3990
|
this.server = serverOrOptions;
|
|
3988
3991
|
this.onUnownedCall = onUnownedCallArg;
|
|
@@ -4343,7 +4346,9 @@ var LocalChildRegistry = class {
|
|
|
4343
4346
|
...out.deviceId !== void 0 ? { deviceId: out.deviceId } : {},
|
|
4344
4347
|
...out.nodeId !== void 0 ? { nodeId: out.nodeId } : {}
|
|
4345
4348
|
};
|
|
4346
|
-
|
|
4349
|
+
const pinnedNodeId = out.nodeId ?? extractNodeId(out.args);
|
|
4350
|
+
const pinTargetsThisNode = pinnedNodeId !== void 0 && this.ownNodeId !== void 0 && pinnedNodeId === this.ownNodeId;
|
|
4351
|
+
if ((pinnedNodeId === void 0 || pinTargetsThisNode ? this.resolveChildId(out.capName, out.deviceId) : null) !== null) {
|
|
4347
4352
|
if (!this.egressRoutedCaps.has(out.capName)) {
|
|
4348
4353
|
this.egressRoutedCaps.add(out.capName);
|
|
4349
4354
|
this.logger?.info("routed child egress over UDS", { capName: out.capName });
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { H as readNodePin } from "./dist-
|
|
1
|
+
import { H as readNodePin } from "./dist-BD7BE4o6.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";
|
|
@@ -3954,6 +3954,8 @@ var LocalChildRegistry = class {
|
|
|
3954
3954
|
logger;
|
|
3955
3955
|
getActiveSingletonAddonId;
|
|
3956
3956
|
resolveChildIdForAddon;
|
|
3957
|
+
/** This node's own Moleculer nodeId (see {@link LocalChildRegistryOptions.ownNodeId}). */
|
|
3958
|
+
ownNodeId;
|
|
3957
3959
|
/** Tracks capNames already logged as UDS-routed; one INFO line per capName per process. */
|
|
3958
3960
|
egressRoutedCaps = /* @__PURE__ */ new Set();
|
|
3959
3961
|
/** Active event fan-out mode, read once from `CAMSTACK_UDS_EVENT_FANOUT`. */
|
|
@@ -3981,6 +3983,7 @@ var LocalChildRegistry = class {
|
|
|
3981
3983
|
this.logger = opts.logger;
|
|
3982
3984
|
this.getActiveSingletonAddonId = opts.getActiveSingletonAddonId;
|
|
3983
3985
|
this.resolveChildIdForAddon = opts.resolveChildIdForAddon;
|
|
3986
|
+
this.ownNodeId = opts.ownNodeId;
|
|
3984
3987
|
} else {
|
|
3985
3988
|
this.server = serverOrOptions;
|
|
3986
3989
|
this.onUnownedCall = onUnownedCallArg;
|
|
@@ -4341,7 +4344,9 @@ var LocalChildRegistry = class {
|
|
|
4341
4344
|
...out.deviceId !== void 0 ? { deviceId: out.deviceId } : {},
|
|
4342
4345
|
...out.nodeId !== void 0 ? { nodeId: out.nodeId } : {}
|
|
4343
4346
|
};
|
|
4344
|
-
|
|
4347
|
+
const pinnedNodeId = out.nodeId ?? extractNodeId(out.args);
|
|
4348
|
+
const pinTargetsThisNode = pinnedNodeId !== void 0 && this.ownNodeId !== void 0 && pinnedNodeId === this.ownNodeId;
|
|
4349
|
+
if ((pinnedNodeId === void 0 || pinTargetsThisNode ? this.resolveChildId(out.capName, out.deviceId) : null) !== null) {
|
|
4345
4350
|
if (!this.egressRoutedCaps.has(out.capName)) {
|
|
4346
4351
|
this.egressRoutedCaps.add(out.capName);
|
|
4347
4352
|
this.logger?.info("routed child egress over UDS", { capName: out.capName });
|