@camstack/system 1.2.436 → 1.2.437
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-B8lKYVtU.mjs → agent-https-BPfHrI4c.mjs} +3 -3
- package/dist/auth/login-session-manager.d.ts +2 -0
- package/dist/auth/session-revocation-bus.d.ts +32 -0
- 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.js +2 -2
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +2 -2
- 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/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 +5 -5
- 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/local-auth.addon.js +43 -2
- package/dist/builtins/local-auth/local-auth.addon.mjs +43 -3
- package/dist/builtins/local-network/local-network.addon.js +1 -1
- package/dist/builtins/local-network/local-network.addon.mjs +4 -4
- 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 +10 -10
- package/dist/builtins/platform-probe/index.js +1 -1
- package/dist/builtins/platform-probe/index.mjs +8 -8
- 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/index.js +1 -1
- package/dist/builtins/sqlite-storage/index.mjs +1 -1
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +3 -3
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +3 -3
- 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.d.ts +9 -0
- package/dist/builtins/system-config/system-config.addon.js +117 -72
- package/dist/builtins/system-config/system-config.addon.mjs +117 -73
- package/dist/builtins/winston-logging/index.js +1 -1
- package/dist/builtins/winston-logging/index.mjs +1 -1
- package/dist/{composition-sources-BAOlCu4j.js → composition-sources-BIT8IUKm.js} +1 -1
- package/dist/{composition-sources-gN_BWUKp.mjs → composition-sources-tpYR0f1x.mjs} +1 -1
- package/dist/{constants-BFpowodq.mjs → constants-Bc6trhoW.mjs} +1 -1
- package/dist/{constants-GENKqk9k.js → constants-CwRY32Nx.js} +1 -1
- package/dist/{device-ca-BNM5ai4t.mjs → device-ca-BhdBByGD.mjs} +1 -1
- package/dist/{device-ca-CuWuRW9N.js → device-ca-DImD8IzR.js} +1 -1
- package/dist/{dist-DVe0Nsp8.js → dist-CEAyXW3Q.js} +44 -2
- package/dist/{dist-DjD2M79P.mjs → dist-m5JkT8UN.mjs} +33 -3
- package/dist/file-host-worker.js +1 -1
- package/dist/file-host-worker.mjs +1 -1
- package/dist/{hub-mdns-ciao-DJRwtlA8.mjs → hub-mdns-ciao-DMlQTdPU.mjs} +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +8 -6
- package/dist/index.mjs +23 -22
- package/dist/{restore-archive-D4h904rb.js → restore-archive-C75srVbG.js} +1 -1
- package/dist/{restore-archive-BxmP1ChO.mjs → restore-archive-DNxAStrJ.mjs} +1 -1
- package/dist/{retired-settings-keys-CQaknvx1.mjs → retired-settings-keys-C5qP9QIf.mjs} +1 -1
- package/dist/{retired-settings-keys-CYP5IZJ5.js → retired-settings-keys-DNfV28R_.js} +1 -1
- package/dist/{wal-maintenance-Br60onAQ.js → wal-maintenance-Ch79gy9S.js} +0 -0
- package/dist/{wal-maintenance-CaDsrJM_.mjs → wal-maintenance-DvnVO5IK.mjs} +0 -0
- package/package.json +1 -1
|
@@ -3,7 +3,7 @@ import { X509Certificate, createHash, createPrivateKey, randomBytes, webcrypto }
|
|
|
3
3
|
import { writeOwnerOnlyFileSync } from "@camstack/types/node";
|
|
4
4
|
import { isIP } from "node:net";
|
|
5
5
|
import { join } from "node:path";
|
|
6
|
-
import * as os from "node:os";
|
|
6
|
+
import * as os$1 from "node:os";
|
|
7
7
|
import { chmodSync, existsSync, mkdirSync, readFileSync, renameSync, writeFileSync } from "node:fs";
|
|
8
8
|
//#region src/tls/agent-https-names.ts
|
|
9
9
|
/**
|
|
@@ -189,8 +189,8 @@ function evaluateExistingCert(input) {
|
|
|
189
189
|
/** The real machine. The only place in `tls/` that touches `os`. */
|
|
190
190
|
function systemHostFacts() {
|
|
191
191
|
return {
|
|
192
|
-
hostname: os.hostname(),
|
|
193
|
-
networkInterfaces: os.networkInterfaces()
|
|
192
|
+
hostname: os$1.hostname(),
|
|
193
|
+
networkInterfaces: os$1.networkInterfaces()
|
|
194
194
|
};
|
|
195
195
|
}
|
|
196
196
|
/**
|
|
@@ -121,6 +121,8 @@ export declare class LoginSessionManager {
|
|
|
121
121
|
listActive(): readonly LoginSessionSummary[];
|
|
122
122
|
/** Delete rows expired more than 7 days ago or revoked more than 30. Returns how many. */
|
|
123
123
|
reap(): Promise<number>;
|
|
124
|
+
/** Tell the hub which sessions just ended — right after the mirror, before the store write. */
|
|
125
|
+
private announce;
|
|
124
126
|
private newRefreshToken;
|
|
125
127
|
private remember;
|
|
126
128
|
private forget;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* "These login sessions just ended" — the one announcement every revoke path
|
|
3
|
+
* of the login-session table makes, so the hub can end what those sessions
|
|
4
|
+
* still HOLD (open WebSockets, live media). A revoked `sid` is refused on the
|
|
5
|
+
* next call; without this the socket stays open and the client keeps polling
|
|
6
|
+
* as an anonymous principal.
|
|
7
|
+
*
|
|
8
|
+
* Process-global (`Symbol.for`), like the hub-internal user-management surface:
|
|
9
|
+
* the table lives in `local-auth` and the listener in the hub, and neither may
|
|
10
|
+
* import the other. Listeners are synchronous; one that throws never reaches
|
|
11
|
+
* the revoke (reported to `onListenerError`).
|
|
12
|
+
*/
|
|
13
|
+
import type { LoginSessionRevocation } from "./login-session-manager.js";
|
|
14
|
+
export interface SessionsRevokedEvent {
|
|
15
|
+
/** The sessions that ended just now (never one that was already ended). */
|
|
16
|
+
readonly sessionIds: readonly string[];
|
|
17
|
+
/** The user they belong to, when the revoke named one. */
|
|
18
|
+
readonly userId: string | null;
|
|
19
|
+
/**
|
|
20
|
+
* The revoke was "everything of this user" (logout everywhere, password
|
|
21
|
+
* change or reset, deletion): a connection of `userId` that carries NO
|
|
22
|
+
* session id (a pre-session token) ends too, except `exceptSessionId`.
|
|
23
|
+
*/
|
|
24
|
+
readonly allOfUser: boolean;
|
|
25
|
+
readonly exceptSessionId: string | null;
|
|
26
|
+
readonly reason: LoginSessionRevocation;
|
|
27
|
+
}
|
|
28
|
+
export type SessionsRevokedListener = (event: SessionsRevokedEvent) => void;
|
|
29
|
+
/** Subscribe; returns the unsubscribe. */
|
|
30
|
+
export declare function onSessionsRevoked(listener: SessionsRevokedListener): () => void;
|
|
31
|
+
/** Announce an ended batch. A listener that throws never reaches the revoke. */
|
|
32
|
+
export declare function announceSessionsRevoked(event: SessionsRevokedEvent, onListenerError?: (error: unknown) => void): void;
|
|
@@ -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-CEAyXW3Q.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 {
|
|
1
|
+
import { $ as addonPagesCapability, Cr as BaseAddon, Sr as errMsg, pi as EventCategory } from "../../dist-m5JkT8UN.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-CEAyXW3Q.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 {
|
|
1
|
+
import { Cr as BaseAddon, Sr as errMsg, pi as EventCategory, tt as addonWidgetsCapability } from "../../dist-m5JkT8UN.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-CEAyXW3Q.js");
|
|
7
7
|
//#region src/builtins/alerts/device-label.ts
|
|
8
8
|
/**
|
|
9
9
|
* Operator-facing device label for alert messages.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Cr as BaseAddon, Sr as errMsg, i as AlertSchema, nt as alertsCapability, pi as EventCategory, zr as createEvent } from "../../dist-m5JkT8UN.mjs";
|
|
2
2
|
//#region src/builtins/alerts/device-label.ts
|
|
3
3
|
/**
|
|
4
4
|
* Operator-facing device label for alert messages.
|
|
@@ -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-CEAyXW3Q.js");
|
|
7
7
|
//#region src/builtins/autotrack/autotrack-config.ts
|
|
8
8
|
var DEFAULT_AUTOTRACK_LOOP_CONFIG = {
|
|
9
9
|
deadZoneFraction: .5,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Cr as BaseAddon, Jr as isEvent, On as ptzAutotrackCapability, Sr as errMsg, at as bareAddonId, k as FIRST_LEVEL_MACRO_CLASSES, pi as EventCategory } from "../../dist-m5JkT8UN.mjs";
|
|
2
2
|
//#region src/builtins/autotrack/autotrack-config.ts
|
|
3
3
|
var DEFAULT_AUTOTRACK_LOOP_CONFIG = {
|
|
4
4
|
deadZoneFraction: .5,
|
|
@@ -3,8 +3,8 @@ 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-
|
|
7
|
-
const require_restore_archive = require("../../restore-archive-
|
|
6
|
+
const require_dist = require("../../dist-CEAyXW3Q.js");
|
|
7
|
+
const require_restore_archive = require("../../restore-archive-C75srVbG.js");
|
|
8
8
|
let node_crypto = require("node:crypto");
|
|
9
9
|
let node_fs_promises = require("node:fs/promises");
|
|
10
10
|
node_fs_promises = require_chunk.__toESM(node_fs_promises);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { a as BackupSnapshotRefusedError, d as ENCRYPTED_BACKUP_SUFFIX, f as generateBackupKeyPair, i as BackupCancelledError, l as BackupKeyFormatError, m as parseBackupSecretKey, n as precheckRestoreKey, o as DEFAULT_BACKUP_DATABASES, p as parseBackupPublicKey, r as prepareRestoreArchive, s as SystemBackupService } from "../../restore-archive-
|
|
1
|
+
import { $r as nodePin, Cr as BaseAddon, Yn as storageOccupancyCapability, it as backupCapability, mn as mayWriteToLocation, pi as EventCategory, ui as toNodeId } from "../../dist-m5JkT8UN.mjs";
|
|
2
|
+
import { a as BackupSnapshotRefusedError, d as ENCRYPTED_BACKUP_SUFFIX, f as generateBackupKeyPair, i as BackupCancelledError, l as BackupKeyFormatError, m as parseBackupSecretKey, n as precheckRestoreKey, o as DEFAULT_BACKUP_DATABASES, p as parseBackupPublicKey, r as prepareRestoreArchive, s as SystemBackupService } from "../../restore-archive-DNxAStrJ.mjs";
|
|
3
3
|
import { randomUUID } from "node:crypto";
|
|
4
4
|
import * as fsp from "node:fs/promises";
|
|
5
5
|
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-CEAyXW3Q.js");
|
|
7
7
|
const require_settle_sources = require("../../settle-sources-Bhsy57y-.js");
|
|
8
8
|
let zod = require("zod");
|
|
9
9
|
//#region src/builtins/calendars/calendar-color.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Cr as BaseAddon, dt as calendarsCapability, h as CalendarPreferencesSchema } from "../../dist-m5JkT8UN.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
|
|
@@ -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-CEAyXW3Q.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 {
|
|
1
|
+
import { Cr as BaseAddon, D as DeclaredDevices, Et as declarationOwnerNodeId, Kn as snapshotCapability, Kr as hydrateSchema, S as DERIVED_CAMERA_SILENCED_CAP_NAMES, Sr as errMsg, Zn as streamCatalogCapability, cr as buildFfmpegArgs, ft as cameraGridLayoutCapability, hn as memoizePinnedFfmpeg, o as BaseDevice, pi as EventCategory, vn as motionCapability, xr as DeviceType, yr as DeviceFeature, z as MOTION_CLOSE_AFTER_MS, zr as createEvent } from "../../dist-m5JkT8UN.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-CEAyXW3Q.js");
|
|
7
|
+
const require_composition_sources = require("../../composition-sources-BIT8IUKm.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 {
|
|
2
|
-
import { n as normalizedNativeOwner } from "../../composition-sources-
|
|
1
|
+
import { Cr as BaseAddon, D as DeclaredDevices, Ht as expressionContainsBuiltinCall, Sr as errMsg, Tn as planComposition, _r as disarmRoseMemory, d as COMPOSED_ITEM_FIXED_FIELDS, dr as composedDeviceStableId, fr as compositionFeatureEnabled, gr as createStatefulExpressionMemory, gt as compositionFieldKey, hr as compositionSourceKey, ht as composerCapability, lr as cloneStatefulExpressionMemory, mr as compositionSliceKey, o as BaseDevice, pi as EventCategory, pr as compositionItemFieldPath, r as ALL_CAPABILITY_DEFINITIONS, sr as COMPOSER_ADDON_ID, st as buildCapabilityLookup, ur as composedDeviceRef, vr as toExpressionValue, xr as DeviceType, zr as createEvent, zt as evaluateCompositionField } from "../../dist-m5JkT8UN.mjs";
|
|
2
|
+
import { n as normalizedNativeOwner } from "../../composition-sources-tpYR0f1x.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-CEAyXW3Q.js");
|
|
7
7
|
const require_formatter = require("../../formatter-DqAKDlvN.js");
|
|
8
8
|
//#region src/builtins/console-logging/console-destination.ts
|
|
9
9
|
var LEVEL_RANK = {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Cr as BaseAddon, un as logDestinationCapability } from "../../dist-m5JkT8UN.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,7 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_chunk = require("../../chunk-Cek0wNdY.js");
|
|
3
|
-
const require_dist = require("../../dist-
|
|
4
|
-
const require_composition_sources = require("../../composition-sources-
|
|
3
|
+
const require_dist = require("../../dist-CEAyXW3Q.js");
|
|
4
|
+
const require_composition_sources = require("../../composition-sources-BIT8IUKm.js");
|
|
5
5
|
let node_crypto = require("node:crypto");
|
|
6
6
|
let _camstack_types_node = require("@camstack/types/node");
|
|
7
7
|
let node_fs_promises = require("node:fs/promises");
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as describeCompositionSources } from "../../composition-sources-
|
|
1
|
+
import { An as replacedFieldKeys, At as describeComposableCaps, Cr as BaseAddon, D as DeclaredDevices, Kr as hydrateSchema, Nn as resolveCoreBlockEntry, Pn as resolveCoreBlockFiles, Sr as errMsg, St as coreBlocksCapability, Tn as planComposition, _t as compositionSourceRefs, bt as coreBlockIdFromAddonId, f as COMPOSER_RUNNER_ID, g as CoreBlockSchema, hr as compositionSourceKey, m as CORE_BLOCK_ADDON_PREFIX, p as CORE_BLOCKS_ADDON_ID, r as ALL_CAPABILITY_DEFINITIONS, st as buildCapabilityLookup, tr as validateComposition, ur as composedDeviceRef, vt as coreBlockAddonId, xt as coreBlockSourceKind, yn as normalizeCoreBlockWrite, yt as coreBlockComposition } from "../../dist-m5JkT8UN.mjs";
|
|
2
|
+
import { t as describeCompositionSources } from "../../composition-sources-tpYR0f1x.mjs";
|
|
3
3
|
import { createRequire } from "node:module";
|
|
4
4
|
import { randomUUID } from "node:crypto";
|
|
5
5
|
import { customizationBlockName } from "@camstack/types/node";
|
|
6
6
|
import * as fs from "node:fs/promises";
|
|
7
7
|
import * as path$1 from "node:path";
|
|
8
|
-
import * as os from "node:os";
|
|
8
|
+
import * as os$1 from "node:os";
|
|
9
9
|
import { pathToFileURL } from "node:url";
|
|
10
10
|
//#region src/builtins/core-blocks/block-package.ts
|
|
11
11
|
/**
|
|
@@ -864,7 +864,7 @@ async function compileFiles(transpiler, files, entryPath) {
|
|
|
864
864
|
ok: false,
|
|
865
865
|
error: "the multi-file bundler is unavailable on this node"
|
|
866
866
|
};
|
|
867
|
-
const work = await fs.mkdtemp(path$1.join(os.tmpdir(), "core-block-compile-"));
|
|
867
|
+
const work = await fs.mkdtemp(path$1.join(os$1.tmpdir(), "core-block-compile-"));
|
|
868
868
|
try {
|
|
869
869
|
for (const [rel, content] of Object.entries(files)) {
|
|
870
870
|
const abs = path$1.resolve(work, rel);
|
|
@@ -1810,7 +1810,7 @@ function looksLikeSchema(value) {
|
|
|
1810
1810
|
* Never throws.
|
|
1811
1811
|
*/
|
|
1812
1812
|
async function extractSettingsSchema(js) {
|
|
1813
|
-
const dir = await fs.mkdtemp(path$1.join(os.tmpdir(), "core-block-schema-"));
|
|
1813
|
+
const dir = await fs.mkdtemp(path$1.join(os$1.tmpdir(), "core-block-schema-"));
|
|
1814
1814
|
const file = path$1.join(dir, "block.mjs");
|
|
1815
1815
|
try {
|
|
1816
1816
|
await fs.writeFile(file, js, "utf-8");
|
|
@@ -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_retired_settings_keys = require("../../retired-settings-keys-
|
|
6
|
+
const require_dist = require("../../dist-CEAyXW3Q.js");
|
|
7
|
+
const require_retired_settings_keys = require("../../retired-settings-keys-DNfV28R_.js");
|
|
8
8
|
let zod = require("zod");
|
|
9
9
|
let node_crypto = require("node:crypto");
|
|
10
10
|
let _camstack_types_node = require("@camstack/types/node");
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { A as FieldClaimModeSchema,
|
|
2
|
-
import { n as purgeRetiredSettingsRows } from "../../retired-settings-keys-
|
|
1
|
+
import { A as FieldClaimModeSchema, Cn as parseStreamParamsFormPatch, Cr as BaseAddon, Ct as createDeviceExtensionProvider, Ft as deviceStatusCapability, Gn as siteZoneKey, Lt as enumerateItemArrayFields, Mr as WELL_KNOWN_TAB_MAP, Mt as deviceExtensionCapability, Nt as deviceManagerCapability, O as DeviceStatusSchema, Ot as defineExtensionSlotProvider, Pt as deviceStateCapability, Qr as isSecretMarkerLike, R as MINUTES_PER_DAY, Rr as collectZodSecretPaths, Rt as enumerateSchemaFields, Sr as errMsg, Vt as expandContainer, W as STREAM_PROFILE_META, Xr as isSecretClear, Yr as isKeychainStoredField, Zr as isSecretMarker, an as legacyAutoLinkIds, bn as normalizeUnit, br as DeviceRole, c as CAMERA_SWITCH_ORDER, ci as secretTreeFromPaths, di as toSecretFieldView, fi as transformSecretWrite, j as FieldClaimSchema, jr as SECRET_CLEAR, li as sleep$1, ln as locationIconKey, oi as resolveSecretMarkers, pi as EventCategory, pt as canonicalIconKey, qr as isDeviceConfigCap, qt as formatMinutes, r as ALL_CAPABILITY_DEFINITIONS, u as CAP_NAMES_WITH_STATUS, ut as buildStreamParamsConfigSchema, x as DAY_NAMES, xr as DeviceType, yr as DeviceFeature, zn as runtimeStatePolicyFor } from "../../dist-m5JkT8UN.mjs";
|
|
2
|
+
import { n as purgeRetiredSettingsRows } from "../../retired-settings-keys-C5qP9QIf.mjs";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
import { randomUUID } from "node:crypto";
|
|
5
5
|
import { canonicalDeviceFingerprint } from "@camstack/types/node";
|
|
@@ -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-CEAyXW3Q.js");
|
|
7
7
|
const require_formatter = require("../../formatter-DqAKDlvN.js");
|
|
8
8
|
//#region src/builtins/hub-forwarder/hub-forwarder-destination.ts
|
|
9
9
|
var DEFAULT_OUTBOUND_BUFFER_SIZE = 500;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Cr as BaseAddon, un as logDestinationCapability } from "../../dist-m5JkT8UN.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,9 +3,9 @@ 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-
|
|
7
|
-
const require_device_ca = require("../../device-ca-
|
|
8
|
-
const require_constants = require("../../constants-
|
|
6
|
+
const require_dist = require("../../dist-CEAyXW3Q.js");
|
|
7
|
+
const require_device_ca = require("../../device-ca-DImD8IzR.js");
|
|
8
|
+
const require_constants = require("../../constants-CwRY32Nx.js");
|
|
9
9
|
const require_platform_key_source = require("../../platform-key-source-Di7HrlGR.js");
|
|
10
10
|
let node_crypto = require("node:crypto");
|
|
11
11
|
let _camstack_types_node = require("@camstack/types/node");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { d as JWT_SIGNING_KEY_REF, n as DEVICE_CA_KEY_REF, p as SYSTEM_SECRET_OWNER } from "../../device-ca-
|
|
3
|
-
import { a as MESH_CA_KEY_REF } from "../../constants-
|
|
1
|
+
import { Cr as BaseAddon, Gr as formatSecretScope, P as KEYCHAIN_RESET_TRIGGER_ACTOR, ei as normalizeSecretOwner, in as keychainCapability, pi as EventCategory, ri as parseSecretRef, rn as keychainAdminCapability } from "../../dist-m5JkT8UN.mjs";
|
|
2
|
+
import { d as JWT_SIGNING_KEY_REF, n as DEVICE_CA_KEY_REF, p as SYSTEM_SECRET_OWNER } from "../../device-ca-BhdBByGD.mjs";
|
|
3
|
+
import { a as MESH_CA_KEY_REF } from "../../constants-Bc6trhoW.mjs";
|
|
4
4
|
import { n as getPlatformKeychainKey } from "../../platform-key-source-BWlq0jjn.mjs";
|
|
5
5
|
import { createCipheriv, createDecipheriv, createHmac, randomBytes, randomUUID, timingSafeEqual } from "node:crypto";
|
|
6
6
|
import { restrictDirToOwnerSync, restrictFileToOwnerSync, writeOwnerOnlyFileSync } from "@camstack/types/node";
|
|
@@ -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-CEAyXW3Q.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 {
|
|
1
|
+
import { Cr as BaseAddon, H as RecordingStatusSchema, Sr as errMsg, V as RECORDING_SOURCE_CAMSTACK_ADDON, pi as EventCategory, zr as createEvent } from "../../dist-m5JkT8UN.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,10 +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-CEAyXW3Q.js");
|
|
7
7
|
const require_safe_buffer$1 = require("../../safe-buffer-D3aoa-7X.js");
|
|
8
8
|
const require_ms$1 = require("../../ms-LB3giGoU.js");
|
|
9
|
-
const require_device_ca = require("../../device-ca-
|
|
9
|
+
const require_device_ca = require("../../device-ca-DImD8IzR.js");
|
|
10
10
|
let node_crypto = require("node:crypto");
|
|
11
11
|
node_crypto = require_chunk.__toESM(node_crypto);
|
|
12
12
|
let crypto$1 = require("crypto");
|
|
@@ -6458,6 +6458,33 @@ var ScopedTokenManager = class {
|
|
|
6458
6458
|
}
|
|
6459
6459
|
};
|
|
6460
6460
|
//#endregion
|
|
6461
|
+
//#region src/auth/session-revocation-bus.ts
|
|
6462
|
+
var BUS_KEY = Symbol.for("camstack.login-sessions.revocation-bus");
|
|
6463
|
+
function listeners() {
|
|
6464
|
+
const existing = Reflect.get(globalThis, BUS_KEY);
|
|
6465
|
+
if (existing instanceof Set) return existing;
|
|
6466
|
+
const created = /* @__PURE__ */ new Set();
|
|
6467
|
+
Reflect.set(globalThis, BUS_KEY, created);
|
|
6468
|
+
return created;
|
|
6469
|
+
}
|
|
6470
|
+
/** Subscribe; returns the unsubscribe. */
|
|
6471
|
+
function onSessionsRevoked(listener) {
|
|
6472
|
+
const set = listeners();
|
|
6473
|
+
set.add(listener);
|
|
6474
|
+
return () => {
|
|
6475
|
+
set.delete(listener);
|
|
6476
|
+
};
|
|
6477
|
+
}
|
|
6478
|
+
/** Announce an ended batch. A listener that throws never reaches the revoke. */
|
|
6479
|
+
function announceSessionsRevoked(event, onListenerError) {
|
|
6480
|
+
if (event.sessionIds.length === 0 && !event.allOfUser) return;
|
|
6481
|
+
for (const listener of [...listeners()]) try {
|
|
6482
|
+
listener(event);
|
|
6483
|
+
} catch (error) {
|
|
6484
|
+
onListenerError?.(error);
|
|
6485
|
+
}
|
|
6486
|
+
}
|
|
6487
|
+
//#endregion
|
|
6461
6488
|
//#region src/auth/login-session-manager.ts
|
|
6462
6489
|
/**
|
|
6463
6490
|
* Login sessions — the server-side record behind every session token.
|
|
@@ -6807,6 +6834,7 @@ var LoginSessionManager = class {
|
|
|
6807
6834
|
revokedReason: reason
|
|
6808
6835
|
};
|
|
6809
6836
|
this.replace(session, updated);
|
|
6837
|
+
this.announce([updated.id], session.userId, false, null, reason);
|
|
6810
6838
|
await this.persist(updated);
|
|
6811
6839
|
return true;
|
|
6812
6840
|
}
|
|
@@ -6830,6 +6858,7 @@ var LoginSessionManager = class {
|
|
|
6830
6858
|
this.replace(session, updated);
|
|
6831
6859
|
ended.push(updated);
|
|
6832
6860
|
}
|
|
6861
|
+
this.announce(ended.map((s) => s.id), userId, true, options.exceptSessionId ?? null, options.reason);
|
|
6833
6862
|
await this.persistCutoff(userId, at);
|
|
6834
6863
|
for (const session of ended) await this.persist(session);
|
|
6835
6864
|
return ended.length;
|
|
@@ -6848,6 +6877,7 @@ var LoginSessionManager = class {
|
|
|
6848
6877
|
this.replace(session, updated);
|
|
6849
6878
|
ended.push(updated);
|
|
6850
6879
|
}
|
|
6880
|
+
this.announce(ended.map((s) => s.id), null, false, null, reason);
|
|
6851
6881
|
for (const session of ended) await this.persist(session);
|
|
6852
6882
|
return ended.length;
|
|
6853
6883
|
}
|
|
@@ -6873,6 +6903,16 @@ var LoginSessionManager = class {
|
|
|
6873
6903
|
}
|
|
6874
6904
|
return dead.length;
|
|
6875
6905
|
}
|
|
6906
|
+
/** Tell the hub which sessions just ended — right after the mirror, before the store write. */
|
|
6907
|
+
announce(sessionIds, userId, allOfUser, exceptSessionId, reason) {
|
|
6908
|
+
announceSessionsRevoked({
|
|
6909
|
+
sessionIds,
|
|
6910
|
+
userId,
|
|
6911
|
+
allOfUser,
|
|
6912
|
+
exceptSessionId,
|
|
6913
|
+
reason
|
|
6914
|
+
}, (error) => this.logger?.error("A session-revocation listener threw — the revoke stands", { meta: { error: error instanceof Error ? error.message : String(error) } }));
|
|
6915
|
+
}
|
|
6876
6916
|
newRefreshToken() {
|
|
6877
6917
|
return `${REFRESH_TOKEN_PREFIX}${node_crypto.randomBytes(32).toString("base64url")}`;
|
|
6878
6918
|
}
|
|
@@ -12093,4 +12133,5 @@ exports.UserManager = UserManager;
|
|
|
12093
12133
|
exports.attachUserManagementInternal = attachUserManagementInternal;
|
|
12094
12134
|
exports.getUserManagementInternal = getUserManagementInternal;
|
|
12095
12135
|
exports.isSettingsReadUnavailable = isSettingsReadUnavailable;
|
|
12136
|
+
exports.onSessionsRevoked = onSessionsRevoked;
|
|
12096
12137
|
exports.parseTokenExpiry = parseTokenExpiry;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { i as __require, o as __toESM, t as __commonJSMin } from "../../chunk-CNf5ZN-e.mjs";
|
|
2
|
-
import {
|
|
2
|
+
import { C as DEVICE_ENROLLMENT_TTL_MS, Cr as BaseAddon, G as ScopedTokenSchema, Kt as formatDeviceRevoker, Q as UserRecordSchema, a as ApiKeyRecordSchema, ct as buildDeviceEnrollmentLink, er as userManagementCapability, jt as deviceCredentialsCapability, lt as buildDeviceSignatureMessage, q as SsoBridgeClaimsSchema, rt as authProviderCapability, w as DEVICE_NONCE_TTL_MS } from "../../dist-m5JkT8UN.mjs";
|
|
3
3
|
import { t as require_safe_buffer } from "../../safe-buffer-B1OjL1I9.mjs";
|
|
4
4
|
import { t as require_ms } from "../../ms-CgH2OFlD.mjs";
|
|
5
|
-
import { _ as setProcessJwtSigningKey, a as importDevicePublicKey, c as rebuildDeviceCaCertificate, d as JWT_SIGNING_KEY_REF, g as processJwtSigningKey, h as loadJwtSigningKey, i as generateDeviceCa, l as verifyDeviceLeaf, m as getProcessJwtSigningKeyState, n as DEVICE_CA_KEY_REF, o as issueDeviceLeaf, r as DEVICE_CA_SETTINGS_SECTION, s as loadDeviceCa, t as DEVICE_CA_FIELD, u as verifyDeviceSignature } from "../../device-ca-
|
|
5
|
+
import { _ as setProcessJwtSigningKey, a as importDevicePublicKey, c as rebuildDeviceCaCertificate, d as JWT_SIGNING_KEY_REF, g as processJwtSigningKey, h as loadJwtSigningKey, i as generateDeviceCa, l as verifyDeviceLeaf, m as getProcessJwtSigningKeyState, n as DEVICE_CA_KEY_REF, o as issueDeviceLeaf, r as DEVICE_CA_SETTINGS_SECTION, s as loadDeviceCa, t as DEVICE_CA_FIELD, u as verifyDeviceSignature } from "../../device-ca-BhdBByGD.mjs";
|
|
6
6
|
import * as crypto$1 from "node:crypto";
|
|
7
7
|
import { X509Certificate, createHash, randomUUID, timingSafeEqual } from "node:crypto";
|
|
8
8
|
import nodeCrypto from "crypto";
|
|
@@ -6448,6 +6448,33 @@ var ScopedTokenManager = class {
|
|
|
6448
6448
|
}
|
|
6449
6449
|
};
|
|
6450
6450
|
//#endregion
|
|
6451
|
+
//#region src/auth/session-revocation-bus.ts
|
|
6452
|
+
var BUS_KEY = Symbol.for("camstack.login-sessions.revocation-bus");
|
|
6453
|
+
function listeners() {
|
|
6454
|
+
const existing = Reflect.get(globalThis, BUS_KEY);
|
|
6455
|
+
if (existing instanceof Set) return existing;
|
|
6456
|
+
const created = /* @__PURE__ */ new Set();
|
|
6457
|
+
Reflect.set(globalThis, BUS_KEY, created);
|
|
6458
|
+
return created;
|
|
6459
|
+
}
|
|
6460
|
+
/** Subscribe; returns the unsubscribe. */
|
|
6461
|
+
function onSessionsRevoked(listener) {
|
|
6462
|
+
const set = listeners();
|
|
6463
|
+
set.add(listener);
|
|
6464
|
+
return () => {
|
|
6465
|
+
set.delete(listener);
|
|
6466
|
+
};
|
|
6467
|
+
}
|
|
6468
|
+
/** Announce an ended batch. A listener that throws never reaches the revoke. */
|
|
6469
|
+
function announceSessionsRevoked(event, onListenerError) {
|
|
6470
|
+
if (event.sessionIds.length === 0 && !event.allOfUser) return;
|
|
6471
|
+
for (const listener of [...listeners()]) try {
|
|
6472
|
+
listener(event);
|
|
6473
|
+
} catch (error) {
|
|
6474
|
+
onListenerError?.(error);
|
|
6475
|
+
}
|
|
6476
|
+
}
|
|
6477
|
+
//#endregion
|
|
6451
6478
|
//#region src/auth/login-session-manager.ts
|
|
6452
6479
|
/**
|
|
6453
6480
|
* Login sessions — the server-side record behind every session token.
|
|
@@ -6797,6 +6824,7 @@ var LoginSessionManager = class {
|
|
|
6797
6824
|
revokedReason: reason
|
|
6798
6825
|
};
|
|
6799
6826
|
this.replace(session, updated);
|
|
6827
|
+
this.announce([updated.id], session.userId, false, null, reason);
|
|
6800
6828
|
await this.persist(updated);
|
|
6801
6829
|
return true;
|
|
6802
6830
|
}
|
|
@@ -6820,6 +6848,7 @@ var LoginSessionManager = class {
|
|
|
6820
6848
|
this.replace(session, updated);
|
|
6821
6849
|
ended.push(updated);
|
|
6822
6850
|
}
|
|
6851
|
+
this.announce(ended.map((s) => s.id), userId, true, options.exceptSessionId ?? null, options.reason);
|
|
6823
6852
|
await this.persistCutoff(userId, at);
|
|
6824
6853
|
for (const session of ended) await this.persist(session);
|
|
6825
6854
|
return ended.length;
|
|
@@ -6838,6 +6867,7 @@ var LoginSessionManager = class {
|
|
|
6838
6867
|
this.replace(session, updated);
|
|
6839
6868
|
ended.push(updated);
|
|
6840
6869
|
}
|
|
6870
|
+
this.announce(ended.map((s) => s.id), null, false, null, reason);
|
|
6841
6871
|
for (const session of ended) await this.persist(session);
|
|
6842
6872
|
return ended.length;
|
|
6843
6873
|
}
|
|
@@ -6863,6 +6893,16 @@ var LoginSessionManager = class {
|
|
|
6863
6893
|
}
|
|
6864
6894
|
return dead.length;
|
|
6865
6895
|
}
|
|
6896
|
+
/** Tell the hub which sessions just ended — right after the mirror, before the store write. */
|
|
6897
|
+
announce(sessionIds, userId, allOfUser, exceptSessionId, reason) {
|
|
6898
|
+
announceSessionsRevoked({
|
|
6899
|
+
sessionIds,
|
|
6900
|
+
userId,
|
|
6901
|
+
allOfUser,
|
|
6902
|
+
exceptSessionId,
|
|
6903
|
+
reason
|
|
6904
|
+
}, (error) => this.logger?.error("A session-revocation listener threw — the revoke stands", { meta: { error: error instanceof Error ? error.message : String(error) } }));
|
|
6905
|
+
}
|
|
6866
6906
|
newRefreshToken() {
|
|
6867
6907
|
return `${REFRESH_TOKEN_PREFIX}${crypto$1.randomBytes(32).toString("base64url")}`;
|
|
6868
6908
|
}
|
|
@@ -12061,4 +12101,4 @@ var LocalAuthAddon = class extends BaseAddon {
|
|
|
12061
12101
|
}
|
|
12062
12102
|
};
|
|
12063
12103
|
//#endregion
|
|
12064
|
-
export { LocalAuthAddon, LocalAuthAddon as default,
|
|
12104
|
+
export { LocalAuthAddon, LocalAuthAddon as default, ApiKeyManager as S, ScopedTokenManager as _, attachUserManagementInternal as a, SettingsReadUnavailableError as b, DeviceCredentialManager as c, ADMIN_TOKEN_MAX_LIFETIME_MS as d, ADMIN_TOKEN_PREFIX as f, onSessionsRevoked as g, REFRESH_TOKEN_PREFIX as h, USER_MANAGEMENT_INTERNAL as i, PREVIOUS_LEAF_GRACE_MS as l, LoginSessionManager as m, FIRST_BOOT_ADMIN_USERNAME as n, getUserManagementInternal as o, AdminTokenManager as p, UserManager as r, AuthAuditLog as s, FIRST_BOOT_ADMIN_PASSWORD as t, DeviceCaStore as u, AuthManager as v, isSettingsReadUnavailable as x, parseTokenExpiry as y };
|
|
@@ -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-CEAyXW3Q.js");
|
|
4
4
|
const require_hub_mdns_ciao = require("../../hub-mdns-ciao-CBLvq2oj.js");
|
|
5
5
|
let zod = require("zod");
|
|
6
6
|
let node_net = require("node:net");
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { C as DEFAULT_LAN_HTTP_PORT, O as readLanHttpState, T as applyLanHttp, a as storeUploadedCertificate, b as ensureTlsCert, d as servedHttpsLeafFingerprint, g as readTlsMode, h as readTlsAccessStatus, i as revertToGeneratedCertificate, m as readExtraSans, n as applyCertificateToListener, r as regenerateCertificate, t as createCiaoPublisher, v as writeExtraSans } from "../../hub-mdns-ciao-
|
|
1
|
+
import { B as NetworkTunnelStartedDataSchema, Cr as BaseAddon, Fn as resolveHubAddressRoles, M as HUB_MDNS_SERVICE_TYPE, N as HUB_MDNS_TXT_KEYS, Qt as isDefaultAppConnectionEndpoint, Rn as resolveNotificationTapAddress, Yt as isAppLinkBase, cn as localNetworkCapability, jn as resolveAppConnections, l as CAMSTACK_APP_LINK_ORIGIN, mt as checkRoleAddress, nr as validateCustomAddress, pi as EventCategory, wn as pickAppLinkHub } from "../../dist-m5JkT8UN.mjs";
|
|
2
|
+
import { C as DEFAULT_LAN_HTTP_PORT, O as readLanHttpState, T as applyLanHttp, a as storeUploadedCertificate, b as ensureTlsCert, d as servedHttpsLeafFingerprint, g as readTlsMode, h as readTlsAccessStatus, i as revertToGeneratedCertificate, m as readExtraSans, n as applyCertificateToListener, r as regenerateCertificate, t as createCiaoPublisher, v as writeExtraSans } from "../../hub-mdns-ciao-DMlQTdPU.mjs";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
import { isIP } from "node:net";
|
|
5
|
-
import * as os from "node:os";
|
|
5
|
+
import * as os$1 from "node:os";
|
|
6
6
|
import { readFileSync } from "node:fs";
|
|
7
7
|
//#region src/builtins/local-network/address-book.ts
|
|
8
8
|
/**
|
|
@@ -1186,7 +1186,7 @@ var LocalNetworkAddon = class extends BaseAddon {
|
|
|
1186
1186
|
}
|
|
1187
1187
|
}
|
|
1188
1188
|
enumerate() {
|
|
1189
|
-
return enumerateOsInterfaces(os.networkInterfaces(), readLinuxIpv6Flags());
|
|
1189
|
+
return enumerateOsInterfaces(os$1.networkInterfaces(), readLinuxIpv6Flags());
|
|
1190
1190
|
}
|
|
1191
1191
|
/**
|
|
1192
1192
|
* Replace rotated IPv6 and drop addresses that no longer exist, without
|
|
@@ -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-CEAyXW3Q.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 {
|
|
1
|
+
import { Cr as BaseAddon, un as logDestinationCapability } from "../../dist-m5JkT8UN.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
|