@camstack/system 1.2.85 → 1.2.86
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
- package/dist/builtins/alerts/alerts.addon.js +1 -1
- package/dist/builtins/alerts/alerts.addon.mjs +1 -1
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +1 -1
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +1 -1
- package/dist/builtins/console-logging/index.js +1 -1
- package/dist/builtins/console-logging/index.mjs +1 -1
- package/dist/builtins/core-blocks/core-blocks.addon.js +1 -1
- package/dist/builtins/core-blocks/core-blocks.addon.mjs +1 -1
- package/dist/builtins/device-manager/device-manager.addon.js +1 -1
- package/dist/builtins/device-manager/device-manager.addon.mjs +1 -1
- package/dist/builtins/doorbell/virtual-doorbell.addon.js +1 -1
- package/dist/builtins/doorbell/virtual-doorbell.addon.mjs +1 -1
- package/dist/builtins/hub-forwarder/index.js +1 -1
- package/dist/builtins/hub-forwarder/index.mjs +1 -1
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
- package/dist/builtins/local-auth/local-auth.addon.js +1 -1
- package/dist/builtins/local-auth/local-auth.addon.mjs +1 -1
- package/dist/builtins/local-network/local-network.addon.js +1 -1
- package/dist/builtins/local-network/local-network.addon.mjs +1 -1
- package/dist/builtins/loki-logging/index.js +1 -1
- package/dist/builtins/loki-logging/index.mjs +1 -1
- package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
- package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
- package/dist/builtins/platform-probe/index.js +1 -1
- package/dist/builtins/platform-probe/index.mjs +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
- package/dist/builtins/snapshot/index.js +1 -1
- package/dist/builtins/snapshot/index.mjs +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.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-DWuNENzg.mjs → dist-B90N7AWO.mjs} +67 -26
- package/dist/{dist-DiScsb8j.js → dist-BV5Bug9t.js} +67 -26
- package/dist/index.js +9 -17
- package/dist/index.mjs +9 -17
- package/dist/kernel/addon-installer.d.ts +7 -15
- package/package.json +1 -1
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
const require_chunk = require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-BV5Bug9t.js");
|
|
7
7
|
const require_settle_sources = require("../../settle-sources-Bhsy57y-.js");
|
|
8
8
|
let node_crypto = require("node:crypto");
|
|
9
9
|
let node_path = require("node:path");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Ht as EventCategory, gt as BaseAddon, ht as errMsg, v as addonPagesCapability } from "../../dist-
|
|
1
|
+
import { Ht as EventCategory, gt as BaseAddon, ht as errMsg, v as addonPagesCapability } from "../../dist-B90N7AWO.mjs";
|
|
2
2
|
import { t as settleSourcesWithTimeout } from "../../settle-sources-CDtNC8ub.mjs";
|
|
3
3
|
import { createHash, randomUUID } from "node:crypto";
|
|
4
4
|
import * as path$1 from "node:path";
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
const require_chunk = require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-BV5Bug9t.js");
|
|
7
7
|
const require_settle_sources = require("../../settle-sources-Bhsy57y-.js");
|
|
8
8
|
let node_crypto = require("node:crypto");
|
|
9
9
|
let node_path = require("node:path");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Ht as EventCategory, b as addonWidgetsCapability, gt as BaseAddon, ht as errMsg } from "../../dist-
|
|
1
|
+
import { Ht as EventCategory, b as addonWidgetsCapability, gt as BaseAddon, ht as errMsg } from "../../dist-B90N7AWO.mjs";
|
|
2
2
|
import { t as settleSourcesWithTimeout } from "../../settle-sources-CDtNC8ub.mjs";
|
|
3
3
|
import { createHash, randomUUID } from "node:crypto";
|
|
4
4
|
import * as path$1 from "node:path";
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-BV5Bug9t.js");
|
|
7
7
|
//#region src/builtins/alerts/prune-policy.ts
|
|
8
8
|
/**
|
|
9
9
|
* Ids older than `cutoffMs`, oldest first.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Ht as EventCategory, gt as BaseAddon, ht as errMsg, kt as createEvent, n as AlertSchema, x as alertsCapability } from "../../dist-
|
|
1
|
+
import { Ht as EventCategory, gt as BaseAddon, ht as errMsg, kt as createEvent, n as AlertSchema, x as alertsCapability } from "../../dist-B90N7AWO.mjs";
|
|
2
2
|
//#region src/builtins/alerts/prune-policy.ts
|
|
3
3
|
/**
|
|
4
4
|
* Ids older than `cutoffMs`, oldest first.
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
const require_chunk = require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-BV5Bug9t.js");
|
|
7
7
|
let node_crypto = require("node:crypto");
|
|
8
8
|
let buffer = require("buffer");
|
|
9
9
|
let node_fs_promises = require("node:fs/promises");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as backupCapability, Ht as EventCategory, gt as BaseAddon } from "../../dist-
|
|
1
|
+
import { C as backupCapability, Ht as EventCategory, gt as BaseAddon } from "../../dist-B90N7AWO.mjs";
|
|
2
2
|
import { randomBytes, randomUUID } from "node:crypto";
|
|
3
3
|
import { Buffer as Buffer$1 } from "buffer";
|
|
4
4
|
import * as fsp from "node:fs/promises";
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-BV5Bug9t.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 { J as logDestinationCapability, gt as BaseAddon } from "../../dist-
|
|
1
|
+
import { J as logDestinationCapability, gt as BaseAddon } from "../../dist-B90N7AWO.mjs";
|
|
2
2
|
import { t as formatLogLine } from "../../formatter-B7qW8bPJ.mjs";
|
|
3
3
|
//#region src/builtins/console-logging/console-destination.ts
|
|
4
4
|
var LEVEL_RANK = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_chunk = require("../../chunk-Cek0wNdY.js");
|
|
3
|
-
const require_dist = require("../../dist-
|
|
3
|
+
const require_dist = require("../../dist-BV5Bug9t.js");
|
|
4
4
|
let node_crypto = require("node:crypto");
|
|
5
5
|
let node_fs_promises = require("node:fs/promises");
|
|
6
6
|
node_fs_promises = require_chunk.__toESM(node_fs_promises);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { D as coreBlockIdFromAddonId, E as coreBlockAddonId, O as coreBlocksCapability, c as CoreBlockSchema, gt as BaseAddon, l as DeclaredDevices, o as CORE_BLOCKS_ADDON_ID, s as CORE_BLOCK_ADDON_PREFIX } from "../../dist-
|
|
1
|
+
import { D as coreBlockIdFromAddonId, E as coreBlockAddonId, O as coreBlocksCapability, c as CoreBlockSchema, gt as BaseAddon, l as DeclaredDevices, o as CORE_BLOCKS_ADDON_ID, s as CORE_BLOCK_ADDON_PREFIX } from "../../dist-B90N7AWO.mjs";
|
|
2
2
|
import { randomUUID } from "node:crypto";
|
|
3
3
|
import * as fs from "node:fs/promises";
|
|
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-BV5Bug9t.js");
|
|
7
7
|
let node_crypto = require("node:crypto");
|
|
8
8
|
let _camstack_types_node = require("@camstack/types/node");
|
|
9
9
|
//#region src/builtins/device-manager/adoption-job-engine.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Ht as EventCategory, I as enumerateItemArrayFields, L as enumerateSchemaFields, M as deviceStateCapability, N as deviceStatusCapability, Pt as isDeviceConfigCap, Q as normalizeUnit, St as DeviceType, T as buildStreamParamsConfigSchema, Tt as WELL_KNOWN_TAB_MAP, Vt as sleep, a as CAP_NAMES_WITH_STATUS, bt as DeviceFeature, et as parseStreamParamsFormPatch, gt as BaseAddon, ht as errMsg, j as deviceManagerCapability, p as STREAM_PROFILE_META, t as ALL_CAPABILITY_DEFINITIONS, u as DeviceStatusSchema, xt as DeviceRole } from "../../dist-
|
|
1
|
+
import { Ht as EventCategory, I as enumerateItemArrayFields, L as enumerateSchemaFields, M as deviceStateCapability, N as deviceStatusCapability, Pt as isDeviceConfigCap, Q as normalizeUnit, St as DeviceType, T as buildStreamParamsConfigSchema, Tt as WELL_KNOWN_TAB_MAP, Vt as sleep, a as CAP_NAMES_WITH_STATUS, bt as DeviceFeature, et as parseStreamParamsFormPatch, gt as BaseAddon, ht as errMsg, j as deviceManagerCapability, p as STREAM_PROFILE_META, t as ALL_CAPABILITY_DEFINITIONS, u as DeviceStatusSchema, xt as DeviceRole } from "../../dist-B90N7AWO.mjs";
|
|
2
2
|
import { randomUUID } from "node:crypto";
|
|
3
3
|
import { canonicalDeviceFingerprint } from "@camstack/types/node";
|
|
4
4
|
//#region src/builtins/device-manager/adoption-job-engine.ts
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-BV5Bug9t.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 { Ht as EventCategory, P as doorbellCapability, St as DeviceType, U as isSameAddonId, gt as BaseAddon, ht as errMsg, kt as createEvent, w as bareAddonId } from "../../dist-
|
|
1
|
+
import { Ht as EventCategory, P as doorbellCapability, St as DeviceType, U as isSameAddonId, gt as BaseAddon, ht as errMsg, kt as createEvent, w as bareAddonId } from "../../dist-B90N7AWO.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-BV5Bug9t.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 { J as logDestinationCapability, gt as BaseAddon } from "../../dist-
|
|
1
|
+
import { J as logDestinationCapability, gt as BaseAddon } from "../../dist-B90N7AWO.mjs";
|
|
2
2
|
import { t as formatLogLine } from "../../formatter-B7qW8bPJ.mjs";
|
|
3
3
|
//#region src/builtins/hub-forwarder/hub-forwarder-destination.ts
|
|
4
4
|
var DEFAULT_OUTBOUND_BUFFER_SIZE = 500;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
require("../../chunk-Cek0wNdY.js");
|
|
3
|
-
const require_dist = require("../../dist-
|
|
3
|
+
const require_dist = require("../../dist-BV5Bug9t.js");
|
|
4
4
|
//#region src/builtins/liveness-monitor/liveness-checks.ts
|
|
5
5
|
var NO_DEVICES = "liveness:no-devices";
|
|
6
6
|
var ALL_OFFLINE = "liveness:all-devices-offline";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Ht as EventCategory, gt as BaseAddon, ht as errMsg, kt as createEvent } from "../../dist-
|
|
1
|
+
import { Ht as EventCategory, gt as BaseAddon, ht as errMsg, kt as createEvent } from "../../dist-B90N7AWO.mjs";
|
|
2
2
|
//#region src/builtins/liveness-monitor/liveness-checks.ts
|
|
3
3
|
var NO_DEVICES = "liveness:no-devices";
|
|
4
4
|
var ALL_OFFLINE = "liveness:all-devices-offline";
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
const require_chunk = require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-BV5Bug9t.js");
|
|
7
7
|
let node_crypto = require("node:crypto");
|
|
8
8
|
node_crypto = require_chunk.__toESM(node_crypto);
|
|
9
9
|
let crypto$1 = require("crypto");
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { i as __require, o as __toESM, t as __commonJSMin } from "../../chunk-CNf5ZN-e.mjs";
|
|
2
|
-
import { S as authProviderCapability, _ as UserRecordSchema, ft as userManagementCapability, gt as BaseAddon, m as ScopedTokenSchema, r as ApiKeyRecordSchema } from "../../dist-
|
|
2
|
+
import { S as authProviderCapability, _ as UserRecordSchema, ft as userManagementCapability, gt as BaseAddon, m as ScopedTokenSchema, r as ApiKeyRecordSchema } from "../../dist-B90N7AWO.mjs";
|
|
3
3
|
import * as crypto$2 from "node:crypto";
|
|
4
4
|
import { createHash, randomUUID, timingSafeEqual } from "node:crypto";
|
|
5
5
|
import nodeCrypto from "crypto";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_chunk = require("../../chunk-Cek0wNdY.js");
|
|
3
|
-
const require_dist = require("../../dist-
|
|
3
|
+
const require_dist = require("../../dist-BV5Bug9t.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 { Ht as EventCategory, gt as BaseAddon, q as localNetworkCapability } from "../../dist-
|
|
1
|
+
import { Ht as EventCategory, gt as BaseAddon, q as localNetworkCapability } from "../../dist-B90N7AWO.mjs";
|
|
2
2
|
import * as os from "node:os";
|
|
3
3
|
//#region src/builtins/local-network/local-network.addon.ts
|
|
4
4
|
/**
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-BV5Bug9t.js");
|
|
7
7
|
//#region src/builtins/loki-logging/loki-payload.ts
|
|
8
8
|
/**
|
|
9
9
|
* Loki rejects a label name that is not a valid Prometheus label
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { J as logDestinationCapability, gt as BaseAddon } from "../../dist-
|
|
1
|
+
import { J as logDestinationCapability, gt as BaseAddon } from "../../dist-B90N7AWO.mjs";
|
|
2
2
|
//#region src/builtins/loki-logging/loki-payload.ts
|
|
3
3
|
/**
|
|
4
4
|
* Loki rejects a label name that is not a valid Prometheus label
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
const require_chunk = require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-BV5Bug9t.js");
|
|
7
7
|
let node_child_process = require("node:child_process");
|
|
8
8
|
let node_util = require("node:util");
|
|
9
9
|
let node_os = require("node:os");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Ht as EventCategory, Z as metricsProviderCapability, gt as BaseAddon, kt as createEvent } from "../../dist-
|
|
1
|
+
import { Ht as EventCategory, Z as metricsProviderCapability, gt as BaseAddon, kt as createEvent } from "../../dist-B90N7AWO.mjs";
|
|
2
2
|
import { execFile, execFileSync } from "node:child_process";
|
|
3
3
|
import { promisify } from "node:util";
|
|
4
4
|
import * as os from "node:os";
|
|
@@ -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-BV5Bug9t.js");
|
|
7
7
|
let node_child_process = require("node:child_process");
|
|
8
8
|
let node_util = require("node:util");
|
|
9
9
|
let node_os = require("node:os");
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { o as __toESM } from "../../chunk-CNf5ZN-e.mjs";
|
|
2
|
-
import { F as enumerateInferenceDevices, Ht as EventCategory, at as scoreRuntimes, gt as BaseAddon, ht as errMsg, jt as emitReadiness, tt as platformProbeCapability } from "../../dist-
|
|
2
|
+
import { F as enumerateInferenceDevices, Ht as EventCategory, at as scoreRuntimes, gt as BaseAddon, ht as errMsg, jt as emitReadiness, tt as platformProbeCapability } from "../../dist-B90N7AWO.mjs";
|
|
3
3
|
import { execFile } from "node:child_process";
|
|
4
4
|
import { promisify } from "node:util";
|
|
5
5
|
import * as os from "node:os";
|
|
@@ -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-BV5Bug9t.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 { Ht as EventCategory, gt as BaseAddon } from "../../dist-
|
|
1
|
+
import { Ht as EventCategory, gt as BaseAddon } from "../../dist-B90N7AWO.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
|
const require_chunk = require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-BV5Bug9t.js");
|
|
7
7
|
let zod = require("zod");
|
|
8
8
|
let node_crypto = require("node:crypto");
|
|
9
9
|
let _camstack_types_node = require("@camstack/types/node");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Ft as nodePin, Ht as EventCategory, St as DeviceType, bt as DeviceFeature, dt as streamQualityLabel, gt as BaseAddon, ht as errMsg, i as BatteryStatusSchema, st as snapshotCapability, w as bareAddonId } from "../../dist-
|
|
1
|
+
import { Ft as nodePin, Ht as EventCategory, St as DeviceType, bt as DeviceFeature, dt as streamQualityLabel, gt as BaseAddon, ht as errMsg, i as BatteryStatusSchema, st as snapshotCapability, w as bareAddonId } from "../../dist-B90N7AWO.mjs";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { randomUUID } from "node:crypto";
|
|
4
4
|
import { signExpiringUrl, verifyExpiringUrl } from "@camstack/types/node";
|
|
@@ -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-BV5Bug9t.js");
|
|
7
7
|
let node_crypto = require("node:crypto");
|
|
8
8
|
let node_fs_promises = require("node:fs/promises");
|
|
9
9
|
let node_path = require("node:path");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { gt as BaseAddon, ut as storageProviderCapability, z as filesystemBrowseCapability } from "../../dist-
|
|
1
|
+
import { gt as BaseAddon, ut as storageProviderCapability, z as filesystemBrowseCapability } from "../../dist-B90N7AWO.mjs";
|
|
2
2
|
import { randomUUID } from "node:crypto";
|
|
3
3
|
import { mkdir, readdir, realpath, statfs } from "node:fs/promises";
|
|
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-BV5Bug9t.js");
|
|
7
7
|
let node_crypto = require("node:crypto");
|
|
8
8
|
let node_fs = require("node:fs");
|
|
9
9
|
let node_module = require("node:module");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as decodeVectorBase64, Et as asJsonObject, Lt as parseJsonUnknown, f as RUNTIME_DEFAULTS, gt as BaseAddon, ht as errMsg, k as dataStoreProviderCapability, mt as vectorStoreCapability, pt as vectorDimFromBase64, w as bareAddonId } from "../../dist-
|
|
1
|
+
import { A as decodeVectorBase64, Et as asJsonObject, Lt as parseJsonUnknown, f as RUNTIME_DEFAULTS, gt as BaseAddon, ht as errMsg, k as dataStoreProviderCapability, mt as vectorStoreCapability, pt as vectorDimFromBase64, w as bareAddonId } from "../../dist-B90N7AWO.mjs";
|
|
2
2
|
import { createRequire } from "node:module";
|
|
3
3
|
import { randomUUID } from "node:crypto";
|
|
4
4
|
import { statSync } 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-BV5Bug9t.js");
|
|
7
7
|
let node_crypto = require("node:crypto");
|
|
8
8
|
let node_fs_promises = require("node:fs/promises");
|
|
9
9
|
node_fs_promises = require_chunk.__toESM(node_fs_promises);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { It as parseJsonObject, ct as storageCapability, g as StorageMigrationJobSchema, gt as BaseAddon, h as StorageLocationTypeSchema, lt as storageMigrationCapability, ot as settingsStoreCapability } from "../../dist-
|
|
1
|
+
import { It as parseJsonObject, ct as storageCapability, g as StorageMigrationJobSchema, gt as BaseAddon, h as StorageLocationTypeSchema, lt as storageMigrationCapability, ot as settingsStoreCapability } from "../../dist-B90N7AWO.mjs";
|
|
2
2
|
import { randomUUID } from "node:crypto";
|
|
3
3
|
import * as fs from "node:fs/promises";
|
|
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-BV5Bug9t.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 { Nt as hydrateSchema, gt as BaseAddon, ht as errMsg } from "../../dist-
|
|
1
|
+
import { Nt as hydrateSchema, gt as BaseAddon, ht as errMsg } from "../../dist-B90N7AWO.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-BV5Bug9t.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 { J as logDestinationCapability, gt as BaseAddon } from "../../dist-
|
|
1
|
+
import { J as logDestinationCapability, gt as BaseAddon } from "../../dist-B90N7AWO.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";
|
|
@@ -25651,13 +25651,24 @@ var recordingCapability = {
|
|
|
25651
25651
|
/** Playback-speed multiplier for the render (1 = realtime). */
|
|
25652
25652
|
var ExportSpeedSchema = z.number().min(.25).max(32);
|
|
25653
25653
|
/**
|
|
25654
|
-
* One dense interval, in SECONDS FROM THE EXPORT'S OWN `fromMs`.
|
|
25654
|
+
* One dense interval, in WALL-CLOCK SECONDS FROM THE EXPORT'S OWN `fromMs`.
|
|
25655
25655
|
*
|
|
25656
|
-
*
|
|
25657
|
-
*
|
|
25658
|
-
*
|
|
25659
|
-
*
|
|
25660
|
-
*
|
|
25656
|
+
* **Wall clock, not ffmpeg's `t`** — and the recorder translates. A caller
|
|
25657
|
+
* derives these bounds from things that happened at a TIME (a track's
|
|
25658
|
+
* `firstSeen`), while `t` runs over the source playlist: the concatenation of
|
|
25659
|
+
* every segment present for the range, with each recording GAP removed. The
|
|
25660
|
+
* two agree only on a window that recorded without one interruption, and only
|
|
25661
|
+
* the render side knows the segments, so the translation lives there
|
|
25662
|
+
* (`export-dense-map.ts`, addon-pipeline).
|
|
25663
|
+
*
|
|
25664
|
+
* It was not always so. These seconds were fed to `between(t,…)` verbatim, and
|
|
25665
|
+
* on a 10 h window holding 29,393 s of footage every range landed late by the
|
|
25666
|
+
* gap accumulated before it — up to 6,607 s, well past EOF. Nothing matched,
|
|
25667
|
+
* the video was a uniform timelapse, and the log line reported the five ranges
|
|
25668
|
+
* that had been ASKED for (2026-08-13, export `57d14363`, camera 615).
|
|
25669
|
+
*
|
|
25670
|
+
* Relative and not absolute epoch, because an absolute epoch would make every
|
|
25671
|
+
* call site responsible for the same subtraction.
|
|
25661
25672
|
*/
|
|
25662
25673
|
var ExportDenseRangeSchema = z.object({
|
|
25663
25674
|
fromSec: z.number().nonnegative(),
|
|
@@ -34188,25 +34199,32 @@ z.object({
|
|
|
34188
34199
|
var NativeLeaseAdmissionSchema = z.enum(["all", "inferred"]);
|
|
34189
34200
|
z.object({
|
|
34190
34201
|
/**
|
|
34191
|
-
* How
|
|
34202
|
+
* How many delivered frames the worker HOLDS at once, waiting for each one's
|
|
34203
|
+
* detection result.
|
|
34192
34204
|
*
|
|
34193
|
-
*
|
|
34194
|
-
*
|
|
34195
|
-
*
|
|
34196
|
-
*
|
|
34197
|
-
*
|
|
34205
|
+
* This replaced a TTL on 2026-08-13, and the replacement is the whole point:
|
|
34206
|
+
* a time window was never related to the event the pixels were waiting for.
|
|
34207
|
+
* A held frame now lives from delivery until the runner has its `FrameResult`
|
|
34208
|
+
* — at which moment the runner cuts the subject tiles it actually wanted and
|
|
34209
|
+
* releases the frame. The bound exists only so a runner that stops answering
|
|
34210
|
+
* cannot pin RAM: above it the OLDEST held frame is dropped and counted.
|
|
34211
|
+
*
|
|
34212
|
+
* Sizing: the steady state is `inferenceLatency × deliveredFps`, measured at
|
|
34213
|
+
* 40-160 ms × ≤25 fps = 1-4 frames. The default leaves headroom for a hiccup
|
|
34214
|
+
* without ever approaching the old resident set (43 frames × 24.9 MB at 4K).
|
|
34215
|
+
* Raising it does not buy hit rate — it buys tolerance for a slow runner, and
|
|
34216
|
+
* `holdOverflow` on the metrics line is what says you need it.
|
|
34198
34217
|
*/
|
|
34199
|
-
|
|
34218
|
+
holdFrames: z.number().int().min(1).max(64),
|
|
34200
34219
|
/**
|
|
34201
34220
|
* Hard per-decode-worker RAM ceiling for retained native frames, in MB.
|
|
34202
34221
|
*
|
|
34203
|
-
*
|
|
34204
|
-
*
|
|
34205
|
-
*
|
|
34206
|
-
*
|
|
34207
|
-
*
|
|
34208
|
-
*
|
|
34209
|
-
* rather than giving RAM back — lower this knob if RAM is what you wanted.
|
|
34222
|
+
* Since 2026-08-13 this is a SAFETY ceiling and nothing else: `holdFrames`
|
|
34223
|
+
* is what decides how much is held, and the ceiling is the number above which
|
|
34224
|
+
* something is wrong. Before that it was the effective cap — at 1024 MB with
|
|
34225
|
+
* a 2 800 ms TTL a 4K camera sat pinned at `leaseMb:1020, leaseFrames:43`
|
|
34226
|
+
* with the TTL expiring nothing, which is exactly the confusion the hold
|
|
34227
|
+
* removes. `leaseMb` / `leaseFrames` still say what is resident.
|
|
34210
34228
|
* `0` DISABLES the lease entirely and falls the worker back to the tiny
|
|
34211
34229
|
* leak-prone GPU surface ring (~85% crop miss; that is what the lease exists
|
|
34212
34230
|
* to replace).
|
|
@@ -34232,22 +34250,45 @@ z.object({
|
|
|
34232
34250
|
* there is the signal that some caller names frames outside the inference set
|
|
34233
34251
|
* and that this must go back to `all`.
|
|
34234
34252
|
*/
|
|
34235
|
-
admission: NativeLeaseAdmissionSchema
|
|
34253
|
+
admission: NativeLeaseAdmissionSchema,
|
|
34254
|
+
/**
|
|
34255
|
+
* RAM ceiling per decode worker, in MB, for the SUBJECT TILES — the
|
|
34256
|
+
* compressed native crops the worker cuts at the moment a frame's detection
|
|
34257
|
+
* result arrives, and keeps long after the frame itself is freed.
|
|
34258
|
+
*
|
|
34259
|
+
* This is the knob that replaced the old retention window, and it buys about
|
|
34260
|
+
* three orders of magnitude more of it: a tile is one subject at native
|
|
34261
|
+
* resolution, JPEG-encoded (~60-120 KB on a 4K person), against ~24.9 MB for
|
|
34262
|
+
* the frame it was cut from. A frame on which nothing was detected costs
|
|
34263
|
+
* nothing at all, which is the real change — the old lease paid per FRAME and
|
|
34264
|
+
* was interrogated per SUBJECT.
|
|
34265
|
+
*
|
|
34266
|
+
* `0` DISABLES tiles, leaving only the hold window and the ≤640 RAM
|
|
34267
|
+
* fallback — i.e. the pre-2026-08-13 miss profile. Set it there only to
|
|
34268
|
+
* reproduce that.
|
|
34269
|
+
*/
|
|
34270
|
+
tileBudgetMb: z.number().int().min(0).max(1024)
|
|
34236
34271
|
});
|
|
34237
34272
|
/**
|
|
34238
|
-
* The values in force when the operator has set nothing
|
|
34239
|
-
*
|
|
34240
|
-
*
|
|
34273
|
+
* The values in force when the operator has set nothing.
|
|
34274
|
+
*
|
|
34275
|
+
* `budgetMb` stays at 1024 on the day the hold landed, deliberately: it stopped
|
|
34276
|
+
* being the retention window and became the OOM ceiling, and lowering a ceiling
|
|
34277
|
+
* in the same change that redefines it would make a regression and a retune
|
|
34278
|
+
* indistinguishable. Cut it once `tileHits` / `holdOverflow` have been read on
|
|
34279
|
+
* live traffic.
|
|
34241
34280
|
*/
|
|
34242
34281
|
var DEFAULT_NATIVE_LEASE_SETTINGS = {
|
|
34243
|
-
|
|
34282
|
+
holdFrames: 8,
|
|
34244
34283
|
budgetMb: 1024,
|
|
34245
34284
|
activityMs: 15e3,
|
|
34285
|
+
tileBudgetMb: 64,
|
|
34246
34286
|
admission: "inferred"
|
|
34247
34287
|
};
|
|
34248
|
-
DEFAULT_NATIVE_LEASE_SETTINGS.
|
|
34288
|
+
DEFAULT_NATIVE_LEASE_SETTINGS.holdFrames;
|
|
34249
34289
|
DEFAULT_NATIVE_LEASE_SETTINGS.budgetMb;
|
|
34250
34290
|
DEFAULT_NATIVE_LEASE_SETTINGS.activityMs;
|
|
34291
|
+
DEFAULT_NATIVE_LEASE_SETTINGS.tileBudgetMb;
|
|
34251
34292
|
DEFAULT_NATIVE_LEASE_SETTINGS.admission;
|
|
34252
34293
|
/**
|
|
34253
34294
|
* The addon id as the REGISTRY, the wire and the durable stores spell it.
|
|
@@ -25651,13 +25651,24 @@ var recordingCapability = {
|
|
|
25651
25651
|
/** Playback-speed multiplier for the render (1 = realtime). */
|
|
25652
25652
|
var ExportSpeedSchema = zod.z.number().min(.25).max(32);
|
|
25653
25653
|
/**
|
|
25654
|
-
* One dense interval, in SECONDS FROM THE EXPORT'S OWN `fromMs`.
|
|
25654
|
+
* One dense interval, in WALL-CLOCK SECONDS FROM THE EXPORT'S OWN `fromMs`.
|
|
25655
25655
|
*
|
|
25656
|
-
*
|
|
25657
|
-
*
|
|
25658
|
-
*
|
|
25659
|
-
*
|
|
25660
|
-
*
|
|
25656
|
+
* **Wall clock, not ffmpeg's `t`** — and the recorder translates. A caller
|
|
25657
|
+
* derives these bounds from things that happened at a TIME (a track's
|
|
25658
|
+
* `firstSeen`), while `t` runs over the source playlist: the concatenation of
|
|
25659
|
+
* every segment present for the range, with each recording GAP removed. The
|
|
25660
|
+
* two agree only on a window that recorded without one interruption, and only
|
|
25661
|
+
* the render side knows the segments, so the translation lives there
|
|
25662
|
+
* (`export-dense-map.ts`, addon-pipeline).
|
|
25663
|
+
*
|
|
25664
|
+
* It was not always so. These seconds were fed to `between(t,…)` verbatim, and
|
|
25665
|
+
* on a 10 h window holding 29,393 s of footage every range landed late by the
|
|
25666
|
+
* gap accumulated before it — up to 6,607 s, well past EOF. Nothing matched,
|
|
25667
|
+
* the video was a uniform timelapse, and the log line reported the five ranges
|
|
25668
|
+
* that had been ASKED for (2026-08-13, export `57d14363`, camera 615).
|
|
25669
|
+
*
|
|
25670
|
+
* Relative and not absolute epoch, because an absolute epoch would make every
|
|
25671
|
+
* call site responsible for the same subtraction.
|
|
25661
25672
|
*/
|
|
25662
25673
|
var ExportDenseRangeSchema = zod.z.object({
|
|
25663
25674
|
fromSec: zod.z.number().nonnegative(),
|
|
@@ -34188,25 +34199,32 @@ zod.z.object({
|
|
|
34188
34199
|
var NativeLeaseAdmissionSchema = zod.z.enum(["all", "inferred"]);
|
|
34189
34200
|
zod.z.object({
|
|
34190
34201
|
/**
|
|
34191
|
-
* How
|
|
34202
|
+
* How many delivered frames the worker HOLDS at once, waiting for each one's
|
|
34203
|
+
* detection result.
|
|
34192
34204
|
*
|
|
34193
|
-
*
|
|
34194
|
-
*
|
|
34195
|
-
*
|
|
34196
|
-
*
|
|
34197
|
-
*
|
|
34205
|
+
* This replaced a TTL on 2026-08-13, and the replacement is the whole point:
|
|
34206
|
+
* a time window was never related to the event the pixels were waiting for.
|
|
34207
|
+
* A held frame now lives from delivery until the runner has its `FrameResult`
|
|
34208
|
+
* — at which moment the runner cuts the subject tiles it actually wanted and
|
|
34209
|
+
* releases the frame. The bound exists only so a runner that stops answering
|
|
34210
|
+
* cannot pin RAM: above it the OLDEST held frame is dropped and counted.
|
|
34211
|
+
*
|
|
34212
|
+
* Sizing: the steady state is `inferenceLatency × deliveredFps`, measured at
|
|
34213
|
+
* 40-160 ms × ≤25 fps = 1-4 frames. The default leaves headroom for a hiccup
|
|
34214
|
+
* without ever approaching the old resident set (43 frames × 24.9 MB at 4K).
|
|
34215
|
+
* Raising it does not buy hit rate — it buys tolerance for a slow runner, and
|
|
34216
|
+
* `holdOverflow` on the metrics line is what says you need it.
|
|
34198
34217
|
*/
|
|
34199
|
-
|
|
34218
|
+
holdFrames: zod.z.number().int().min(1).max(64),
|
|
34200
34219
|
/**
|
|
34201
34220
|
* Hard per-decode-worker RAM ceiling for retained native frames, in MB.
|
|
34202
34221
|
*
|
|
34203
|
-
*
|
|
34204
|
-
*
|
|
34205
|
-
*
|
|
34206
|
-
*
|
|
34207
|
-
*
|
|
34208
|
-
*
|
|
34209
|
-
* rather than giving RAM back — lower this knob if RAM is what you wanted.
|
|
34222
|
+
* Since 2026-08-13 this is a SAFETY ceiling and nothing else: `holdFrames`
|
|
34223
|
+
* is what decides how much is held, and the ceiling is the number above which
|
|
34224
|
+
* something is wrong. Before that it was the effective cap — at 1024 MB with
|
|
34225
|
+
* a 2 800 ms TTL a 4K camera sat pinned at `leaseMb:1020, leaseFrames:43`
|
|
34226
|
+
* with the TTL expiring nothing, which is exactly the confusion the hold
|
|
34227
|
+
* removes. `leaseMb` / `leaseFrames` still say what is resident.
|
|
34210
34228
|
* `0` DISABLES the lease entirely and falls the worker back to the tiny
|
|
34211
34229
|
* leak-prone GPU surface ring (~85% crop miss; that is what the lease exists
|
|
34212
34230
|
* to replace).
|
|
@@ -34232,22 +34250,45 @@ zod.z.object({
|
|
|
34232
34250
|
* there is the signal that some caller names frames outside the inference set
|
|
34233
34251
|
* and that this must go back to `all`.
|
|
34234
34252
|
*/
|
|
34235
|
-
admission: NativeLeaseAdmissionSchema
|
|
34253
|
+
admission: NativeLeaseAdmissionSchema,
|
|
34254
|
+
/**
|
|
34255
|
+
* RAM ceiling per decode worker, in MB, for the SUBJECT TILES — the
|
|
34256
|
+
* compressed native crops the worker cuts at the moment a frame's detection
|
|
34257
|
+
* result arrives, and keeps long after the frame itself is freed.
|
|
34258
|
+
*
|
|
34259
|
+
* This is the knob that replaced the old retention window, and it buys about
|
|
34260
|
+
* three orders of magnitude more of it: a tile is one subject at native
|
|
34261
|
+
* resolution, JPEG-encoded (~60-120 KB on a 4K person), against ~24.9 MB for
|
|
34262
|
+
* the frame it was cut from. A frame on which nothing was detected costs
|
|
34263
|
+
* nothing at all, which is the real change — the old lease paid per FRAME and
|
|
34264
|
+
* was interrogated per SUBJECT.
|
|
34265
|
+
*
|
|
34266
|
+
* `0` DISABLES tiles, leaving only the hold window and the ≤640 RAM
|
|
34267
|
+
* fallback — i.e. the pre-2026-08-13 miss profile. Set it there only to
|
|
34268
|
+
* reproduce that.
|
|
34269
|
+
*/
|
|
34270
|
+
tileBudgetMb: zod.z.number().int().min(0).max(1024)
|
|
34236
34271
|
});
|
|
34237
34272
|
/**
|
|
34238
|
-
* The values in force when the operator has set nothing
|
|
34239
|
-
*
|
|
34240
|
-
*
|
|
34273
|
+
* The values in force when the operator has set nothing.
|
|
34274
|
+
*
|
|
34275
|
+
* `budgetMb` stays at 1024 on the day the hold landed, deliberately: it stopped
|
|
34276
|
+
* being the retention window and became the OOM ceiling, and lowering a ceiling
|
|
34277
|
+
* in the same change that redefines it would make a regression and a retune
|
|
34278
|
+
* indistinguishable. Cut it once `tileHits` / `holdOverflow` have been read on
|
|
34279
|
+
* live traffic.
|
|
34241
34280
|
*/
|
|
34242
34281
|
var DEFAULT_NATIVE_LEASE_SETTINGS = {
|
|
34243
|
-
|
|
34282
|
+
holdFrames: 8,
|
|
34244
34283
|
budgetMb: 1024,
|
|
34245
34284
|
activityMs: 15e3,
|
|
34285
|
+
tileBudgetMb: 64,
|
|
34246
34286
|
admission: "inferred"
|
|
34247
34287
|
};
|
|
34248
|
-
DEFAULT_NATIVE_LEASE_SETTINGS.
|
|
34288
|
+
DEFAULT_NATIVE_LEASE_SETTINGS.holdFrames;
|
|
34249
34289
|
DEFAULT_NATIVE_LEASE_SETTINGS.budgetMb;
|
|
34250
34290
|
DEFAULT_NATIVE_LEASE_SETTINGS.activityMs;
|
|
34291
|
+
DEFAULT_NATIVE_LEASE_SETTINGS.tileBudgetMb;
|
|
34251
34292
|
DEFAULT_NATIVE_LEASE_SETTINGS.admission;
|
|
34252
34293
|
/**
|
|
34253
34294
|
* The addon id as the REGISTRY, the wire and the durable stores spell it.
|
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-BV5Bug9t.js");
|
|
4
4
|
const require_builtins_alerts_alerts_addon = require("./builtins/alerts/alerts.addon.js");
|
|
5
5
|
require("./builtins/alerts/index.js");
|
|
6
6
|
const require_formatter = require("./formatter-DqAKDlvN.js");
|
|
@@ -4227,23 +4227,15 @@ var AddonInstaller = class AddonInstaller {
|
|
|
4227
4227
|
* installs from the admin UI go through `install()` instead, which
|
|
4228
4228
|
* defaults to npm in production.
|
|
4229
4229
|
*
|
|
4230
|
-
*
|
|
4231
|
-
*
|
|
4232
|
-
*
|
|
4233
|
-
*
|
|
4234
|
-
*
|
|
4235
|
-
* image seed answers first today, so `latest` has never been the version a
|
|
4236
|
-
* node actually got. Once the image stops baking an addon tree under `/opt`
|
|
4237
|
-
* this call IS the answer, and it has to be the version the running closure was
|
|
4238
|
-
* published with — otherwise a node fetches latest-of-everything and its
|
|
4239
|
-
* addon set depends on the minute it first booted. Passing nothing keeps
|
|
4240
|
-
* exactly today's behaviour, and `launcher.ts` passes nothing yet.
|
|
4230
|
+
* There is no version argument and there is deliberately no pin: the system is
|
|
4231
|
+
* addons-agnostic and `latest` is the whole contract at first boot (operator,
|
|
4232
|
+
* 2026-08-13). A copy already under the addon root is never replaced either —
|
|
4233
|
+
* bootstrap is seed-only, and overwriting a deployed bundle would be an
|
|
4234
|
+
* un-deploy ([D90](../../../../docs/decisions/adr-0090.md)).
|
|
4241
4235
|
*
|
|
4242
|
-
*
|
|
4243
|
-
* already under the addon root is left alone whatever its version. Replacing
|
|
4244
|
-
* it would be an un-deploy ([D90](../../../../docs/decisions/adr-0090.md)).
|
|
4236
|
+
* @param packages — optional custom package list (default: REQUIRED_PACKAGES)
|
|
4245
4237
|
*/
|
|
4246
|
-
async ensureRequiredPackages(packages
|
|
4238
|
+
async ensureRequiredPackages(packages) {
|
|
4247
4239
|
const pkgList = packages ?? AddonInstaller.REQUIRED_PACKAGES;
|
|
4248
4240
|
ensureDir(this.addonsDir);
|
|
4249
4241
|
const isLocal = this.installSource !== "npm" && this.workspaceDir != null;
|
|
@@ -4271,7 +4263,7 @@ var AddonInstaller = class AddonInstaller {
|
|
|
4271
4263
|
}
|
|
4272
4264
|
this.logger.info(`${packageName} — not found locally, trying npm`);
|
|
4273
4265
|
}
|
|
4274
|
-
await this.installFromNpm(packageName
|
|
4266
|
+
await this.installFromNpm(packageName);
|
|
4275
4267
|
} catch (err) {
|
|
4276
4268
|
const msg = require_dist.errMsg(err);
|
|
4277
4269
|
if (packageName === "@camstack/system") throw new Error(`Required package ${packageName} failed to install: ${msg}`, { cause: err });
|
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as __toCommonJS, i as __require, n as __esmMin, o as __toESM$1, r as __exportAll, t as __commonJSMin$1 } from "./chunk-CNf5ZN-e.mjs";
|
|
2
|
-
import { $ as objectInputDeclaresAddonId, At as emitDownForOwnedCaps, B as isArrayOutputSchema, Bt as scopeKey, Ct as ReadinessRegistry, Dt as asNumber, Et as asJsonObject$1, G as kebabToCamel, H as isObjectInput, Ht as EventCategory$1, It as parseJsonObject, K as lifecycleJobSchema, Lt as parseJsonUnknown$1, Mt as expandCapMethods, Ot as asString$1, R as extractNestedAddonId, Rt as readinessKey, V as isCollectionArrayMethod, W as isVoidInput, X as looseSchema, Y as logLevelAtMost, _t as DATAPLANE_SECRET_HEADER$1, d as METHOD_ACCESS_MAP, f as RUNTIME_DEFAULTS, ht as errMsg$1, it as scopesAllowDeviceCap, kt as createEvent, nt as procedureAuthKey, rt as scopesAllowAddon, t as ALL_CAPABILITY_DEFINITIONS, vt as DEVICE_SETTINGS_CONTRIBUTION_METHODS, wt as ReadinessTimeoutError, y as addonSettingsCapability, yt as DEVICE_STATUS_METHOD, zt as resolveCapMount } from "./dist-
|
|
2
|
+
import { $ as objectInputDeclaresAddonId, At as emitDownForOwnedCaps, B as isArrayOutputSchema, Bt as scopeKey, Ct as ReadinessRegistry, Dt as asNumber, Et as asJsonObject$1, G as kebabToCamel, H as isObjectInput, Ht as EventCategory$1, It as parseJsonObject, K as lifecycleJobSchema, Lt as parseJsonUnknown$1, Mt as expandCapMethods, Ot as asString$1, R as extractNestedAddonId, Rt as readinessKey, V as isCollectionArrayMethod, W as isVoidInput, X as looseSchema, Y as logLevelAtMost, _t as DATAPLANE_SECRET_HEADER$1, d as METHOD_ACCESS_MAP, f as RUNTIME_DEFAULTS, ht as errMsg$1, it as scopesAllowDeviceCap, kt as createEvent, nt as procedureAuthKey, rt as scopesAllowAddon, t as ALL_CAPABILITY_DEFINITIONS, vt as DEVICE_SETTINGS_CONTRIBUTION_METHODS, wt as ReadinessTimeoutError, y as addonSettingsCapability, yt as DEVICE_STATUS_METHOD, zt as resolveCapMount } from "./dist-B90N7AWO.mjs";
|
|
3
3
|
import { AlertCenterAddon } from "./builtins/alerts/alerts.addon.mjs";
|
|
4
4
|
import "./builtins/alerts/index.mjs";
|
|
5
5
|
import { t as formatLogLine } from "./formatter-B7qW8bPJ.mjs";
|
|
@@ -4219,23 +4219,15 @@ var AddonInstaller = class AddonInstaller {
|
|
|
4219
4219
|
* installs from the admin UI go through `install()` instead, which
|
|
4220
4220
|
* defaults to npm in production.
|
|
4221
4221
|
*
|
|
4222
|
-
*
|
|
4223
|
-
*
|
|
4224
|
-
*
|
|
4225
|
-
*
|
|
4226
|
-
*
|
|
4227
|
-
* image seed answers first today, so `latest` has never been the version a
|
|
4228
|
-
* node actually got. Once the image stops baking an addon tree under `/opt`
|
|
4229
|
-
* this call IS the answer, and it has to be the version the running closure was
|
|
4230
|
-
* published with — otherwise a node fetches latest-of-everything and its
|
|
4231
|
-
* addon set depends on the minute it first booted. Passing nothing keeps
|
|
4232
|
-
* exactly today's behaviour, and `launcher.ts` passes nothing yet.
|
|
4222
|
+
* There is no version argument and there is deliberately no pin: the system is
|
|
4223
|
+
* addons-agnostic and `latest` is the whole contract at first boot (operator,
|
|
4224
|
+
* 2026-08-13). A copy already under the addon root is never replaced either —
|
|
4225
|
+
* bootstrap is seed-only, and overwriting a deployed bundle would be an
|
|
4226
|
+
* un-deploy ([D90](../../../../docs/decisions/adr-0090.md)).
|
|
4233
4227
|
*
|
|
4234
|
-
*
|
|
4235
|
-
* already under the addon root is left alone whatever its version. Replacing
|
|
4236
|
-
* it would be an un-deploy ([D90](../../../../docs/decisions/adr-0090.md)).
|
|
4228
|
+
* @param packages — optional custom package list (default: REQUIRED_PACKAGES)
|
|
4237
4229
|
*/
|
|
4238
|
-
async ensureRequiredPackages(packages
|
|
4230
|
+
async ensureRequiredPackages(packages) {
|
|
4239
4231
|
const pkgList = packages ?? AddonInstaller.REQUIRED_PACKAGES;
|
|
4240
4232
|
ensureDir(this.addonsDir);
|
|
4241
4233
|
const isLocal = this.installSource !== "npm" && this.workspaceDir != null;
|
|
@@ -4263,7 +4255,7 @@ var AddonInstaller = class AddonInstaller {
|
|
|
4263
4255
|
}
|
|
4264
4256
|
this.logger.info(`${packageName} — not found locally, trying npm`);
|
|
4265
4257
|
}
|
|
4266
|
-
await this.installFromNpm(packageName
|
|
4258
|
+
await this.installFromNpm(packageName);
|
|
4267
4259
|
} catch (err) {
|
|
4268
4260
|
const msg = errMsg$1(err);
|
|
4269
4261
|
if (packageName === "@camstack/system") throw new Error(`Required package ${packageName} failed to install: ${msg}`, { cause: err });
|
|
@@ -186,23 +186,15 @@ export declare class AddonInstaller {
|
|
|
186
186
|
* installs from the admin UI go through `install()` instead, which
|
|
187
187
|
* defaults to npm in production.
|
|
188
188
|
*
|
|
189
|
+
* There is no version argument and there is deliberately no pin: the system is
|
|
190
|
+
* addons-agnostic and `latest` is the whole contract at first boot (operator,
|
|
191
|
+
* 2026-08-13). A copy already under the addon root is never replaced either —
|
|
192
|
+
* bootstrap is seed-only, and overwriting a deployed bundle would be an
|
|
193
|
+
* un-deploy ([D90](../../../../docs/decisions/adr-0090.md)).
|
|
194
|
+
*
|
|
189
195
|
* @param packages — optional custom package list (default: REQUIRED_PACKAGES)
|
|
190
|
-
* @param pins — optional `name → exact version` map. A named package is
|
|
191
|
-
* fetched at THAT version instead of the registry's `latest`.
|
|
192
|
-
*
|
|
193
|
-
* Preparation for [D45](../../../../docs/decisions/adr-0045.md) task 32: the
|
|
194
|
-
* image seed answers first today, so `latest` has never been the version a
|
|
195
|
-
* node actually got. Once the image stops baking an addon tree under `/opt`
|
|
196
|
-
* this call IS the answer, and it has to be the version the running closure was
|
|
197
|
-
* published with — otherwise a node fetches latest-of-everything and its
|
|
198
|
-
* addon set depends on the minute it first booted. Passing nothing keeps
|
|
199
|
-
* exactly today's behaviour, and `launcher.ts` passes nothing yet.
|
|
200
|
-
*
|
|
201
|
-
* A pin never triggers a re-install: bootstrap stays seed-only, so a copy
|
|
202
|
-
* already under the addon root is left alone whatever its version. Replacing
|
|
203
|
-
* it would be an un-deploy ([D90](../../../../docs/decisions/adr-0090.md)).
|
|
204
196
|
*/
|
|
205
|
-
ensureRequiredPackages(packages?: readonly string[]
|
|
197
|
+
ensureRequiredPackages(packages?: readonly string[]): Promise<void>;
|
|
206
198
|
/**
|
|
207
199
|
* Reconcile the install manifest against the addons actually present on
|
|
208
200
|
* disk: register seeded addons, correct a version that disagrees with the
|