@camstack/system 1.2.461 → 1.2.463
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 +21 -276
- package/dist/addon-runner.mjs +21 -276
- package/dist/{agent-https-Iw3RSQup.mjs → agent-https-B9gbXoJI.mjs} +1 -1
- package/dist/{agent-https-Dnr_nIVx.js → agent-https-DhFIbEwN.js} +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/autotrack/index.js +1 -1
- package/dist/builtins/autotrack/index.mjs +1 -1
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.d.ts +1 -3
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +51 -502
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +51 -502
- package/dist/builtins/backup-orchestrator/destination-policy.d.ts +5 -21
- package/dist/builtins/backup-orchestrator/record-kinds.d.ts +0 -2
- package/dist/builtins/backup-orchestrator/schedule-store.d.ts +5 -13
- package/dist/builtins/backup-orchestrator/seed-marker-store.d.ts +9 -19
- package/dist/builtins/calendars/calendars.addon.js +1 -1
- package/dist/builtins/calendars/calendars.addon.mjs +1 -1
- package/dist/builtins/camera-grid/index.js +1 -1
- package/dist/builtins/camera-grid/index.mjs +1 -1
- package/dist/builtins/cluster-agent/record-kinds.d.ts +0 -1
- package/dist/builtins/composer/composer.addon.js +2 -2
- package/dist/builtins/composer/composer.addon.mjs +2 -2
- package/dist/builtins/console-logging/index.js +1 -1
- package/dist/builtins/console-logging/index.mjs +1 -1
- package/dist/builtins/core-blocks/core-blocks.addon.js +2 -2
- package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
- package/dist/builtins/device-history/device-history.addon.js +1 -1
- package/dist/builtins/device-history/device-history.addon.mjs +1 -1
- package/dist/builtins/device-manager/device-manager.addon.js +2 -2
- package/dist/builtins/device-manager/device-manager.addon.mjs +2 -2
- package/dist/builtins/hub-forwarder/index.js +1 -1
- package/dist/builtins/hub-forwarder/index.mjs +1 -1
- package/dist/builtins/keychain/index.js +3 -3
- package/dist/builtins/keychain/index.mjs +3 -3
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
- package/dist/builtins/local-auth/auth-schema.d.ts +2 -12
- package/dist/builtins/local-auth/local-auth.addon.js +52 -191
- package/dist/builtins/local-auth/local-auth.addon.mjs +52 -191
- package/dist/builtins/local-auth/oauth-session-manager.d.ts +13 -4
- package/dist/builtins/local-auth/record-kinds.d.ts +1 -1
- package/dist/builtins/local-network/local-network.addon.js +2 -2
- package/dist/builtins/local-network/local-network.addon.mjs +2 -2
- package/dist/builtins/loki-logging/index.js +1 -1
- package/dist/builtins/loki-logging/index.mjs +1 -1
- package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
- package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
- package/dist/builtins/platform-probe/index.js +1 -1
- package/dist/builtins/platform-probe/index.mjs +1 -1
- package/dist/builtins/record-entries/index.js +1 -1
- package/dist/builtins/record-entries/index.mjs +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
- package/dist/builtins/snapshot/index.js +1 -1
- package/dist/builtins/snapshot/index.mjs +1 -1
- package/dist/builtins/sqlite-storage/file-host-protocol.d.ts +0 -9
- 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/index.js +1 -1
- package/dist/builtins/sqlite-storage/index.mjs +1 -1
- package/dist/builtins/sqlite-storage/owned-sqlite-file.d.ts +0 -8
- package/dist/builtins/sqlite-storage/records/records-sql.d.ts +0 -2
- package/dist/builtins/sqlite-storage/sqlite-settings-backend.d.ts +0 -28
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.d.ts +1 -2
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +6 -170
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +6 -170
- package/dist/builtins/sqlite-storage/storage-admin-provider.d.ts +3 -17
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
- package/dist/builtins/system-config/system-config.addon.js +3 -3
- package/dist/builtins/system-config/system-config.addon.mjs +3 -3
- package/dist/builtins/winston-logging/index.js +1 -1
- package/dist/builtins/winston-logging/index.mjs +1 -1
- package/dist/{composition-sources-DNRZWR1j.mjs → composition-sources-CGtooHSL.mjs} +1 -1
- package/dist/{composition-sources-b0e_2I-D.js → composition-sources-oXvmbMHX.js} +1 -1
- package/dist/{constants-6OeJiZgi.js → constants-5mrGZxwS.js} +1 -1
- package/dist/{constants-BnkOdj9Q.mjs → constants-CdutnpL9.mjs} +1 -1
- package/dist/{device-ca-CPTDs--d.js → device-ca-B3xUzps7.js} +1 -1
- package/dist/{device-ca-Bnkw8GyU.mjs → device-ca-DZHKlZlD.mjs} +1 -1
- package/dist/{dist-Wy8cTxg6.mjs → dist-C2OBCa-A.mjs} +40 -80
- package/dist/{dist-Bn-RNanh.js → dist-D9aw_d0G.js} +39 -91
- package/dist/file-host-worker.js +1 -1
- package/dist/file-host-worker.mjs +1 -1
- package/dist/{hub-mdns-ciao-CJu0nhla.mjs → hub-mdns-ciao-Bm09NrMS.mjs} +2 -2
- package/dist/{hub-mdns-ciao-CTBTlia4.js → hub-mdns-ciao-CFlhVKK6.js} +2 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.js +88 -240
- package/dist/index.mjs +89 -236
- package/dist/kernel/index.d.ts +0 -1
- package/dist/kernel/moleculer/runner-addon-settings.d.ts +1 -6
- package/dist/kernel/moleculer/runner-device-settings.d.ts +2 -2
- package/dist/{restore-archive-DM1OBYq4.js → restore-archive-6zkRREHO.js} +1 -1
- package/dist/{restore-archive-CM23Pq9B.mjs → restore-archive-CSOR_tyN.mjs} +1 -1
- package/dist/{retired-settings-keys-D_VwZiDt.js → retired-settings-keys-CGUqX-Oz.js} +0 -6
- package/dist/{retired-settings-keys-Bhwe4ymb.mjs → retired-settings-keys-C_Kjp-Bj.mjs} +1 -1
- package/dist/{wal-maintenance-Bj_MmDkr.mjs → wal-maintenance-Dg6IzSgz.mjs} +0 -0
- package/dist/{wal-maintenance-CaJjuLHq.js → wal-maintenance-jXcOxm2T.js} +0 -0
- package/package.json +1 -1
- package/dist/builtins/sqlite-storage/retired-collections.d.ts +0 -146
- package/dist/kernel/legacy-blob-guard.d.ts +0 -63
|
@@ -3,11 +3,11 @@ 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-D9aw_d0G.js");
|
|
7
7
|
const require_safe_buffer$1 = require("../../safe-buffer-D3aoa-7X.js");
|
|
8
8
|
const require_x509_es = require("../../x509.es-C4cOo48M.js");
|
|
9
|
-
const require_agent_https = require("../../agent-https-
|
|
10
|
-
const require_constants$8 = require("../../constants-
|
|
9
|
+
const require_agent_https = require("../../agent-https-DhFIbEwN.js");
|
|
10
|
+
const require_constants$8 = require("../../constants-5mrGZxwS.js");
|
|
11
11
|
const require_src$1 = require("../../src-CnAqG6EF.js");
|
|
12
12
|
let zod = require("zod");
|
|
13
13
|
let node_crypto = require("node:crypto");
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { a as __toCommonJS, i as __require, n as __esmMin, o as __toESM, r as __exportAll, t as __commonJSMin } from "../../chunk-CNf5ZN-e.mjs";
|
|
2
|
-
import {
|
|
2
|
+
import { $r as errMsg, Hi as defineCustomActions, Ji as hydrateSchema, Vi as customAction, ct as ServerNameSchema, ei as BaseAddon, yr as shortHostname } from "../../dist-C2OBCa-A.mjs";
|
|
3
3
|
import { t as require_safe_buffer } from "../../safe-buffer-B1OjL1I9.mjs";
|
|
4
4
|
import { S as backdatedNotBefore, a as KeyUsageFlags, c as Pkcs10CertificateRequest, d as SubjectKeyIdentifierExtension, f as X509Certificate$1, l as Pkcs10CertificateRequestGenerator, m as cryptoProvider, n as BasicConstraintsExtension, o as KeyUsagesExtension, p as X509CertificateGenerator, r as ExtendedKeyUsageExtension, s as PemConverter, t as AuthorityKeyIdentifierExtension } from "../../x509.es-DK__ETIe.mjs";
|
|
5
|
-
import { B as setProcessAgentHttpsNames, I as AGENT_HTTPS_NAMES_COLLECTION, L as AGENT_HTTPS_NAMES_COLUMNS, M as isLocalOnlyHostname, R as AgentHttpsNames, V as systemConfigRecordKinds, u as isPrivateAddress, z as getProcessAgentHttpsNames } from "../../agent-https-
|
|
6
|
-
import { a as MESH_CA_KEY_REF, c as SERVER_AUTH_OID, i as MESH_CA_FIELD, n as DEFAULT_HUB_TLS_TCP_PORT, o as MESH_CA_SETTINGS_KEY, r as MESH_CA_COMMON_NAME, s as MESH_CA_VALIDITY_DAYS, t as CLIENT_AUTH_OID } from "../../constants-
|
|
5
|
+
import { B as setProcessAgentHttpsNames, I as AGENT_HTTPS_NAMES_COLLECTION, L as AGENT_HTTPS_NAMES_COLUMNS, M as isLocalOnlyHostname, R as AgentHttpsNames, V as systemConfigRecordKinds, u as isPrivateAddress, z as getProcessAgentHttpsNames } from "../../agent-https-B9gbXoJI.mjs";
|
|
6
|
+
import { a as MESH_CA_KEY_REF, c as SERVER_AUTH_OID, i as MESH_CA_FIELD, n as DEFAULT_HUB_TLS_TCP_PORT, o as MESH_CA_SETTINGS_KEY, r as MESH_CA_COMMON_NAME, s as MESH_CA_VALIDITY_DAYS, t as CLIENT_AUTH_OID } from "../../constants-CdutnpL9.mjs";
|
|
7
7
|
import { t as require_src } from "../../src-hG4grMU4.mjs";
|
|
8
8
|
import { z } from "zod";
|
|
9
9
|
import { X509Certificate, createHash, createPrivateKey, randomBytes, randomInt, sign, timingSafeEqual, verify, webcrypto } from "node:crypto";
|
|
@@ -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-D9aw_d0G.js");
|
|
7
7
|
const require_formatter = require("../../formatter-DqAKDlvN.js");
|
|
8
8
|
const require_log_file_read_protocol = require("../../log-file-read-protocol-D0WcLbIV.js");
|
|
9
9
|
let node_path = require("node:path");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Ln as logDestinationCapability, ei as BaseAddon } from "../../dist-C2OBCa-A.mjs";
|
|
2
2
|
import { t as formatLogLine } from "../../formatter-B7qW8bPJ.mjs";
|
|
3
3
|
import { a as LogFileIndexStore, i as serveRead, n as isFromReader, t as CancelBook } from "../../log-file-read-protocol-B7M3X3bT.mjs";
|
|
4
4
|
import { createRequire } from "node:module";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { $r as errMsg, Kr as compositionSourceKey } from "./dist-C2OBCa-A.mjs";
|
|
2
2
|
//#region src/builtins/core-blocks/composition-sources.ts
|
|
3
3
|
/**
|
|
4
4
|
* Describe what a composition reads and writes for SAVE-time validation
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** `secret://system/global/meshCaKey` — EC P-256 PKCS#8 PEM of the hub mesh CA. */
|
|
2
|
-
var MESH_CA_KEY_REF = require("./dist-
|
|
2
|
+
var MESH_CA_KEY_REF = require("./dist-D9aw_d0G.js").buildSecretRef({
|
|
3
3
|
owner: "system",
|
|
4
4
|
scope: { kind: "global" },
|
|
5
5
|
fieldPath: "meshCaKey"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as DEVICE_SAN_CREDENTIAL_PREFIX,
|
|
1
|
+
import { A as DEVICE_SAN_CREDENTIAL_PREFIX, Fi as buildSecretRef, j as DEVICE_SAN_USER_PREFIX } from "./dist-C2OBCa-A.mjs";
|
|
2
2
|
import { S as backdatedNotBefore, a as KeyUsageFlags, d as SubjectKeyIdentifierExtension, f as X509Certificate$1, m as cryptoProvider, n as BasicConstraintsExtension, o as KeyUsagesExtension, p as X509CertificateGenerator, r as ExtendedKeyUsageExtension, s as PemConverter, t as AuthorityKeyIdentifierExtension, u as SubjectAlternativeNameExtension } from "./x509.es-DK__ETIe.mjs";
|
|
3
3
|
import { X509Certificate, createPublicKey, randomBytes, verify, webcrypto } from "node:crypto";
|
|
4
4
|
//#region src/auth/jwt-signing-key.ts
|
|
@@ -745,7 +745,7 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
745
745
|
return EventCategory;
|
|
746
746
|
}({});
|
|
747
747
|
//#endregion
|
|
748
|
-
//#region ../types/dist/sleep-
|
|
748
|
+
//#region ../types/dist/sleep-_sV1BE2f.mjs
|
|
749
749
|
/**
|
|
750
750
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
751
751
|
* window to float samples (D455).
|
|
@@ -857,21 +857,21 @@ function collectSecretConfigKeys(schema) {
|
|
|
857
857
|
for (const section of sectionsOf(schema)) for (const field of fieldsOf(section)) walkField(field, keys);
|
|
858
858
|
return keys;
|
|
859
859
|
}
|
|
860
|
-
function isRecord$
|
|
860
|
+
function isRecord$7(value) {
|
|
861
861
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
862
862
|
}
|
|
863
863
|
function sectionsOf(schema) {
|
|
864
|
-
if (!isRecord$
|
|
864
|
+
if (!isRecord$7(schema)) return [];
|
|
865
865
|
const sections = schema["sections"];
|
|
866
866
|
return Array.isArray(sections) ? sections : [];
|
|
867
867
|
}
|
|
868
868
|
function fieldsOf(node) {
|
|
869
|
-
if (!isRecord$
|
|
869
|
+
if (!isRecord$7(node)) return [];
|
|
870
870
|
const fields = node["fields"];
|
|
871
871
|
return Array.isArray(fields) ? fields : [];
|
|
872
872
|
}
|
|
873
873
|
function walkField(field, out) {
|
|
874
|
-
if (!isRecord$
|
|
874
|
+
if (!isRecord$7(field)) return;
|
|
875
875
|
const type = field["type"];
|
|
876
876
|
const key = field["key"];
|
|
877
877
|
if ((type === "password" || field["secret"] === true) && typeof key === "string" && key.length > 0) out.add(key);
|
|
@@ -909,7 +909,7 @@ function walkField(field, out) {
|
|
|
909
909
|
var SECRET_CLEAR = { $secretClear: true };
|
|
910
910
|
/** The `'***'` token D634 redaction writes for non-admins. */
|
|
911
911
|
var LEGACY_DEVICE_REDACTION = "***";
|
|
912
|
-
function isRecord$
|
|
912
|
+
function isRecord$6(value) {
|
|
913
913
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
914
914
|
}
|
|
915
915
|
function makeSecretMarker(ref) {
|
|
@@ -920,16 +920,16 @@ function makeSecretMarker(ref) {
|
|
|
920
920
|
}
|
|
921
921
|
/** A stored marker: an object whose `$secret` is a non-empty string. */
|
|
922
922
|
function isSecretMarker(value) {
|
|
923
|
-
if (!isRecord$
|
|
923
|
+
if (!isRecord$6(value)) return false;
|
|
924
924
|
const ref = value["$secret"];
|
|
925
925
|
return typeof ref === "string" && ref.length > 0;
|
|
926
926
|
}
|
|
927
927
|
/** Anything carrying a `$secret` key — a stored marker or a UI view of one. */
|
|
928
928
|
function isSecretMarkerLike(value) {
|
|
929
|
-
return isRecord$
|
|
929
|
+
return isRecord$6(value) && Object.prototype.hasOwnProperty.call(value, "$secret");
|
|
930
930
|
}
|
|
931
931
|
function isSecretClear(value) {
|
|
932
|
-
return isRecord$
|
|
932
|
+
return isRecord$6(value) && value["$secretClear"] === true;
|
|
933
933
|
}
|
|
934
934
|
/**
|
|
935
935
|
* The UI view of a stored secret field value: a marker becomes "set", inline
|
|
@@ -1598,7 +1598,7 @@ var KeychainWriteRefusedError = class extends Error {
|
|
|
1598
1598
|
}
|
|
1599
1599
|
};
|
|
1600
1600
|
var KEEP = { kind: "keep" };
|
|
1601
|
-
function isRecord$
|
|
1601
|
+
function isRecord$5(value) {
|
|
1602
1602
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
1603
1603
|
}
|
|
1604
1604
|
function defaultMintId() {
|
|
@@ -1611,7 +1611,7 @@ function collectSecretMarkerRefs(value, out = []) {
|
|
|
1611
1611
|
return out;
|
|
1612
1612
|
}
|
|
1613
1613
|
if (Array.isArray(value)) for (const item of value) collectSecretMarkerRefs(item, out);
|
|
1614
|
-
else if (isRecord$
|
|
1614
|
+
else if (isRecord$5(value)) for (const child of Object.values(value)) collectSecretMarkerRefs(child, out);
|
|
1615
1615
|
return out;
|
|
1616
1616
|
}
|
|
1617
1617
|
async function storedValueEquals(secrets, marker, candidate) {
|
|
@@ -1666,7 +1666,7 @@ function rowId(row, idKey) {
|
|
|
1666
1666
|
return null;
|
|
1667
1667
|
}
|
|
1668
1668
|
async function writeArray(ctx, node, incoming, stored, fieldPath) {
|
|
1669
|
-
const storedRows = Array.isArray(stored) ? stored.filter(isRecord$
|
|
1669
|
+
const storedRows = Array.isArray(stored) ? stored.filter(isRecord$5) : [];
|
|
1670
1670
|
if (!Array.isArray(incoming)) {
|
|
1671
1671
|
ctx.deletes.push(...collectSecretMarkerRefs(storedRows));
|
|
1672
1672
|
return {
|
|
@@ -1682,7 +1682,7 @@ async function writeArray(ctx, node, incoming, stored, fieldPath) {
|
|
|
1682
1682
|
const kept = /* @__PURE__ */ new Set();
|
|
1683
1683
|
const rows = [];
|
|
1684
1684
|
for (const row of incoming) {
|
|
1685
|
-
if (!isRecord$
|
|
1685
|
+
if (!isRecord$5(row)) {
|
|
1686
1686
|
rows.push(row);
|
|
1687
1687
|
continue;
|
|
1688
1688
|
}
|
|
@@ -1707,7 +1707,7 @@ async function writeNode(ctx, node, incoming, stored, fieldPath) {
|
|
|
1707
1707
|
case "leaf": return writeLeaf(ctx, incoming, stored, fieldPath);
|
|
1708
1708
|
case "array": return writeArray(ctx, node, incoming, stored, fieldPath);
|
|
1709
1709
|
case "object": {
|
|
1710
|
-
if (!isRecord$
|
|
1710
|
+
if (!isRecord$5(incoming)) {
|
|
1711
1711
|
if (incoming === void 0) return KEEP;
|
|
1712
1712
|
ctx.deletes.push(...collectSecretMarkerRefs(stored));
|
|
1713
1713
|
return {
|
|
@@ -1715,7 +1715,7 @@ async function writeNode(ctx, node, incoming, stored, fieldPath) {
|
|
|
1715
1715
|
value: incoming
|
|
1716
1716
|
};
|
|
1717
1717
|
}
|
|
1718
|
-
const storedObj = isRecord$
|
|
1718
|
+
const storedObj = isRecord$5(stored) ? stored : {};
|
|
1719
1719
|
return {
|
|
1720
1720
|
kind: "value",
|
|
1721
1721
|
value: await writeMembers(ctx, node.children, incoming, storedObj, (m) => `${fieldPath}.${m}`)
|
|
@@ -1838,7 +1838,7 @@ async function resolveSecretMarkers(value, secrets, options = {}) {
|
|
|
1838
1838
|
value: items
|
|
1839
1839
|
};
|
|
1840
1840
|
}
|
|
1841
|
-
if (isRecord$
|
|
1841
|
+
if (isRecord$5(v)) {
|
|
1842
1842
|
const out = {};
|
|
1843
1843
|
for (const [k, child] of Object.entries(v)) {
|
|
1844
1844
|
const s = substitute(child);
|
|
@@ -1870,7 +1870,7 @@ var SecretOverwriteRefusedError = class extends Error {
|
|
|
1870
1870
|
this.name = "SecretOverwriteRefusedError";
|
|
1871
1871
|
}
|
|
1872
1872
|
};
|
|
1873
|
-
function isRecord$
|
|
1873
|
+
function isRecord$4(value) {
|
|
1874
1874
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
1875
1875
|
}
|
|
1876
1876
|
function resolvedValue(pass, marker) {
|
|
@@ -1899,7 +1899,7 @@ function inArray(pass, incoming, stored) {
|
|
|
1899
1899
|
return incoming.map((item, index) => {
|
|
1900
1900
|
const twin = stored[index];
|
|
1901
1901
|
if (isSecretMarker(twin)) return typeof item === "string" && item === resolvedValue(pass, twin) ? twin : item;
|
|
1902
|
-
if (isRecord$
|
|
1902
|
+
if (isRecord$4(item) && isRecord$4(twin)) return inArrayRow(pass, item, twin);
|
|
1903
1903
|
if (Array.isArray(item) && Array.isArray(twin)) return inArray(pass, item, twin);
|
|
1904
1904
|
return item;
|
|
1905
1905
|
});
|
|
@@ -1910,7 +1910,7 @@ function inArrayRow(pass, incoming, stored) {
|
|
|
1910
1910
|
const twin = stored[key];
|
|
1911
1911
|
if (isSecretMarker(twin)) {
|
|
1912
1912
|
if (typeof value === "string" && value === resolvedValue(pass, twin)) out[key] = twin;
|
|
1913
|
-
} else if (isRecord$
|
|
1913
|
+
} else if (isRecord$4(value) && isRecord$4(twin)) out[key] = inArrayRow(pass, value, twin);
|
|
1914
1914
|
else if (Array.isArray(value) && Array.isArray(twin)) out[key] = inArray(pass, value, twin);
|
|
1915
1915
|
}
|
|
1916
1916
|
return out;
|
|
@@ -1918,7 +1918,7 @@ function inArrayRow(pass, incoming, stored) {
|
|
|
1918
1918
|
async function walk(pass, incoming, stored) {
|
|
1919
1919
|
if (isSecretMarker(stored)) return atMarker(pass, incoming, stored);
|
|
1920
1920
|
if (Array.isArray(incoming) && Array.isArray(stored)) return inArray(pass, incoming, stored);
|
|
1921
|
-
if (!isRecord$
|
|
1921
|
+
if (!isRecord$4(incoming) || !isRecord$4(stored)) return incoming;
|
|
1922
1922
|
const out = { ...incoming };
|
|
1923
1923
|
for (const [key, value] of Object.entries(incoming)) out[key] = await walk(pass, value, stored[key]);
|
|
1924
1924
|
return out;
|
|
@@ -1949,7 +1949,7 @@ async function restoreUnchangedSecrets(input) {
|
|
|
1949
1949
|
function isJsonEqual(a, b) {
|
|
1950
1950
|
if (Object.is(a, b)) return true;
|
|
1951
1951
|
if (Array.isArray(a)) return Array.isArray(b) && a.length === b.length && a.every((v, i) => isJsonEqual(v, b[i]));
|
|
1952
|
-
if (isRecord$
|
|
1952
|
+
if (isRecord$4(a) && isRecord$4(b)) {
|
|
1953
1953
|
const keys = Object.keys(a);
|
|
1954
1954
|
if (keys.length !== Object.keys(b).length) return false;
|
|
1955
1955
|
return keys.every((k) => Object.prototype.hasOwnProperty.call(b, k) && isJsonEqual(a[k], b[k]));
|
|
@@ -1973,7 +1973,7 @@ function markerKeysOf(blob, owner) {
|
|
|
1973
1973
|
}
|
|
1974
1974
|
function nodeFromStored(value, owner) {
|
|
1975
1975
|
if (isSecretMarker(value)) return isSecretRefOwnedBy(value.$secret, owner) ? { kind: "leaf" } : null;
|
|
1976
|
-
if (!isRecord$
|
|
1976
|
+
if (!isRecord$4(value)) return null;
|
|
1977
1977
|
const children = /* @__PURE__ */ new Map();
|
|
1978
1978
|
for (const [key, child] of Object.entries(value)) {
|
|
1979
1979
|
const node = nodeFromStored(child, owner);
|
|
@@ -3507,11 +3507,11 @@ function secretArrayPrefixes(path) {
|
|
|
3507
3507
|
}
|
|
3508
3508
|
return prefixes;
|
|
3509
3509
|
}
|
|
3510
|
-
function isRecord$
|
|
3510
|
+
function isRecord$3(value) {
|
|
3511
3511
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
3512
3512
|
}
|
|
3513
3513
|
function elementId(element, idKey, declared, prefix) {
|
|
3514
|
-
const id = isRecord$
|
|
3514
|
+
const id = isRecord$3(element) ? element[idKey] : void 0;
|
|
3515
3515
|
if (typeof id !== "string" || id.length === 0) throw new InvalidRecordError(`"${declared}": every element of "${prefix}" needs a non-empty string "${idKey}" to carry a secret`);
|
|
3516
3516
|
return id;
|
|
3517
3517
|
}
|
|
@@ -3522,7 +3522,7 @@ function elementId(element, idKey, declared, prefix) {
|
|
|
3522
3522
|
*/
|
|
3523
3523
|
var REMOVE_LEAF = Symbol("remove-leaf");
|
|
3524
3524
|
function mapAt(node, segments, index, walkedKeys, concretePrefix, declared, arrayKeys, visit) {
|
|
3525
|
-
if (!isRecord$
|
|
3525
|
+
if (!isRecord$3(node)) return node;
|
|
3526
3526
|
const segment = segments[index];
|
|
3527
3527
|
if (segment === void 0) return node;
|
|
3528
3528
|
if (!Object.prototype.hasOwnProperty.call(node, segment.key)) return node;
|
|
@@ -17401,36 +17401,13 @@ var StorageKindSchema = z.object({
|
|
|
17401
17401
|
declaration: RecordKindDeclarationSchema
|
|
17402
17402
|
});
|
|
17403
17403
|
/**
|
|
17404
|
-
*
|
|
17405
|
-
*
|
|
17406
|
-
*
|
|
17407
|
-
* these, the per-addon scoped `addon-settings` / `addon-devices` / `sections`
|
|
17408
|
-
* tables, and the tables of owners that are no longer installed - nothing else.
|
|
17409
|
-
* The records-migration leftovers (D871 `stats-5m`, the phase-0 tables) were
|
|
17410
|
-
* dropped by hand on the operator hubs and left this list with D900.
|
|
17411
|
-
*/
|
|
17412
|
-
var STORAGE_ADMIN_MOVED_COLLECTIONS = [
|
|
17413
|
-
"stream-broker:probe-snapshots",
|
|
17414
|
-
"stream-broker:profile-map",
|
|
17415
|
-
"stream-broker:rtsp-tokens",
|
|
17416
|
-
"notification-center:device-mutes",
|
|
17417
|
-
"recorder:recording-configs",
|
|
17418
|
-
"pipeline-orchestrator:device-features"
|
|
17419
|
-
];
|
|
17420
|
-
/** The per-addon blob tables a scoped name may carry. */
|
|
17421
|
-
var STORAGE_ADMIN_SCOPED_BASES = [
|
|
17422
|
-
"addon-settings",
|
|
17423
|
-
"addon-devices",
|
|
17424
|
-
"sections"
|
|
17425
|
-
];
|
|
17426
|
-
/**
|
|
17427
|
-
* storage-admin - the operator's maintenance reach into the settings database:
|
|
17428
|
-
* list its tables, drop one that nothing owns any more (D870).
|
|
17404
|
+
* storage-admin - the operator's maintenance reach into the databases: list
|
|
17405
|
+
* their tables and record kinds, read a kind for diagnosis. Read-only: a table
|
|
17406
|
+
* the code no longer creates is dropped by hand, offline (D901).
|
|
17429
17407
|
*
|
|
17430
17408
|
* Hub-only, internal and `auth: 'admin'` explicitly (`internal` does not gate
|
|
17431
|
-
* the mount, see `data-store-provider`).
|
|
17432
|
-
* with the
|
|
17433
|
-
* migration and is marked for removal once the last hub has run it.
|
|
17409
|
+
* the mount, see `data-store-provider`). `listTables` is LOGGED by the engine
|
|
17410
|
+
* with the counts.
|
|
17434
17411
|
*
|
|
17435
17412
|
* `listTables` is READ-ONLY: it never creates a table, which `count` and `get`
|
|
17436
17413
|
* on an undeclared scoped name used to do.
|
|
@@ -17446,26 +17423,6 @@ var storageAdminCapability = {
|
|
|
17446
17423
|
* optionally only those owned by `ownerPrefix`. Reads only.
|
|
17447
17424
|
*/
|
|
17448
17425
|
listTables: method(z.object({ ownerPrefix: z.string().min(1).optional() }), z.object({ tables: z.array(StorageTableSchema) }), { auth: "admin" }),
|
|
17449
|
-
/**
|
|
17450
|
-
* Drop one table. REFUSES when an addon declared it since the engine
|
|
17451
|
-
* started (a running addon still owns it), when it is an engine or
|
|
17452
|
-
* canonical table, when it does not exist, or when its row count is not
|
|
17453
|
-
* `expectRows` - the caller states what it believes it is deleting. The
|
|
17454
|
-
* engine also refuses anything but `<owner>:(addon-settings|addon-devices|
|
|
17455
|
-
* sections)`, the retired collections by name, and tables of owners that
|
|
17456
|
-
* are not installed (and refuses when it cannot read the installed list).
|
|
17457
|
-
* Removed with the D870 migration script once the last hub ran it.
|
|
17458
|
-
*/
|
|
17459
|
-
dropCollection: method(z.object({
|
|
17460
|
-
collection: z.string().min(1),
|
|
17461
|
-
expectRows: z.number().int().nonnegative()
|
|
17462
|
-
}), z.object({
|
|
17463
|
-
dropped: z.literal(true),
|
|
17464
|
-
rows: z.number().int().nonnegative()
|
|
17465
|
-
}), {
|
|
17466
|
-
kind: "mutation",
|
|
17467
|
-
auth: "admin"
|
|
17468
|
-
}),
|
|
17469
17426
|
/** Every record kind of both files with rows, a size estimate, class and retention (D881). */
|
|
17470
17427
|
listKinds: method(z.object({
|
|
17471
17428
|
owner: z.string().min(1).optional(),
|
|
@@ -45847,6 +45804,15 @@ var NcMediaPolicySchema = z.object({
|
|
|
45847
45804
|
* Replaces `zoneCrop`.
|
|
45848
45805
|
*/
|
|
45849
45806
|
showTriggerZone: z.boolean().optional(),
|
|
45807
|
+
/**
|
|
45808
|
+
* Draw the SUBJECT'S PATH on the picture — a line in the subject's colour
|
|
45809
|
+
* through the track's positions up to the frame shown, the same path the
|
|
45810
|
+
* debug views draw (`buildSubjectPath`, D903). Every picture mode a subject
|
|
45811
|
+
* is drawn on: a `crop` maps the path into the crop and clips it. Valid only
|
|
45812
|
+
* on a rule whose subject is a tracked object (refused on a sound rule);
|
|
45813
|
+
* dropped on `image: 'none'`. Absent = off.
|
|
45814
|
+
*/
|
|
45815
|
+
showSubjectPath: z.boolean().optional(),
|
|
45850
45816
|
/** @deprecated D897 — accepted from an editor that predates `image`, folded into it on save. */
|
|
45851
45817
|
attach: z.enum([
|
|
45852
45818
|
"best",
|
|
@@ -82127,12 +82093,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
82127
82093
|
addonId: null,
|
|
82128
82094
|
access: "create"
|
|
82129
82095
|
},
|
|
82130
|
-
"storageAdmin.dropCollection": {
|
|
82131
|
-
capName: "storage-admin",
|
|
82132
|
-
capScope: "system",
|
|
82133
|
-
addonId: null,
|
|
82134
|
-
access: "delete"
|
|
82135
|
-
},
|
|
82136
82096
|
"storageAdmin.listKinds": {
|
|
82137
82097
|
capName: "storage-admin",
|
|
82138
82098
|
capScope: "system",
|
|
@@ -88838,4 +88798,4 @@ function armRemovalReconcile(opts) {
|
|
|
88838
88798
|
return () => clearInterval(timer);
|
|
88839
88799
|
}
|
|
88840
88800
|
//#endregion
|
|
88841
|
-
export { PreferenceDeviceIdSchema as $,
|
|
88801
|
+
export { PreferenceDeviceIdSchema as $, isSecretMarker as $i, platformProbeCapability as $n, errMsg as $r, deviceExtensionCapability as $t, DEVICE_SAN_CREDENTIAL_PREFIX as A, WELL_KNOWN_TAB_MAP as Ai, keychainAdminCapability as An, supportedRuntimes as Ar, buildDeviceSignatureMessage as At, HISTORY_CATALOG as B, createEvent as Bi, mayReadLocation as Bn, cloneStatefulExpressionMemory as Br, coreBlockComposition as Bt, DATABASE_SNAPSHOT_TIMEOUT_MS as C, EventCategory as Ca, RecordNotFoundError as Ci, isCollectionArrayMethod as Cn, storageAdminCapability as Cr, armRemovalReconcile as Ct, DEVICE_ENROLLMENT_TTL_MS as D, SECRET_CLEAR as Di, isObjectInput as Dn, storageProviderCapability as Dr, batteryCapability as Dt, DERIVED_CAMERA_SILENCED_CAP_NAMES as E, RevConflictError as Ei, isLocationEnabled as En, storageOccupancyCapability as Er, bareAddonId as Et, DeviceStatusSchema as F, buildSecretRef as Fi, localNetworkCapability as Fn, vectorIndexDimConflictError as Fr, checkRoleAddress as Ft, KeychainResetRecordSchema as G, emitReadiness as Gi, motionCapability as Gn, compositionSliceKey as Gr, dataStoreProviderCapability as Gt, HUB_MDNS_TXT_KEYS as H, defineCustomActions as Hi, memoizePinnedFfmpeg as Hn, composedDeviceStableId as Hr, coreBlockSourceKind as Ht, DeviceTombstoneSchema as I, collectSecretConfigKeys as Ii, locationIconKey as In, vectorStoreCapability as Ir, composerCapability as It, METHOD_ACCESS_MAP as J, hydrateSchema as Ji, objectInputDeclaresAddonId as Jn, disarmRoseMemory as Jr, decodeVectorBase64 as Jt, LOG_LEVEL_RANK as K, expandCapMethods as Ki, normalizeCoreBlockWrite as Kn, compositionSourceKey as Kr, databaseSnapshotCapability as Kt, FIRST_LEVEL_MACRO_CLASSES as L, collectSecretLeaves as Li, logDestinationCapability as Ln, withLocationMode as Lr, compositionFieldKey as Lt, DEVICE_TOMBSTONE_RETENTION_MS as M, asNumber as Mi, legacyAutoLinkIds as Mn, validateComposition as Mr, calendarsCapability as Mt, DataStoreDatabaseSchema as N, asString$1 as Ni, legacyModeOf as Nn, validateCustomAddress as Nr, cameraGridLayoutCapability as Nt, DEVICE_HISTORY_ENERGY_KEY as O, UnindexedFilterError as Oi, isVoidInput as On, streamCatalogCapability as Or, buildCapabilityLookup as Ot, DeclaredDevices as P, assertValidDeclaration as Pi, lifecycleJobSchema as Pn, vectorDimFromBase64 as Pr, canonicalIconKey as Pt, PREFERENCES_MAX_VALUE_BYTES as Q, isSecretClear as Qi, planComposition as Qn, DeviceType as Qr, deviceCredentialsCapability as Qt, FieldClaimModeSchema as R, collectSecretMarkerRefs as Ri, logLevelAtMost as Rn, COMPOSER_ADDON_ID as Rr, compositionSourceRefs as Rt, DATABASE_SNAPSHOT_SUFFIX as S, withoutCallerStamp as Sa, RecordKindDeclarationSchema as Si, isArrayOutputSchema as Sn, splitTranslationRef as Sr, alertsCapability as St, DAY_NAMES as T, RecordUniqueViolationError as Ti, isDefaultAppConnectionEndpoint as Tn, storageMigrationCapability as Tr, backupCapability as Tt, KEYCHAIN_RESET_TRIGGER_ACTOR as U, defineRecordKinds as Ui, metricsProviderCapability as Un, compositionFeatureEnabled as Ur, coreBlocksCapability as Ut, HUB_MDNS_SERVICE_TYPE as V, customAction as Vi, mayWriteToLocation as Vn, composedDeviceRef as Vr, coreBlockIdFromAddonId as Vt, KeychainAuditEntrySchema as W, emitDownForOwnedCaps as Wi, modeMayWrite as Wn, compositionItemFieldPath as Wr, createDeviceExtensionProvider as Wt, MOTION_CLOSE_AFTER_MS as X, isEvent as Xi, parseStreamParamsFormPatch as Xn, DeviceFeature as Xr, deriveBatteryPresence as Xt, MINUTES_PER_DAY as Y, isDeviceConfigCap as Yi, objectInputDeclaresRequiredDeviceId as Yn, toExpressionValue as Yr, defineExtensionSlotProvider as Yt, NetworkTunnelStartedDataSchema as Z, isKeychainStoredField as Zi, pickAppLinkHub as Zn, DeviceRole as Zr, describeComposableCaps as Zt, CalendarPreferencesSchema as _, sleep as _a, REDACTED_SECRET as _i, gbToBytes as _n, scoreRuntimes as _r, addonPagesCapability as _t, ApiKeyRecordSchema as a, normalizeNodeId as aa, DEVICE_STATUS_METHOD as ai, enumerateInferenceDevices as an, replacedFieldKeys as ar, STORAGE_ACCESS_FALLBACK as at, CredentialTokenClaimsSchema as b, transformSecretWrite as ba, ReadinessRegistry as bi, isAlertEpisodeSeverity as bn, siteZoneKey as br, alertEpisodeId as bt, CAMERA_SWITCH_ORDER as c, parseJsonUnknown as ca, ForeignSecretMarkerError as ci, evaluateCompositionField as cn, resolveCoreBlockEntry as cr, ServerNameSchema as ct, CATALOG_LANGS as d, recordSecretRef as da, NoCallerError as di, expressionContainsBuiltinCall as dn, resolveLocationMode as dr, StorageLocationModeSchema as dt, isSecretMarkerLike as ea, BaseAddon as ei, deviceHistoryCapability as en, procedureAuthKey as er, PreferenceNamespaceSchema as et, COMPOSED_ITEM_FIXED_FIELDS as f, resolveCapMount as fa, PlaintextSecretError as fi, extractNestedAddonId as fn, resolveMethodAuth as fr, StorageLocationTypeSchema as ft, CREDENTIAL_TOKEN_AUDIENCE as g, secretTreeFromSchema as ga, RECORD_SWEEP_INTERVAL_MS as gi, formatMinutes as gn, scopesAllowDeviceCap as gr, UserRecordSchema as gt, CORE_BLOCK_ADDON_PREFIX as h, secretTreeFromPaths as ha, RECORD_DELETE_BATCH as hi, formatDeviceRevoker as hn, scopesAllowAddon as hr, UNATTRIBUTED_BUCKET_KEY as ht, AlertSchema as i, nodePin as ia, DEVICE_SETTINGS_CONTRIBUTION_METHODS as ii, deviceStatusCapability as in, reducePoints as ir, RecordingStatusSchema as it, DEVICE_SAN_USER_PREFIX as j, asJsonObject as ji, keychainCapability as jn, userManagementCapability as jr, buildStreamParamsConfigSchema as jt, DEVICE_NONCE_TTL_MS as k, UnknownRecordKindError as ki, kebabToCamel as kn, streamQualityLabel as kr, buildDeviceEnrollmentLink as kt, CAMSTACK_APP_LINK_ORIGIN as l, parseSecretRef as la, HISTORY_DEFAULT_MIN_INTERVAL_MS as li, evictionPolicyOfLocation as ln, resolveCoreBlockFiles as lr, SsoBridgeClaimsSchema as lt, CORE_BLOCKS_ADDON_ID as m, scopeKey as ma, RECORD_BATCH_MAX_BYTES as mi, foldSnapshotByFunction as mn, runtimeStatePolicyFor as mr, TokenScopeSchema as mt, AGENT_MDNS_TXT_KEYS as n, makeSecretMarker as na, CALLER_STAMPED_CAPABILITIES as ni, deviceRemovalHookCapability as nn, recordEntriesCapability as nr, RECORDING_SOURCE_CAMSTACK_ADDON as nt, BaseDevice as o, normalizeSecretOwner as oa, DeclarationRefusedError as oi, enumerateItemArrayFields as on, resolveAppConnections as or, STREAM_PROFILE_META as ot, COMPOSER_RUNNER_ID as p, resolveSecretMarkers as pa, RECORD_BATCH_MAX as pi, filesystemBrowseCapability as pn, resolveNotificationTapAddress as pr, StorageMigrationJobSchema as pt, LegacyStorageLocationDefaultSchema as q, formatSecretScope as qi, normalizeUnit as qn, createStatefulExpressionMemory as qr, declarationOwnerNodeId as qt, ALL_CAPABILITY_DEFINITIONS as r, mapSecretLeaves as ra, DATAPLANE_SECRET_HEADER as ri, deviceStateCapability as rn, recordsCapability as rr, ROOT_BUCKET_KEY as rt, BatteryStatusSchema as s, parseJsonObject as sa, FilterRequiredError as si, enumerateSchemaFields as sn, resolveBucketMs as sr, ScopedTokenSchema as st, AGENT_MDNS_SERVICE_TYPE as t, isSecretRefOwnedBy as ta, BatchTooLargeError as ti, deviceManagerCapability as tn, ptzAutotrackCapability as tr, PreferenceValueSchema as tt, CAP_NAMES_WITH_STATUS as u, readinessKey as ua, InvalidRecordError as ui, expandContainer as un, resolveHubAddressRoles as ur, StorageCleanupJobSchema as ut, CatalogFileSchema as v, toNodeId as va, REMOVE_LEAF as vi, interpolate as vn, settingsStoreCapability as vr, addonSettingsCapability as vt, DATA_STORE_DATABASES as w, RecordTooLargeError as wi, isCredentialTokenPayload as wn, storageCapability as wr, authProviderCapability as wt, DATABASE_SNAPSHOT_PARTIAL_SUFFIX as x, userError as xa, ReadinessTimeoutError as xi, isAppLinkBase as xn, snapshotCapability as xr, alertEpisodePayload as xt, CoreBlockSchema as y, toSecretFieldView as ya, RUNTIME_DEFAULTS as yi, isAlertEpisodeOpen as yn, shortHostname as yr, addonWidgetsCapability as yt, FieldClaimSchema as z, collectZodSecretPaths as zi, looseSchema as zn, buildFfmpegArgs as zr, coreBlockAddonId as zt };
|