@camstack/system 1.2.416 → 1.2.417
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 +9969 -27
- package/dist/addon-runner.mjs +9930 -9
- package/dist/addon-utils.js +19 -20
- package/dist/addon-utils.mjs +1 -2
- package/dist/auth/auth-audit-log.d.ts +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.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 +2 -2
- 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 +5 -3
- package/dist/builtins/local-auth/local-auth.addon.mjs +5 -3
- package/dist/builtins/local-network/local-network.addon.js +1 -1
- package/dist/builtins/local-network/local-network.addon.mjs +1 -1
- package/dist/builtins/loki-logging/index.js +1 -1
- package/dist/builtins/loki-logging/index.mjs +1 -1
- package/dist/builtins/native-metrics/native-metrics.addon.js +102 -10
- package/dist/builtins/native-metrics/native-metrics.addon.mjs +92 -4
- package/dist/builtins/platform-probe/index.js +1 -1
- package/dist/builtins/platform-probe/index.mjs +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
- package/dist/builtins/snapshot/index.js +1 -1
- package/dist/builtins/snapshot/index.mjs +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +0 -0
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +0 -0
- package/dist/builtins/storage-orchestrator/index.mjs +1 -1
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +83 -3
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +79 -3
- package/dist/builtins/system-config/system-config.addon.js +2 -2
- package/dist/builtins/system-config/system-config.addon.mjs +2 -2
- package/dist/builtins/winston-logging/index.js +1 -1
- package/dist/builtins/winston-logging/index.mjs +1 -1
- package/dist/{composition-sources-DBcOVpGn.js → composition-sources-ChAX2Kdo.js} +1 -1
- package/dist/{composition-sources-DEZqZLPT.mjs → composition-sources-CndJVssc.mjs} +1 -1
- package/dist/{constants-BSBtmzm3.mjs → constants-BzxwnfDc.mjs} +1 -1
- package/dist/{constants-C4jZO_qO.js → constants-VXvZkGgw.js} +1 -1
- package/dist/{event-loop-stall-monitor-E2hFvhDg.js → custom-action-registry-Bb28ibZV.js} +63 -1
- package/dist/{event-loop-stall-monitor-LBZskC1S.mjs → custom-action-registry-DHv0kYcT.mjs} +58 -2
- package/dist/{dist-DxiDI8hZ.js → dist-BMOD9OyH.js} +1 -111
- package/dist/{dist-DwE9yHdk.mjs → dist-H_RapIeM.mjs} +2 -100
- package/dist/index.js +22785 -10066
- package/dist/index.mjs +22601 -9882
- package/dist/{jwt-signing-key-CsC-FxSm.js → jwt-signing-key-BiKHENST.js} +1 -1
- package/dist/{jwt-signing-key-DLbjTIuA.mjs → jwt-signing-key-xQxqpwMC.mjs} +1 -1
- package/dist/kernel/moleculer/broker-factory.d.ts +2 -4
- package/dist/kernel/transport/local-child-registry.d.ts +1 -1
- package/dist/logging/log-redactor.d.ts +1 -1
- package/dist/{resource-monitor-B2WZ8_q9.mjs → resource-monitor-Di9daRwI.mjs} +1 -1
- package/dist/{resource-monitor-BgWGRxN5.js → resource-monitor-mio9dSCT.js} +5 -5
- package/dist/{restore-archive-BtKjaVua.js → restore-archive-BobsETEp.js} +1 -1
- package/dist/{restore-archive-CImzbuRo.mjs → restore-archive-CCAQicV-.mjs} +1 -1
- package/dist/{retired-settings-keys-Cl1tnkmq.js → retired-settings-keys-BMq2u4Wv.js} +1 -1
- package/dist/{retired-settings-keys-D1WsCdUY.mjs → retired-settings-keys-CwL4zHLg.mjs} +1 -1
- package/package.json +2 -2
- package/dist/child-cap-dispatch-B87B0FrC.js +0 -13986
- package/dist/child-cap-dispatch-CmfT-OR2.mjs +0 -12916
- package/dist/custom-action-registry-B4Cf4O_X.mjs +0 -57
- package/dist/custom-action-registry-acBY3mHA.js +0 -62
- package/dist/hub-cap-forward-CDiN1p98.mjs +0 -78
- package/dist/hub-cap-forward-W8oEm4ME.js +0 -101
- package/dist/proc-stat-CbC55Kqi.mjs +0 -92
- package/dist/proc-stat-DL-WUOhl.js +0 -127
package/dist/addon-utils.js
CHANGED
|
@@ -1,28 +1,27 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
require("./chunk-Cek0wNdY.js");
|
|
3
|
-
const
|
|
4
|
-
const require_custom_action_registry = require("./custom-action-registry-acBY3mHA.js");
|
|
3
|
+
const require_custom_action_registry = require("./custom-action-registry-Bb28ibZV.js");
|
|
5
4
|
const require_snapshot_courtesy = require("./snapshot-courtesy-D_C5-nC0.js");
|
|
6
5
|
exports.COURTESY_DEFAULT_WIDTH = require_snapshot_courtesy.COURTESY_DEFAULT_WIDTH;
|
|
7
6
|
exports.CustomActionRegistry = require_custom_action_registry.CustomActionRegistry;
|
|
8
|
-
exports.ModelDownloadHttpError =
|
|
9
|
-
exports.ModelDownloadService =
|
|
10
|
-
exports.STALL_REPORT_MS =
|
|
11
|
-
exports.STALL_TICK_MS =
|
|
12
|
-
exports.adoptModelRevisions =
|
|
13
|
-
exports.attributeStall =
|
|
14
|
-
exports.collectModelFiles =
|
|
15
|
-
exports.contentTypeFor =
|
|
7
|
+
exports.ModelDownloadHttpError = require_custom_action_registry.ModelDownloadHttpError;
|
|
8
|
+
exports.ModelDownloadService = require_custom_action_registry.ModelDownloadService;
|
|
9
|
+
exports.STALL_REPORT_MS = require_custom_action_registry.STALL_REPORT_MS;
|
|
10
|
+
exports.STALL_TICK_MS = require_custom_action_registry.STALL_TICK_MS;
|
|
11
|
+
exports.adoptModelRevisions = require_custom_action_registry.adoptModelRevisions;
|
|
12
|
+
exports.attributeStall = require_custom_action_registry.attributeStall;
|
|
13
|
+
exports.collectModelFiles = require_custom_action_registry.collectModelFiles;
|
|
14
|
+
exports.contentTypeFor = require_custom_action_registry.contentTypeFor;
|
|
16
15
|
exports.courtesyCacheKey = require_snapshot_courtesy.courtesyCacheKey;
|
|
17
|
-
exports.createFileDataPlaneHandler =
|
|
18
|
-
exports.deleteModelFromDisk =
|
|
19
|
-
exports.downloadFile =
|
|
20
|
-
exports.ensureModel =
|
|
21
|
-
exports.getModelFilePath =
|
|
22
|
-
exports.isModelDownloadHttpError =
|
|
23
|
-
exports.isModelDownloaded =
|
|
24
|
-
exports.parseRangeHeader =
|
|
16
|
+
exports.createFileDataPlaneHandler = require_custom_action_registry.createFileDataPlaneHandler;
|
|
17
|
+
exports.deleteModelFromDisk = require_custom_action_registry.deleteModelFromDisk;
|
|
18
|
+
exports.downloadFile = require_custom_action_registry.downloadFile;
|
|
19
|
+
exports.ensureModel = require_custom_action_registry.ensureModel;
|
|
20
|
+
exports.getModelFilePath = require_custom_action_registry.getModelFilePath;
|
|
21
|
+
exports.isModelDownloadHttpError = require_custom_action_registry.isModelDownloadHttpError;
|
|
22
|
+
exports.isModelDownloaded = require_custom_action_registry.isModelDownloaded;
|
|
23
|
+
exports.parseRangeHeader = require_custom_action_registry.parseRangeHeader;
|
|
25
24
|
exports.renderCourtesyJpeg = require_snapshot_courtesy.renderCourtesyJpeg;
|
|
26
25
|
exports.renderCourtesyOverlayJpeg = require_snapshot_courtesy.renderCourtesyOverlayJpeg;
|
|
27
|
-
exports.resolveFormatRevision =
|
|
28
|
-
exports.startEventLoopStallMonitor =
|
|
26
|
+
exports.resolveFormatRevision = require_custom_action_registry.resolveFormatRevision;
|
|
27
|
+
exports.startEventLoopStallMonitor = require_custom_action_registry.startEventLoopStallMonitor;
|
package/dist/addon-utils.mjs
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { C as
|
|
2
|
-
import { t as CustomActionRegistry } from "./custom-action-registry-B4Cf4O_X.mjs";
|
|
1
|
+
import { C as isModelDownloaded, S as isModelDownloadHttpError, _ as downloadFile, a as startEventLoopStallMonitor, f as ModelDownloadService, g as deleteModelFromDisk, h as collectModelFiles, i as attributeStall, l as parseRangeHeader, m as adoptModelRevisions, n as STALL_REPORT_MS, o as createFileDataPlaneHandler, p as ModelDownloadHttpError, r as STALL_TICK_MS, s as contentTypeFor, t as CustomActionRegistry, w as resolveFormatRevision, x as getModelFilePath, y as ensureModel } from "./custom-action-registry-DHv0kYcT.mjs";
|
|
3
2
|
import { i as renderCourtesyOverlayJpeg, n as courtesyCacheKey, r as renderCourtesyJpeg, t as COURTESY_DEFAULT_WIDTH } from "./snapshot-courtesy-CyFs1M3I.mjs";
|
|
4
3
|
export { COURTESY_DEFAULT_WIDTH, CustomActionRegistry, ModelDownloadHttpError, ModelDownloadService, STALL_REPORT_MS, STALL_TICK_MS, adoptModelRevisions, attributeStall, collectModelFiles, contentTypeFor, courtesyCacheKey, createFileDataPlaneHandler, deleteModelFromDisk, downloadFile, ensureModel, getModelFilePath, isModelDownloadHttpError, isModelDownloaded, parseRangeHeader, renderCourtesyJpeg, renderCourtesyOverlayJpeg, resolveFormatRevision, startEventLoopStallMonitor };
|
|
@@ -7,7 +7,7 @@ import type { CollectionColumn, IScopedLogger, SettingsStoreClient } from "@cams
|
|
|
7
7
|
*/
|
|
8
8
|
export declare const AUTH_AUDIT_COLLECTION = "auth_audit";
|
|
9
9
|
export declare const AUTH_AUDIT_COLUMNS: readonly CollectionColumn[];
|
|
10
|
-
export declare const AUTH_AUDIT_ACTIONS: readonly ["second-factor-skipped", "admin-token-created", "admin-token-used", "admin-token-revoked", "credentials-revoked"];
|
|
10
|
+
export declare const AUTH_AUDIT_ACTIONS: readonly ["second-factor-skipped", "admin-token-created", "admin-token-used", "admin-token-revoked", "credentials-revoked", "agent-addon-update", "agent-addon-update-refused"];
|
|
11
11
|
export type AuthAuditAction = (typeof AUTH_AUDIT_ACTIONS)[number];
|
|
12
12
|
export interface AuthAuditEvent {
|
|
13
13
|
readonly action: AuthAuditAction;
|
|
@@ -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-BMOD9OyH.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 { dr as errMsg, fr as BaseAddon, q as addonPagesCapability, ri as EventCategory } from "../../dist-H_RapIeM.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-BMOD9OyH.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 { Y as addonWidgetsCapability,
|
|
1
|
+
import { Y as addonWidgetsCapability, dr as errMsg, fr as BaseAddon, ri as EventCategory } from "../../dist-H_RapIeM.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-BMOD9OyH.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 { Dr as createEvent, X as alertsCapability, dr as errMsg, fr as BaseAddon, n as AlertSchema, ri as EventCategory } from "../../dist-H_RapIeM.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-BMOD9OyH.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 { $ as bareAddonId,
|
|
1
|
+
import { $ as bareAddonId, Ir as isEvent, S as FIRST_LEVEL_MACRO_CLASSES, dr as errMsg, fr as BaseAddon, ri as EventCategory, vn as ptzAutotrackCapability } from "../../dist-H_RapIeM.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-BMOD9OyH.js");
|
|
7
|
+
const require_restore_archive = require("../../restore-archive-BobsETEp.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, c as BackupKeyFormatError, d as generateBackupKeyPair, f as parseBackupPublicKey, i as BackupCancelledError, n as precheckRestoreKey, o as SystemBackupService, p as parseBackupSecretKey, r as prepareRestoreArchive, u as ENCRYPTED_BACKUP_SUFFIX } from "../../restore-archive-
|
|
1
|
+
import { Hr as nodePin, Q as backupCapability, Rn as storageOccupancyCapability, ei as toNodeId, fr as BaseAddon, in as mayWriteToLocation, ri as EventCategory } from "../../dist-H_RapIeM.mjs";
|
|
2
|
+
import { a as BackupSnapshotRefusedError, c as BackupKeyFormatError, d as generateBackupKeyPair, f as parseBackupPublicKey, i as BackupCancelledError, n as precheckRestoreKey, o as SystemBackupService, p as parseBackupSecretKey, r as prepareRestoreArchive, u as ENCRYPTED_BACKUP_SUFFIX } from "../../restore-archive-CCAQicV-.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-BMOD9OyH.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 { fr as BaseAddon, p as CalendarPreferencesSchema, rt as calendarsCapability } from "../../dist-H_RapIeM.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-BMOD9OyH.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 { Bn as streamCatalogCapability, Dr as createEvent, F as MOTION_CLOSE_AFTER_MS, Fn as snapshotCapability, Pr as hydrateSchema, Zn as buildFfmpegArgs, _t as declarationOwnerNodeId, an as memoizePinnedFfmpeg, b as DeclaredDevices, cn as motionCapability, cr as DeviceFeature, dr as errMsg, fr as BaseAddon, i as BaseDevice, it as cameraGridLayoutCapability, ri as EventCategory, ur as DeviceType, y as DERIVED_CAMERA_SILENCED_CAP_NAMES } from "../../dist-H_RapIeM.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-BMOD9OyH.js");
|
|
7
|
+
const require_composition_sources = require("../../composition-sources-ChAX2Kdo.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 { $n as
|
|
2
|
-
import { n as normalizedNativeOwner } from "../../composition-sources-
|
|
1
|
+
import { $n as composedDeviceRef, Dr as createEvent, Mt as expressionContainsBuiltinCall, Qn as cloneStatefulExpressionMemory, Xn as COMPOSER_ADDON_ID, ar as createStatefulExpressionMemory, b as DeclaredDevices, dr as errMsg, er as composedDeviceStableId, fr as BaseAddon, hn as planComposition, i as BaseDevice, ir as compositionSourceKey, kt as evaluateCompositionField, l as COMPOSED_ITEM_FIXED_FIELDS, nr as compositionItemFieldPath, or as disarmRoseMemory, ot as composerCapability, ri as EventCategory, rr as compositionSliceKey, sr as toExpressionValue, st as compositionFieldKey, t as ALL_CAPABILITY_DEFINITIONS, tr as compositionFeatureEnabled, tt as buildCapabilityLookup, ur as DeviceType } from "../../dist-H_RapIeM.mjs";
|
|
2
|
+
import { n as normalizedNativeOwner } from "../../composition-sources-CndJVssc.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-BMOD9OyH.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 { en as logDestinationCapability,
|
|
1
|
+
import { en as logDestinationCapability, fr as BaseAddon } from "../../dist-H_RapIeM.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-BMOD9OyH.js");
|
|
4
|
+
const require_composition_sources = require("../../composition-sources-ChAX2Kdo.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,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as describeCompositionSources } from "../../composition-sources-
|
|
1
|
+
import { $n as composedDeviceRef, Cn as resolveCoreBlockEntry, Pr as hydrateSchema, Wn as validateComposition, b as DeclaredDevices, bn as replacedFieldKeys, ct as compositionSourceRefs, d as CORE_BLOCKS_ADDON_ID, dr as errMsg, dt as coreBlockIdFromAddonId, f as CORE_BLOCK_ADDON_PREFIX, fr as BaseAddon, ft as coreBlockSourceKind, hn as planComposition, ir as compositionSourceKey, ln as normalizeCoreBlockWrite, lt as coreBlockAddonId, m as CoreBlockSchema, pt as coreBlocksCapability, t as ALL_CAPABILITY_DEFINITIONS, tt as buildCapabilityLookup, u as COMPOSER_RUNNER_ID, ut as coreBlockComposition, wn as resolveCoreBlockFiles, xt as describeComposableCaps } from "../../dist-H_RapIeM.mjs";
|
|
2
|
+
import { t as describeCompositionSources } from "../../composition-sources-CndJVssc.mjs";
|
|
3
3
|
import { createRequire } from "node:module";
|
|
4
4
|
import { randomUUID } from "node:crypto";
|
|
5
5
|
import { customizationBlockName } from "@camstack/types/node";
|
|
@@ -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-BMOD9OyH.js");
|
|
7
|
+
const require_retired_settings_keys = require("../../retired-settings-keys-BMq2u4Wv.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 { $r as
|
|
2
|
-
import { n as purgeRetiredSettingsRows } from "../../retired-settings-keys-
|
|
1
|
+
import { $r as sleep$1, $t as locationIconKey, B as STREAM_PROFILE_META, Br as isSecretMarkerLike, C as FieldClaimModeSchema, Ct as deviceManagerCapability, Dt as enumerateItemArrayFields, Er as collectZodSecretPaths, Fr as isDeviceConfigCap, It as formatMinutes, Lr as isKeychainStoredField, N as MINUTES_PER_DAY, Ot as enumerateSchemaFields, Pn as siteZoneKey, Rr as isSecretClear, St as deviceExtensionCapability, Tt as deviceStatusCapability, Yr as resolveSecretMarkers, Yt as legacyAutoLinkIds, Zr as secretTreeFromPaths, br as WELL_KNOWN_TAB_MAP, c as CAP_NAMES_WITH_STATUS, cr as DeviceFeature, dr as errMsg, fr as BaseAddon, j as LocationIconIdSchema, jt as expandContainer, kn as runtimeStatePolicyFor, lr as DeviceRole, mt as createDeviceExtensionProvider, ni as transformSecretWrite, nt as buildStreamParamsConfigSchema, o as CAMERA_SWITCH_ORDER, pn as parseStreamParamsFormPatch, ri as EventCategory, t as ALL_CAPABILITY_DEFINITIONS, ti as toSecretFieldView, un as normalizeUnit, ur as DeviceType, v as DAY_NAMES, w as FieldClaimSchema, wt as deviceStateCapability, x as DeviceStatusSchema, yr as SECRET_CLEAR, yt as defineExtensionSlotProvider, zr as isSecretMarker } from "../../dist-H_RapIeM.mjs";
|
|
2
|
+
import { n as purgeRetiredSettingsRows } from "../../retired-settings-keys-CwL4zHLg.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-BMOD9OyH.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 { en as logDestinationCapability,
|
|
1
|
+
import { en as logDestinationCapability, fr as BaseAddon } from "../../dist-H_RapIeM.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_jwt_signing_key = require("../../jwt-signing-key-
|
|
8
|
-
const require_constants = require("../../constants-
|
|
6
|
+
const require_dist = require("../../dist-BMOD9OyH.js");
|
|
7
|
+
const require_jwt_signing_key = require("../../jwt-signing-key-BiKHENST.js");
|
|
8
|
+
const require_constants = require("../../constants-VXvZkGgw.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 node_path = require("node:path");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Jt as keychainCapability,
|
|
2
|
-
import { r as SYSTEM_SECRET_OWNER, t as JWT_SIGNING_KEY_REF } from "../../jwt-signing-key-
|
|
3
|
-
import { a as MESH_CA_KEY_REF, p as CLUSTER_SECRET_SETTINGS_KEY } from "../../constants-
|
|
1
|
+
import { Jt as keychainCapability, Kr as parseSecretRef, Nr as formatSecretScope, O as KEYCHAIN_RESET_TRIGGER_ACTOR, Ur as normalizeSecretOwner, fr as BaseAddon, qt as keychainAdminCapability, ri as EventCategory } from "../../dist-H_RapIeM.mjs";
|
|
2
|
+
import { r as SYSTEM_SECRET_OWNER, t as JWT_SIGNING_KEY_REF } from "../../jwt-signing-key-xQxqpwMC.mjs";
|
|
3
|
+
import { a as MESH_CA_KEY_REF, p as CLUSTER_SECRET_SETTINGS_KEY } from "../../constants-BzxwnfDc.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 * as path$1 from "node:path";
|
|
@@ -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-BMOD9OyH.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 { Dr as createEvent, I as RECORDING_SOURCE_CAMSTACK_ADDON, R as RecordingStatusSchema, dr as errMsg, fr as BaseAddon, ri as EventCategory } from "../../dist-H_RapIeM.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-BMOD9OyH.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_jwt_signing_key = require("../../jwt-signing-key-
|
|
9
|
+
const require_jwt_signing_key = require("../../jwt-signing-key-BiKHENST.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");
|
|
@@ -7142,7 +7142,9 @@ var AUTH_AUDIT_ACTIONS = [
|
|
|
7142
7142
|
"admin-token-created",
|
|
7143
7143
|
"admin-token-used",
|
|
7144
7144
|
"admin-token-revoked",
|
|
7145
|
-
"credentials-revoked"
|
|
7145
|
+
"credentials-revoked",
|
|
7146
|
+
"agent-addon-update",
|
|
7147
|
+
"agent-addon-update-refused"
|
|
7146
7148
|
];
|
|
7147
7149
|
var RETENTION_MS = 90 * 864e5;
|
|
7148
7150
|
var MAX_LIST = 500;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { i as __require, o as __toESM, t as __commonJSMin } from "../../chunk-CNf5ZN-e.mjs";
|
|
2
|
-
import { K as UserRecordSchema,
|
|
2
|
+
import { K as UserRecordSchema, Un as userManagementCapability, V as ScopedTokenSchema, Z as authProviderCapability, fr as BaseAddon, r as ApiKeyRecordSchema } from "../../dist-H_RapIeM.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 { a as loadJwtSigningKey, i as getProcessJwtSigningKeyState, o as processJwtSigningKey, s as setProcessJwtSigningKey, t as JWT_SIGNING_KEY_REF } from "../../jwt-signing-key-
|
|
5
|
+
import { a as loadJwtSigningKey, i as getProcessJwtSigningKeyState, o as processJwtSigningKey, s as setProcessJwtSigningKey, t as JWT_SIGNING_KEY_REF } from "../../jwt-signing-key-xQxqpwMC.mjs";
|
|
6
6
|
import * as crypto$1 from "node:crypto";
|
|
7
7
|
import { createHash, randomUUID, timingSafeEqual } from "node:crypto";
|
|
8
8
|
import nodeCrypto from "crypto";
|
|
@@ -7132,7 +7132,9 @@ var AUTH_AUDIT_ACTIONS = [
|
|
|
7132
7132
|
"admin-token-created",
|
|
7133
7133
|
"admin-token-used",
|
|
7134
7134
|
"admin-token-revoked",
|
|
7135
|
-
"credentials-revoked"
|
|
7135
|
+
"credentials-revoked",
|
|
7136
|
+
"agent-addon-update",
|
|
7137
|
+
"agent-addon-update-refused"
|
|
7136
7138
|
];
|
|
7137
7139
|
var RETENTION_MS = 90 * 864e5;
|
|
7138
7140
|
var MAX_LIST = 500;
|
|
@@ -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-BMOD9OyH.js");
|
|
4
4
|
const require_tls = require("../../tls-C0TRPfqc.js");
|
|
5
5
|
let zod = require("zod");
|
|
6
6
|
let node_net = require("node:net");
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { o as __toESM } from "../../chunk-CNf5ZN-e.mjs";
|
|
2
|
-
import { D as HUB_MDNS_TXT_KEYS, E as HUB_MDNS_SERVICE_TYPE,
|
|
2
|
+
import { D as HUB_MDNS_TXT_KEYS, E as HUB_MDNS_SERVICE_TYPE, Gn as validateCustomAddress, Ht as isDefaultAppConnectionEndpoint, On as resolveNotificationTapAddress, Qt as localNetworkCapability, Tn as resolveHubAddressRoles, at as checkRoleAddress, fr as BaseAddon, mn as pickAppLinkHub, ri as EventCategory, s as CAMSTACK_APP_LINK_ORIGIN, xn as resolveAppConnections, zt as isAppLinkBase } from "../../dist-H_RapIeM.mjs";
|
|
3
3
|
import { P as readLanHttpState, _ as writeExtraSans, h as readTlsMode, i as storeUploadedCertificate, j as applyLanHttp, k as DEFAULT_LAN_HTTP_PORT, m as readTlsAccessStatus, n as regenerateCertificate, p as readExtraSans, r as revertToGeneratedCertificate, t as applyCertificateToListener, u as servedHttpsLeafFingerprint, y as ensureTlsCert } from "../../tls-D-2dPY-5.mjs";
|
|
4
4
|
import { z } from "zod";
|
|
5
5
|
import { isIP } from "node:net";
|
|
@@ -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-BMOD9OyH.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 { en as logDestinationCapability,
|
|
1
|
+
import { en as logDestinationCapability, fr as BaseAddon } from "../../dist-H_RapIeM.mjs";
|
|
2
2
|
//#region src/builtins/loki-logging/loki-payload.ts
|
|
3
3
|
/**
|
|
4
4
|
* Loki rejects a label name that is not a valid Prometheus label
|
|
@@ -3,8 +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-
|
|
7
|
-
const require_proc_stat = require("../../proc-stat-DL-WUOhl.js");
|
|
6
|
+
const require_dist = require("../../dist-BMOD9OyH.js");
|
|
8
7
|
let node_fs_promises = require("node:fs/promises");
|
|
9
8
|
let node_os = require("node:os");
|
|
10
9
|
node_os = require_chunk.__toESM(node_os);
|
|
@@ -2126,7 +2125,7 @@ var NativeMetricsProvider = class {
|
|
|
2126
2125
|
return getCpuTemperatureInternal();
|
|
2127
2126
|
}
|
|
2128
2127
|
async getProcessStats(input) {
|
|
2129
|
-
const { getPidStats } = await Promise.resolve().then(() => require("../../resource-monitor-
|
|
2128
|
+
const { getPidStats } = await Promise.resolve().then(() => require("../../resource-monitor-mio9dSCT.js")).then((n) => n.resource_monitor_exports);
|
|
2130
2129
|
const raw = await getPidStats(input.pids);
|
|
2131
2130
|
const result = [];
|
|
2132
2131
|
for (const [pid, s] of raw) result.push({
|
|
@@ -2462,6 +2461,95 @@ function execAsync(cmd, args, timeoutMs = 5e3) {
|
|
|
2462
2461
|
});
|
|
2463
2462
|
});
|
|
2464
2463
|
}
|
|
2464
|
+
/**
|
|
2465
|
+
* Parse one `/proc/<pid>/stat` line. `null` for a line that does not parse —
|
|
2466
|
+
* a process that exited between the readdir and the read leaves a truncated
|
|
2467
|
+
* or empty file, and that is normal, not an error.
|
|
2468
|
+
*/
|
|
2469
|
+
function parseProcStat(line) {
|
|
2470
|
+
const close = line.lastIndexOf(")");
|
|
2471
|
+
const open = line.indexOf("(");
|
|
2472
|
+
if (close < 0 || open < 0 || close < open) return null;
|
|
2473
|
+
const pid = Number(line.slice(0, open).trim());
|
|
2474
|
+
const comm = line.slice(open + 1, close);
|
|
2475
|
+
const rest = line.slice(close + 1).trim().split(/\s+/);
|
|
2476
|
+
const state = rest[0];
|
|
2477
|
+
const ppid = Number(rest[1]);
|
|
2478
|
+
const pgid = Number(rest[2]);
|
|
2479
|
+
const utime = Number(rest[11]);
|
|
2480
|
+
const stime = Number(rest[12]);
|
|
2481
|
+
const startTicks = Number(rest[19]);
|
|
2482
|
+
const rssPages = Number(rest[21]);
|
|
2483
|
+
if (state === void 0 || state === "") return null;
|
|
2484
|
+
if (![
|
|
2485
|
+
pid,
|
|
2486
|
+
ppid,
|
|
2487
|
+
pgid,
|
|
2488
|
+
utime,
|
|
2489
|
+
stime,
|
|
2490
|
+
startTicks,
|
|
2491
|
+
rssPages
|
|
2492
|
+
].every(Number.isFinite)) return null;
|
|
2493
|
+
return {
|
|
2494
|
+
pid,
|
|
2495
|
+
comm,
|
|
2496
|
+
state,
|
|
2497
|
+
ppid,
|
|
2498
|
+
pgid,
|
|
2499
|
+
ticks: utime + stime,
|
|
2500
|
+
startTicks,
|
|
2501
|
+
rssPages
|
|
2502
|
+
};
|
|
2503
|
+
}
|
|
2504
|
+
function statusKb(status, key) {
|
|
2505
|
+
const match = status.match(new RegExp(`^${key}:\\s+(\\d+)`, "m"));
|
|
2506
|
+
return match ? parseInt(match[1], 10) * 1024 : void 0;
|
|
2507
|
+
}
|
|
2508
|
+
/** Read `VmRSS` / `RssAnon` / `RssFile` (kB in the file) out of `/proc/<pid>/status`. */
|
|
2509
|
+
function parseProcStatusRss(status) {
|
|
2510
|
+
return {
|
|
2511
|
+
rssBytes: statusKb(status, "VmRSS"),
|
|
2512
|
+
privateBytes: statusKb(status, "RssAnon"),
|
|
2513
|
+
sharedBytes: statusKb(status, "RssFile")
|
|
2514
|
+
};
|
|
2515
|
+
}
|
|
2516
|
+
/** Seconds the process has been alive — `ps etime`, whole seconds. */
|
|
2517
|
+
function elapsedSecSince(input) {
|
|
2518
|
+
return Math.max(0, Math.floor(input.uptimeSec - input.startTicks / 100));
|
|
2519
|
+
}
|
|
2520
|
+
/**
|
|
2521
|
+
* `ps pcpu`: CPU time over elapsed time, as a percentage with one decimal.
|
|
2522
|
+
*
|
|
2523
|
+
* This is deliberately the LIFETIME average `ps` prints, not an instantaneous
|
|
2524
|
+
* rate: the columns fed from it have always shown that quantity, and the
|
|
2525
|
+
* instantaneous split is a different number with a different owner
|
|
2526
|
+
* (`cpuMainPercent` / `cpuGcPercent` from `thread-cpu-sampler.ts`). A process
|
|
2527
|
+
* with no elapsed window yet reports 0, never a division by zero.
|
|
2528
|
+
*/
|
|
2529
|
+
function lifetimeCpuPercent(input) {
|
|
2530
|
+
const elapsedSec = input.uptimeSec - input.startTicks / 100;
|
|
2531
|
+
if (!(elapsedSec > 0)) return 0;
|
|
2532
|
+
const cpuSec = input.ticks / 100;
|
|
2533
|
+
return Math.round(cpuSec / elapsedSec * 1e3) / 10;
|
|
2534
|
+
}
|
|
2535
|
+
var PID_RE = /^\d+$/;
|
|
2536
|
+
var nodeProcReader = {
|
|
2537
|
+
listPids: async () => (await (0, node_fs_promises.readdir)("/proc")).filter((entry) => PID_RE.test(entry)).map((entry) => Number(entry)),
|
|
2538
|
+
readStat: (pid) => (0, node_fs_promises.readFile)(`/proc/${pid}/stat`, "latin1"),
|
|
2539
|
+
readStatus: (pid) => (0, node_fs_promises.readFile)(`/proc/${pid}/status`, "latin1"),
|
|
2540
|
+
readCmdline: (pid) => (0, node_fs_promises.readFile)(`/proc/${pid}/cmdline`, "latin1"),
|
|
2541
|
+
readUptimeSec: async () => {
|
|
2542
|
+
const [first] = (await (0, node_fs_promises.readFile)("/proc/uptime", "latin1")).trim().split(/\s+/);
|
|
2543
|
+
const seconds = Number(first);
|
|
2544
|
+
if (!Number.isFinite(seconds)) throw new Error(`/proc/uptime unreadable: ${String(first)}`);
|
|
2545
|
+
return seconds;
|
|
2546
|
+
}
|
|
2547
|
+
};
|
|
2548
|
+
/** `ps command=`: argv joined by spaces, or `[comm]` when there is no argv. */
|
|
2549
|
+
function commandFromCmdline(cmdline, comm) {
|
|
2550
|
+
const joined = cmdline.split("\0").filter((part) => part.length > 0).join(" ");
|
|
2551
|
+
return joined.length > 0 ? joined : `[${comm}]`;
|
|
2552
|
+
}
|
|
2465
2553
|
//#endregion
|
|
2466
2554
|
//#region src/builtins/native-metrics/proc-process-table.ts
|
|
2467
2555
|
/**
|
|
@@ -2493,28 +2581,28 @@ async function readProcRow(pid, uptimeSec, reader) {
|
|
|
2493
2581
|
} catch {
|
|
2494
2582
|
return null;
|
|
2495
2583
|
}
|
|
2496
|
-
const parsed =
|
|
2584
|
+
const parsed = parseProcStat(stat);
|
|
2497
2585
|
if (parsed === null) return null;
|
|
2498
|
-
const rss =
|
|
2586
|
+
const rss = parseProcStatusRss(status);
|
|
2499
2587
|
return {
|
|
2500
2588
|
pid: parsed.pid,
|
|
2501
2589
|
ppid: parsed.ppid,
|
|
2502
2590
|
pgid: parsed.pgid,
|
|
2503
|
-
cpuPercent:
|
|
2591
|
+
cpuPercent: lifetimeCpuPercent({
|
|
2504
2592
|
ticks: parsed.ticks,
|
|
2505
2593
|
startTicks: parsed.startTicks,
|
|
2506
2594
|
uptimeSec
|
|
2507
2595
|
}),
|
|
2508
2596
|
memoryRssBytes: rss.rssBytes ?? 0,
|
|
2509
|
-
uptimeSec:
|
|
2597
|
+
uptimeSec: elapsedSecSince({
|
|
2510
2598
|
startTicks: parsed.startTicks,
|
|
2511
2599
|
uptimeSec
|
|
2512
2600
|
}),
|
|
2513
|
-
command:
|
|
2601
|
+
command: commandFromCmdline(cmdline, parsed.comm)
|
|
2514
2602
|
};
|
|
2515
2603
|
}
|
|
2516
2604
|
/** Every process in `/proc`, as the rows `ps -eo …` would have printed. */
|
|
2517
|
-
async function readProcProcessTable(reader =
|
|
2605
|
+
async function readProcProcessTable(reader = nodeProcReader) {
|
|
2518
2606
|
const [pids, uptimeSec] = await Promise.all([reader.listPids(), reader.readUptimeSec()]);
|
|
2519
2607
|
return (await Promise.all(pids.map((pid) => readProcRow(pid, uptimeSec, reader)))).filter((row) => row !== null);
|
|
2520
2608
|
}
|
|
@@ -2569,7 +2657,7 @@ async function spawnPsTable() {
|
|
|
2569
2657
|
}
|
|
2570
2658
|
var defaultDeps = {
|
|
2571
2659
|
platform: (0, node_os.platform)(),
|
|
2572
|
-
reader:
|
|
2660
|
+
reader: nodeProcReader,
|
|
2573
2661
|
spawnPs: spawnPsTable
|
|
2574
2662
|
};
|
|
2575
2663
|
/**
|
|
@@ -3481,3 +3569,7 @@ var NativeMetricsAddon = class NativeMetricsAddon extends require_dist.BaseAddon
|
|
|
3481
3569
|
//#endregion
|
|
3482
3570
|
exports.NativeMetricsProvider = NativeMetricsProvider;
|
|
3483
3571
|
exports.default = NativeMetricsAddon;
|
|
3572
|
+
exports.lifetimeCpuPercent = lifetimeCpuPercent;
|
|
3573
|
+
exports.nodeProcReader = nodeProcReader;
|
|
3574
|
+
exports.parseProcStat = parseProcStat;
|
|
3575
|
+
exports.parseProcStatusRss = parseProcStatusRss;
|