@camstack/system 1.2.458 → 1.2.459
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/{agent-https-DOELEug8.js → agent-https-Dnr_nIVx.js} +3 -723
- package/dist/{agent-https-CQA3W-3e.mjs → agent-https-Iw3RSQup.mjs} +4 -616
- 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 +5 -7
- package/dist/builtins/alerts/alerts.addon.mjs +5 -7
- package/dist/builtins/alerts/record-kinds.d.ts +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.js +242 -4
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +240 -2
- package/dist/builtins/calendars/calendars.addon.js +2 -10
- package/dist/builtins/calendars/calendars.addon.mjs +2 -3
- package/dist/builtins/calendars/record-kinds.d.ts +1 -1
- package/dist/builtins/camera-grid/index.js +1 -1
- package/dist/builtins/camera-grid/index.mjs +1 -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 +4 -6
- package/dist/builtins/core-blocks/core-blocks.addon.mjs +4 -6
- 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 -4
- package/dist/builtins/device-manager/device-manager.addon.mjs +2 -4
- package/dist/builtins/hub-forwarder/index.js +1 -1
- package/dist/builtins/hub-forwarder/index.mjs +1 -1
- package/dist/builtins/keychain/index.js +41 -43
- package/dist/builtins/keychain/index.mjs +41 -43
- 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 +24 -40
- package/dist/builtins/local-auth/local-auth.addon.mjs +24 -40
- 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/native-metrics/node-metrics-history-recorder.d.ts +1 -2
- 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 -15
- 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 -44
- package/dist/builtins/sqlite-storage/records/records-catalog.d.ts +0 -2
- package/dist/builtins/sqlite-storage/records/records-engine-types.d.ts +0 -21
- package/dist/builtins/sqlite-storage/records/records-engine.d.ts +3 -20
- package/dist/builtins/sqlite-storage/records/records-provider.d.ts +4 -18
- package/dist/builtins/sqlite-storage/records/records-sql.d.ts +1 -1
- package/dist/builtins/sqlite-storage/sqlite-settings-backend.d.ts +0 -17
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +21 -196
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +21 -196
- package/dist/builtins/sqlite-storage/storage-admin-provider.d.ts +6 -14
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.d.ts +2 -2
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +7 -9
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +7 -9
- package/dist/builtins/system-config/system-config.addon.js +667 -40
- package/dist/builtins/system-config/system-config.addon.mjs +625 -15
- package/dist/builtins/winston-logging/index.js +1 -1
- package/dist/builtins/winston-logging/index.mjs +1 -1
- package/dist/{composition-sources-BVguN7VV.mjs → composition-sources-DNRZWR1j.mjs} +1 -1
- package/dist/{composition-sources-DURQNDJ4.js → composition-sources-b0e_2I-D.js} +1 -1
- package/dist/{constants-Njka8Cv6.js → constants-6OeJiZgi.js} +1 -1
- package/dist/{constants-FGjnsE2x.mjs → constants-BnkOdj9Q.mjs} +1 -1
- package/dist/{device-ca-lEaAQ9Xi.mjs → device-ca-Bnkw8GyU.mjs} +1 -1
- package/dist/{device-ca-BrVK_5s3.js → device-ca-CPTDs--d.js} +1 -1
- package/dist/{dist-BZQjLPiz.js → dist-Bn-RNanh.js} +29 -130
- package/dist/{dist-B_GRPhnY.mjs → dist-Wy8cTxg6.mjs} +30 -113
- package/dist/file-host-worker.js +1 -1
- package/dist/file-host-worker.mjs +1 -1
- package/dist/{hub-mdns-ciao-Bg2HfTwP.mjs → hub-mdns-ciao-CJu0nhla.mjs} +2 -2
- package/dist/{hub-mdns-ciao-nce3TXs_.js → hub-mdns-ciao-CTBTlia4.js} +2 -2
- package/dist/index.js +27 -30
- package/dist/index.mjs +11 -14
- package/dist/{restore-archive-C7kLDI_0.mjs → restore-archive-CmP-iiG9.mjs} +84 -331
- package/dist/{restore-archive-FyfZ8YMC.js → restore-archive-DM1OBYq4.js} +89 -342
- package/dist/{wal-maintenance-DfSIOj24.js → wal-maintenance-DUHEp_09.js} +0 -0
- package/dist/{wal-maintenance-Duejh7Lx.mjs → wal-maintenance-NKbwWovZ.mjs} +0 -0
- package/package.json +1 -1
- package/dist/builtins/records/legacy-table-row-count.d.ts +0 -5
- package/dist/builtins/records/phase6-declare-gate.d.ts +0 -28
- package/dist/builtins/sqlite-storage/records/count-settings-array-legacy.d.ts +0 -5
- package/dist/builtins/sqlite-storage/records/count-settings-brokers-legacy.d.ts +0 -6
- package/dist/phase6-declare-gate-Dag1_WR2.js +0 -98
- package/dist/phase6-declare-gate-Lb-mrVvz.mjs +0 -93
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Gi as defineRecordKinds, Pt as calendarsCapability, _ as CalendarPreferencesSchema, ni as BaseAddon } from "../../dist-Wy8cTxg6.mjs";
|
|
2
2
|
import { t as settleSourcesWithTimeout } from "../../settle-sources-CDtNC8ub.mjs";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
//#region src/builtins/calendars/calendar-color.ts
|
|
@@ -39,8 +39,7 @@ var _calendarsRecordKinds = defineRecordKinds({ "user-prefs": {
|
|
|
39
39
|
name: "updated_at",
|
|
40
40
|
fields: ["updatedAt"]
|
|
41
41
|
}],
|
|
42
|
-
retention: { none: "a missing row reads as empty prefs (all visible, system colours)" }
|
|
43
|
-
adoptsFrom: "calendars:user-prefs"
|
|
42
|
+
retention: { none: "a missing row reads as empty prefs (all visible, system colours)" }
|
|
44
43
|
} });
|
|
45
44
|
var calendarsRecordKinds = _calendarsRecordKinds;
|
|
46
45
|
_calendarsRecordKinds["user-prefs"];
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { CalendarPreferencesSchema, type DefinedRecordKind } from "@camstack/types";
|
|
5
5
|
import { z } from "zod";
|
|
6
|
-
/**
|
|
6
|
+
/** The legacy collection the kind replaced; read only without records. */
|
|
7
7
|
export declare const CALENDARS_USER_PREFS_COLLECTION = "calendars:user-prefs";
|
|
8
8
|
export type CalendarUserPrefsBody = {
|
|
9
9
|
readonly calendars: z.infer<typeof CalendarPreferencesSchema.shape.calendars>;
|
|
@@ -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-Bn-RNanh.js");
|
|
7
7
|
let zod = require("zod");
|
|
8
8
|
let _camstack_types_node = require("@camstack/types/node");
|
|
9
9
|
let node_path = require("node:path");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Ar as streamCatalogCapability, Cr as snapshotCapability, E as DERIVED_CAMERA_SILENCED_CAP_NAMES, Ft as cameraGridLayoutCapability, Hi as createEvent,
|
|
1
|
+
import { Ar as streamCatalogCapability, Cr as snapshotCapability, E as DERIVED_CAMERA_SILENCED_CAP_NAMES, Ft as cameraGridLayoutCapability, Hi as createEvent, P as DeclaredDevices, Qr as DeviceFeature, Ta as EventCategory, Vr as buildFfmpegArgs, Wn as memoizePinnedFfmpeg, X as MOTION_CLOSE_AFTER_MS, Xi as hydrateSchema, Yt as declarationOwnerNodeId, ei as DeviceType, ni as BaseAddon, o as BaseDevice, qn as motionCapability, ti as errMsg } from "../../dist-Wy8cTxg6.mjs";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { FfmpegProcess } from "@camstack/types/node";
|
|
4
4
|
import { join } from "node:path";
|
|
@@ -3,8 +3,8 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
7
|
-
const require_composition_sources = require("../../composition-sources-
|
|
6
|
+
const require_dist = require("../../dist-Bn-RNanh.js");
|
|
7
|
+
const require_composition_sources = require("../../composition-sources-b0e_2I-D.js");
|
|
8
8
|
let zod = require("zod");
|
|
9
9
|
//#region src/builtins/shared/device-state-changed.ts
|
|
10
10
|
/** Structural narrowing helper for untrusted bus payloads. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { At as buildCapabilityLookup, Br as COMPOSER_ADDON_ID, Gr as compositionFeatureEnabled, Hi as createEvent, Hr as cloneStatefulExpressionMemory, Jr as compositionSourceKey, Kr as compositionItemFieldPath,
|
|
2
|
-
import { n as normalizedNativeOwner } from "../../composition-sources-
|
|
1
|
+
import { At as buildCapabilityLookup, Br as COMPOSER_ADDON_ID, Gr as compositionFeatureEnabled, Hi as createEvent, Hr as cloneStatefulExpressionMemory, Jr as compositionSourceKey, Kr as compositionItemFieldPath, P as DeclaredDevices, Rt as composerCapability, Ta as EventCategory, Ur as composedDeviceRef, Wr as composedDeviceStableId, Xr as disarmRoseMemory, Yr as createStatefulExpressionMemory, Zr as toExpressionValue, ei as DeviceType, er as planComposition, f as COMPOSED_ITEM_FIXED_FIELDS, ni as BaseAddon, o as BaseDevice, pn as expressionContainsBuiltinCall, qr as compositionSliceKey, r as ALL_CAPABILITY_DEFINITIONS, ti as errMsg, un as evaluateCompositionField, zt as compositionFieldKey } from "../../dist-Wy8cTxg6.mjs";
|
|
2
|
+
import { n as normalizedNativeOwner } from "../../composition-sources-DNRZWR1j.mjs";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
//#region src/builtins/shared/device-state-changed.ts
|
|
5
5
|
/** Structural narrowing helper for untrusted bus payloads. */
|
|
@@ -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-Bn-RNanh.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 { ni as BaseAddon, zn as logDestinationCapability } from "../../dist-
|
|
1
|
+
import { ni as BaseAddon, zn as logDestinationCapability } from "../../dist-Wy8cTxg6.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,8 +1,8 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_chunk = require("../../chunk-Cek0wNdY.js");
|
|
3
|
-
const require_dist = require("../../dist-
|
|
3
|
+
const require_dist = require("../../dist-Bn-RNanh.js");
|
|
4
4
|
const require_read_all_rows$1 = require("../../read-all-rows-CVoO1ONM.js");
|
|
5
|
-
const require_composition_sources = require("../../composition-sources-
|
|
5
|
+
const require_composition_sources = require("../../composition-sources-b0e_2I-D.js");
|
|
6
6
|
const require_prefix_range = require("../../prefix-range-D_KueXbQ.js");
|
|
7
7
|
const require_prefix_walk = require("../../prefix-walk-Dv6MLZlM.js");
|
|
8
8
|
let zod = require("zod");
|
|
@@ -531,8 +531,7 @@ var _coreBlocksRecordKinds = require_dist.defineRecordKinds({
|
|
|
531
531
|
fields: ["enabled"]
|
|
532
532
|
}],
|
|
533
533
|
retention: { none: "operator delete only" },
|
|
534
|
-
maxDataBytes: 256 * 1024
|
|
535
|
-
adoptsFrom: CORE_BLOCKS_COLLECTION
|
|
534
|
+
maxDataBytes: 256 * 1024
|
|
536
535
|
},
|
|
537
536
|
settings: {
|
|
538
537
|
schema: CoreBlockSettingsBodySchema,
|
|
@@ -540,8 +539,7 @@ var _coreBlocksRecordKinds = require_dist.defineRecordKinds({
|
|
|
540
539
|
writeTrigger: "legacy only — migrateRawSecrets reads then deletes rows (D880)",
|
|
541
540
|
device: "none",
|
|
542
541
|
at: "none",
|
|
543
|
-
retention: { none: "rows deleted by migrateRawSecrets" }
|
|
544
|
-
adoptsFrom: CORE_BLOCK_SETTINGS_COLLECTION
|
|
542
|
+
retention: { none: "rows deleted by migrateRawSecrets" }
|
|
545
543
|
}
|
|
546
544
|
});
|
|
547
545
|
var coreBlocksRecordKinds = _coreBlocksRecordKinds;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { $t as describeComposableCaps, At as buildCapabilityLookup, Bi as collectSecretMarkerRefs, Bt as compositionSourceRefs, Gt as coreBlocksCapability, Ht as coreBlockComposition, Jn as normalizeCoreBlockWrite, Jr as compositionSourceKey,
|
|
1
|
+
import { $t as describeComposableCaps, At as buildCapabilityLookup, Bi as collectSecretMarkerRefs, Bt as compositionSourceRefs, Gi as defineRecordKinds, Gt as coreBlocksCapability, Ht as coreBlockComposition, Jn as normalizeCoreBlockWrite, Jr as compositionSourceKey, P as DeclaredDevices, Pr as validateComposition, Sa as transformSecretWrite, Ur as composedDeviceRef, Ut as coreBlockIdFromAddonId, Vt as coreBlockAddonId, Wt as coreBlockSourceKind, Xi as hydrateSchema, dr as resolveCoreBlockFiles, er as planComposition, h as CORE_BLOCK_ADDON_PREFIX, ha as resolveSecretMarkers, m as CORE_BLOCKS_ADDON_ID, ni as BaseAddon, p as COMPOSER_RUNNER_ID, r as ALL_CAPABILITY_DEFINITIONS, ra as isSecretRefOwnedBy, sr as replacedFieldKeys, ta as isSecretMarker, ti as errMsg, ur as resolveCoreBlockEntry, va as secretTreeFromSchema, y as CoreBlockSchema } from "../../dist-Wy8cTxg6.mjs";
|
|
2
2
|
import { t as require_read_all_rows } from "../../read-all-rows-TaPqdWNF.mjs";
|
|
3
|
-
import { t as describeCompositionSources } from "../../composition-sources-
|
|
3
|
+
import { t as describeCompositionSources } from "../../composition-sources-DNRZWR1j.mjs";
|
|
4
4
|
import { t as prefixRange } from "../../prefix-range-Dl0znowN.mjs";
|
|
5
5
|
import { n as unwrapStoredValue, t as loadPrefixed } from "../../prefix-walk-DAOBSyH1.mjs";
|
|
6
6
|
import { createRequire } from "node:module";
|
|
@@ -526,8 +526,7 @@ var _coreBlocksRecordKinds = defineRecordKinds({
|
|
|
526
526
|
fields: ["enabled"]
|
|
527
527
|
}],
|
|
528
528
|
retention: { none: "operator delete only" },
|
|
529
|
-
maxDataBytes: 256 * 1024
|
|
530
|
-
adoptsFrom: CORE_BLOCKS_COLLECTION
|
|
529
|
+
maxDataBytes: 256 * 1024
|
|
531
530
|
},
|
|
532
531
|
settings: {
|
|
533
532
|
schema: CoreBlockSettingsBodySchema,
|
|
@@ -535,8 +534,7 @@ var _coreBlocksRecordKinds = defineRecordKinds({
|
|
|
535
534
|
writeTrigger: "legacy only — migrateRawSecrets reads then deletes rows (D880)",
|
|
536
535
|
device: "none",
|
|
537
536
|
at: "none",
|
|
538
|
-
retention: { none: "rows deleted by migrateRawSecrets" }
|
|
539
|
-
adoptsFrom: CORE_BLOCK_SETTINGS_COLLECTION
|
|
537
|
+
retention: { none: "rows deleted by migrateRawSecrets" }
|
|
540
538
|
}
|
|
541
539
|
});
|
|
542
540
|
var coreBlocksRecordKinds = _coreBlocksRecordKinds;
|
|
@@ -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-Bn-RNanh.js");
|
|
7
7
|
//#region src/builtins/device-history/time/bucket-time.ts
|
|
8
8
|
/**
|
|
9
9
|
* Bucket arithmetic for the three rollup tiers (D850, plan §4/§5.5).
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as HISTORY_CATALOG,
|
|
1
|
+
import { B as HISTORY_CATALOG, O as DEVICE_HISTORY_ENERGY_KEY, Ta as EventCategory, Tt as armRemovalReconcile, di as HISTORY_DEFAULT_MIN_INTERVAL_MS, ei as DeviceType, in as deviceRemovalHookCapability, ni as BaseAddon, nn as deviceHistoryCapability, qi as emitReadiness } from "../../dist-Wy8cTxg6.mjs";
|
|
2
2
|
//#region src/builtins/device-history/time/bucket-time.ts
|
|
3
3
|
/**
|
|
4
4
|
* Bucket arithmetic for the three rollup tiers (D850, plan §4/§5.5).
|
|
@@ -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-Bn-RNanh.js");
|
|
7
7
|
const require_read_all_rows$1 = require("../../read-all-rows-CVoO1ONM.js");
|
|
8
8
|
const require_prefix_range = require("../../prefix-range-D_KueXbQ.js");
|
|
9
9
|
const require_prefix_walk = require("../../prefix-walk-Dv6MLZlM.js");
|
|
@@ -7894,8 +7894,7 @@ var _deviceManagerRecordKinds = require_dist.defineRecordKinds({ tombstones: {
|
|
|
7894
7894
|
retention: {
|
|
7895
7895
|
owner: "device-manager",
|
|
7896
7896
|
reason: "90 days (`DEVICE_TOMBSTONE_RETENTION_MS`), pruned whenever a tombstone is written or the list is read"
|
|
7897
|
-
}
|
|
7898
|
-
adoptsFrom: DEVICE_TOMBSTONES_COLLECTION
|
|
7897
|
+
}
|
|
7899
7898
|
} });
|
|
7900
7899
|
var deviceManagerRecordKinds = _deviceManagerRecordKinds;
|
|
7901
7900
|
_deviceManagerRecordKinds.tombstones;
|
|
@@ -7904,7 +7903,6 @@ _deviceManagerRecordKinds.tombstones;
|
|
|
7904
7903
|
/**
|
|
7905
7904
|
* The tombstones of deleted devices (D865) — `tombstones` record kind (phase 4).
|
|
7906
7905
|
*/
|
|
7907
|
-
var DEVICE_TOMBSTONES_COLLECTION = "device-manager:tombstones";
|
|
7908
7906
|
/** More than the engine's default row cap, so a read is never silently truncated. */
|
|
7909
7907
|
var TOMBSTONE_READ_LIMIT = 2e4;
|
|
7910
7908
|
function rowToTombstone(id, body) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $r as DeviceRole,
|
|
1
|
+
import { $i as isKeychainStoredField, $r as DeviceRole, Ca as userError, F as DeviceStatusSchema, Gi as defineRecordKinds, I as DeviceTombstoneSchema, It as canonicalIconKey, Kt as createDeviceExtensionProvider, Mi as WELL_KNOWN_TAB_MAP, Nt as buildStreamParamsConfigSchema, Pn as legacyAutoLinkIds, Qn as parseStreamParamsFormPatch, Qr as DeviceFeature, R as FieldClaimModeSchema, Rn as locationIconKey, Sa as transformSecretWrite, Sr as siteZoneKey, T as DAY_NAMES, Ta as EventCategory, Vi as collectZodSecretPaths, Y as MINUTES_PER_DAY, Yn as normalizeUnit, Zi as isDeviceConfigCap, Zt as defineExtensionSlotProvider, _a as secretTreeFromPaths, an as deviceStateCapability, c as CAMERA_SWITCH_ORDER, cn as enumerateItemArrayFields, ct as STREAM_PROFILE_META, ea as isSecretClear, ei as DeviceType, fn as expandContainer, gr as runtimeStatePolicyFor, ha as resolveSecretMarkers, ki as SECRET_CLEAR, ln as enumerateSchemaFields, na as isSecretMarkerLike, ni as BaseAddon, on as deviceStatusCapability, r as ALL_CAPABILITY_DEFINITIONS, rn as deviceManagerCapability, ta as isSecretMarker, ti as errMsg, tn as deviceExtensionCapability, u as CAP_NAMES_WITH_STATUS, vn as formatMinutes, xa as toSecretFieldView, ya as sleep$1, z as FieldClaimSchema } from "../../dist-Wy8cTxg6.mjs";
|
|
2
2
|
import { t as require_read_all_rows } from "../../read-all-rows-TaPqdWNF.mjs";
|
|
3
3
|
import { t as prefixRange } from "../../prefix-range-Dl0znowN.mjs";
|
|
4
4
|
import { t as loadPrefixed } from "../../prefix-walk-DAOBSyH1.mjs";
|
|
@@ -7888,8 +7888,7 @@ var _deviceManagerRecordKinds = defineRecordKinds({ tombstones: {
|
|
|
7888
7888
|
retention: {
|
|
7889
7889
|
owner: "device-manager",
|
|
7890
7890
|
reason: "90 days (`DEVICE_TOMBSTONE_RETENTION_MS`), pruned whenever a tombstone is written or the list is read"
|
|
7891
|
-
}
|
|
7892
|
-
adoptsFrom: DEVICE_TOMBSTONES_COLLECTION
|
|
7891
|
+
}
|
|
7893
7892
|
} });
|
|
7894
7893
|
var deviceManagerRecordKinds = _deviceManagerRecordKinds;
|
|
7895
7894
|
_deviceManagerRecordKinds.tombstones;
|
|
@@ -7898,7 +7897,6 @@ _deviceManagerRecordKinds.tombstones;
|
|
|
7898
7897
|
/**
|
|
7899
7898
|
* The tombstones of deleted devices (D865) — `tombstones` record kind (phase 4).
|
|
7900
7899
|
*/
|
|
7901
|
-
var DEVICE_TOMBSTONES_COLLECTION = "device-manager:tombstones";
|
|
7902
7900
|
/** More than the engine's default row cap, so a read is never silently truncated. */
|
|
7903
7901
|
var TOMBSTONE_READ_LIMIT = 2e4;
|
|
7904
7902
|
function rowToTombstone(id, body) {
|
|
@@ -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-Bn-RNanh.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 { ni as BaseAddon, zn as logDestinationCapability } from "../../dist-
|
|
1
|
+
import { ni as BaseAddon, zn as logDestinationCapability } from "../../dist-Wy8cTxg6.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,11 +3,10 @@ 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-Bn-RNanh.js");
|
|
7
7
|
const require_read_all_rows$1 = require("../../read-all-rows-CVoO1ONM.js");
|
|
8
|
-
const require_device_ca = require("../../device-ca-
|
|
9
|
-
const
|
|
10
|
-
const require_constants = require("../../constants-Njka8Cv6.js");
|
|
8
|
+
const require_device_ca = require("../../device-ca-CPTDs--d.js");
|
|
9
|
+
const require_constants = require("../../constants-6OeJiZgi.js");
|
|
11
10
|
const require_platform_key_source = require("../../platform-key-source-Di7HrlGR.js");
|
|
12
11
|
let node_crypto = require("node:crypto");
|
|
13
12
|
let _camstack_types_node = require("@camstack/types/node");
|
|
@@ -1072,6 +1071,42 @@ function errMsg(err) {
|
|
|
1072
1071
|
return err instanceof Error ? err.message : String(err);
|
|
1073
1072
|
}
|
|
1074
1073
|
require_dist.EventCategory.KeychainChanged;
|
|
1074
|
+
var KeychainAuditBodySchema = require_dist.KeychainAuditEntrySchema.omit({
|
|
1075
|
+
id: true,
|
|
1076
|
+
at: true
|
|
1077
|
+
});
|
|
1078
|
+
var KeychainResetBodySchema = require_dist.KeychainResetRecordSchema.omit({
|
|
1079
|
+
id: true,
|
|
1080
|
+
at: true
|
|
1081
|
+
});
|
|
1082
|
+
var _keychainRecordKinds = require_dist.defineRecordKinds({
|
|
1083
|
+
audit: {
|
|
1084
|
+
schema: KeychainAuditBodySchema,
|
|
1085
|
+
class: "audit",
|
|
1086
|
+
writeTrigger: "one row per write / delete / rotation / reveal / recovery download",
|
|
1087
|
+
device: "none",
|
|
1088
|
+
at: "required",
|
|
1089
|
+
indexes: [{
|
|
1090
|
+
name: "audit_at",
|
|
1091
|
+
fields: ["at"]
|
|
1092
|
+
}],
|
|
1093
|
+
retention: {
|
|
1094
|
+
owner: "keychain",
|
|
1095
|
+
reason: "90 days and at most 20_000 rows, pruned at boot and daily"
|
|
1096
|
+
}
|
|
1097
|
+
},
|
|
1098
|
+
resets: {
|
|
1099
|
+
schema: KeychainResetBodySchema,
|
|
1100
|
+
class: "config",
|
|
1101
|
+
writeTrigger: "one row per keychain reset (System → Secrets, or the RESET_KEYCHAIN trigger file); acknowledgeReset stamps acknowledgedAt",
|
|
1102
|
+
device: "none",
|
|
1103
|
+
at: "required",
|
|
1104
|
+
retention: { none: "a handful of rows over a hub life; they name archive tables a reset left behind" }
|
|
1105
|
+
}
|
|
1106
|
+
});
|
|
1107
|
+
var keychainRecordKinds = _keychainRecordKinds;
|
|
1108
|
+
_keychainRecordKinds.audit;
|
|
1109
|
+
_keychainRecordKinds.resets;
|
|
1075
1110
|
//#endregion
|
|
1076
1111
|
//#region src/builtins/keychain/keychain-store.ts
|
|
1077
1112
|
var import_read_all_rows = require_read_all_rows$1.require_read_all_rows();
|
|
@@ -1718,44 +1753,6 @@ var KeychainRepository = class {
|
|
|
1718
1753
|
return row === void 0 ? null : toResetRecord(row.id, row.data);
|
|
1719
1754
|
}
|
|
1720
1755
|
};
|
|
1721
|
-
var KeychainAuditBodySchema = require_dist.KeychainAuditEntrySchema.omit({
|
|
1722
|
-
id: true,
|
|
1723
|
-
at: true
|
|
1724
|
-
});
|
|
1725
|
-
var KeychainResetBodySchema = require_dist.KeychainResetRecordSchema.omit({
|
|
1726
|
-
id: true,
|
|
1727
|
-
at: true
|
|
1728
|
-
});
|
|
1729
|
-
var _keychainRecordKinds = require_dist.defineRecordKinds({
|
|
1730
|
-
audit: {
|
|
1731
|
-
schema: KeychainAuditBodySchema,
|
|
1732
|
-
class: "audit",
|
|
1733
|
-
writeTrigger: "one row per write / delete / rotation / reveal / recovery download",
|
|
1734
|
-
device: "none",
|
|
1735
|
-
at: "required",
|
|
1736
|
-
indexes: [{
|
|
1737
|
-
name: "audit_at",
|
|
1738
|
-
fields: ["at"]
|
|
1739
|
-
}],
|
|
1740
|
-
retention: {
|
|
1741
|
-
owner: "keychain",
|
|
1742
|
-
reason: "90 days and at most 20_000 rows, pruned at boot and daily"
|
|
1743
|
-
},
|
|
1744
|
-
adoptsFrom: KEYCHAIN_AUDIT_COLLECTION
|
|
1745
|
-
},
|
|
1746
|
-
resets: {
|
|
1747
|
-
schema: KeychainResetBodySchema,
|
|
1748
|
-
class: "config",
|
|
1749
|
-
writeTrigger: "one row per keychain reset (System → Secrets, or the RESET_KEYCHAIN trigger file); acknowledgeReset stamps acknowledgedAt",
|
|
1750
|
-
device: "none",
|
|
1751
|
-
at: "required",
|
|
1752
|
-
retention: { none: "a handful of rows over a hub life; they name archive tables a reset left behind" },
|
|
1753
|
-
adoptsFrom: KEYCHAIN_RESETS_COLLECTION
|
|
1754
|
-
}
|
|
1755
|
-
});
|
|
1756
|
-
var keychainRecordKinds = _keychainRecordKinds;
|
|
1757
|
-
_keychainRecordKinds.audit;
|
|
1758
|
-
_keychainRecordKinds.resets;
|
|
1759
1756
|
//#endregion
|
|
1760
1757
|
//#region src/builtins/keychain/keychain-usage.ts
|
|
1761
1758
|
/**
|
|
@@ -1953,8 +1950,9 @@ var KeychainAddon = class extends require_dist.BaseAddon {
|
|
|
1953
1950
|
error: (message, meta) => ctx.logger.error(message, meta ? { meta } : void 0)
|
|
1954
1951
|
};
|
|
1955
1952
|
const records = ctx.records;
|
|
1953
|
+
if (records !== void 0) await records.declare(keychainRecordKinds);
|
|
1956
1954
|
const service = new KeychainService({
|
|
1957
|
-
repo: new KeychainRepository(door, records !== void 0
|
|
1955
|
+
repo: new KeychainRepository(door, records !== void 0 ? KeychainRepository.recordStoresOf(records) : void 0),
|
|
1958
1956
|
candidates: async () => {
|
|
1959
1957
|
return buildKeySourceCandidates({
|
|
1960
1958
|
config: readKeyConfig(await ctx.settings?.getSection("keychain") ?? {}),
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { G as KeychainResetRecordSchema,
|
|
1
|
+
import { G as KeychainResetRecordSchema, Gi as defineRecordKinds, Mn as keychainAdminCapability, Nn as keychainCapability, Ta as EventCategory, U as KEYCHAIN_RESET_TRIGGER_ACTOR, W as KeychainAuditEntrySchema, Yi as formatSecretScope, ca as normalizeSecretOwner, da as parseSecretRef, ni as BaseAddon } from "../../dist-Wy8cTxg6.mjs";
|
|
2
2
|
import { t as require_read_all_rows } from "../../read-all-rows-TaPqdWNF.mjs";
|
|
3
|
-
import { d as JWT_SIGNING_KEY_REF, n as DEVICE_CA_KEY_REF, p as SYSTEM_SECRET_OWNER } from "../../device-ca-
|
|
4
|
-
import {
|
|
5
|
-
import { a as MESH_CA_KEY_REF } from "../../constants-FGjnsE2x.mjs";
|
|
3
|
+
import { d as JWT_SIGNING_KEY_REF, n as DEVICE_CA_KEY_REF, p as SYSTEM_SECRET_OWNER } from "../../device-ca-Bnkw8GyU.mjs";
|
|
4
|
+
import { a as MESH_CA_KEY_REF } from "../../constants-BnkOdj9Q.mjs";
|
|
6
5
|
import { n as getPlatformKeychainKey } from "../../platform-key-source-BWlq0jjn.mjs";
|
|
7
6
|
import { createCipheriv, createDecipheriv, createHmac, randomBytes, randomUUID, timingSafeEqual } from "node:crypto";
|
|
8
7
|
import { restrictDirToOwnerSync, restrictFileToOwnerSync, writeOwnerOnlyFileSync } from "@camstack/types/node";
|
|
@@ -1066,6 +1065,42 @@ function errMsg(err) {
|
|
|
1066
1065
|
return err instanceof Error ? err.message : String(err);
|
|
1067
1066
|
}
|
|
1068
1067
|
EventCategory.KeychainChanged;
|
|
1068
|
+
var KeychainAuditBodySchema = KeychainAuditEntrySchema.omit({
|
|
1069
|
+
id: true,
|
|
1070
|
+
at: true
|
|
1071
|
+
});
|
|
1072
|
+
var KeychainResetBodySchema = KeychainResetRecordSchema.omit({
|
|
1073
|
+
id: true,
|
|
1074
|
+
at: true
|
|
1075
|
+
});
|
|
1076
|
+
var _keychainRecordKinds = defineRecordKinds({
|
|
1077
|
+
audit: {
|
|
1078
|
+
schema: KeychainAuditBodySchema,
|
|
1079
|
+
class: "audit",
|
|
1080
|
+
writeTrigger: "one row per write / delete / rotation / reveal / recovery download",
|
|
1081
|
+
device: "none",
|
|
1082
|
+
at: "required",
|
|
1083
|
+
indexes: [{
|
|
1084
|
+
name: "audit_at",
|
|
1085
|
+
fields: ["at"]
|
|
1086
|
+
}],
|
|
1087
|
+
retention: {
|
|
1088
|
+
owner: "keychain",
|
|
1089
|
+
reason: "90 days and at most 20_000 rows, pruned at boot and daily"
|
|
1090
|
+
}
|
|
1091
|
+
},
|
|
1092
|
+
resets: {
|
|
1093
|
+
schema: KeychainResetBodySchema,
|
|
1094
|
+
class: "config",
|
|
1095
|
+
writeTrigger: "one row per keychain reset (System → Secrets, or the RESET_KEYCHAIN trigger file); acknowledgeReset stamps acknowledgedAt",
|
|
1096
|
+
device: "none",
|
|
1097
|
+
at: "required",
|
|
1098
|
+
retention: { none: "a handful of rows over a hub life; they name archive tables a reset left behind" }
|
|
1099
|
+
}
|
|
1100
|
+
});
|
|
1101
|
+
var keychainRecordKinds = _keychainRecordKinds;
|
|
1102
|
+
_keychainRecordKinds.audit;
|
|
1103
|
+
_keychainRecordKinds.resets;
|
|
1069
1104
|
//#endregion
|
|
1070
1105
|
//#region src/builtins/keychain/keychain-store.ts
|
|
1071
1106
|
var import_read_all_rows = require_read_all_rows();
|
|
@@ -1712,44 +1747,6 @@ var KeychainRepository = class {
|
|
|
1712
1747
|
return row === void 0 ? null : toResetRecord(row.id, row.data);
|
|
1713
1748
|
}
|
|
1714
1749
|
};
|
|
1715
|
-
var KeychainAuditBodySchema = KeychainAuditEntrySchema.omit({
|
|
1716
|
-
id: true,
|
|
1717
|
-
at: true
|
|
1718
|
-
});
|
|
1719
|
-
var KeychainResetBodySchema = KeychainResetRecordSchema.omit({
|
|
1720
|
-
id: true,
|
|
1721
|
-
at: true
|
|
1722
|
-
});
|
|
1723
|
-
var _keychainRecordKinds = defineRecordKinds({
|
|
1724
|
-
audit: {
|
|
1725
|
-
schema: KeychainAuditBodySchema,
|
|
1726
|
-
class: "audit",
|
|
1727
|
-
writeTrigger: "one row per write / delete / rotation / reveal / recovery download",
|
|
1728
|
-
device: "none",
|
|
1729
|
-
at: "required",
|
|
1730
|
-
indexes: [{
|
|
1731
|
-
name: "audit_at",
|
|
1732
|
-
fields: ["at"]
|
|
1733
|
-
}],
|
|
1734
|
-
retention: {
|
|
1735
|
-
owner: "keychain",
|
|
1736
|
-
reason: "90 days and at most 20_000 rows, pruned at boot and daily"
|
|
1737
|
-
},
|
|
1738
|
-
adoptsFrom: KEYCHAIN_AUDIT_COLLECTION
|
|
1739
|
-
},
|
|
1740
|
-
resets: {
|
|
1741
|
-
schema: KeychainResetBodySchema,
|
|
1742
|
-
class: "config",
|
|
1743
|
-
writeTrigger: "one row per keychain reset (System → Secrets, or the RESET_KEYCHAIN trigger file); acknowledgeReset stamps acknowledgedAt",
|
|
1744
|
-
device: "none",
|
|
1745
|
-
at: "required",
|
|
1746
|
-
retention: { none: "a handful of rows over a hub life; they name archive tables a reset left behind" },
|
|
1747
|
-
adoptsFrom: KEYCHAIN_RESETS_COLLECTION
|
|
1748
|
-
}
|
|
1749
|
-
});
|
|
1750
|
-
var keychainRecordKinds = _keychainRecordKinds;
|
|
1751
|
-
_keychainRecordKinds.audit;
|
|
1752
|
-
_keychainRecordKinds.resets;
|
|
1753
1750
|
//#endregion
|
|
1754
1751
|
//#region src/builtins/keychain/keychain-usage.ts
|
|
1755
1752
|
/**
|
|
@@ -1947,8 +1944,9 @@ var KeychainAddon = class extends BaseAddon {
|
|
|
1947
1944
|
error: (message, meta) => ctx.logger.error(message, meta ? { meta } : void 0)
|
|
1948
1945
|
};
|
|
1949
1946
|
const records = ctx.records;
|
|
1947
|
+
if (records !== void 0) await records.declare(keychainRecordKinds);
|
|
1950
1948
|
const service = new KeychainService({
|
|
1951
|
-
repo: new KeychainRepository(door, records !== void 0
|
|
1949
|
+
repo: new KeychainRepository(door, records !== void 0 ? KeychainRepository.recordStoresOf(records) : void 0),
|
|
1952
1950
|
candidates: async () => {
|
|
1953
1951
|
return buildKeySourceCandidates({
|
|
1954
1952
|
config: readKeyConfig(await ctx.settings?.getSection("keychain") ?? {}),
|
|
@@ -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-Bn-RNanh.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 { Hi as createEvent,
|
|
1
|
+
import { Hi as createEvent, Ta as EventCategory, it as RecordingStatusSchema, ni as BaseAddon, nt as RECORDING_SOURCE_CAMSTACK_ADDON, ti as errMsg } from "../../dist-Wy8cTxg6.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";
|