@camstack/system 1.2.456 → 1.2.457

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.
Files changed (117) hide show
  1. package/dist/addon-runner.js +96 -10
  2. package/dist/addon-runner.mjs +96 -10
  3. package/dist/{agent-https-fm4AR8XL.mjs → agent-https-CK9Z4sSR.mjs} +2 -2
  4. package/dist/{agent-https-yjxdfJDA.js → agent-https-CoyOZ3pC.js} +2 -2
  5. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
  6. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
  7. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
  8. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
  9. package/dist/builtins/alerts/alerts.addon.js +2 -2
  10. package/dist/builtins/alerts/alerts.addon.mjs +2 -2
  11. package/dist/builtins/autotrack/index.js +1 -1
  12. package/dist/builtins/autotrack/index.mjs +1 -1
  13. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +2 -2
  14. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +2 -2
  15. package/dist/builtins/calendars/calendars.addon.js +1 -1
  16. package/dist/builtins/calendars/calendars.addon.mjs +1 -1
  17. package/dist/builtins/camera-grid/index.js +1 -1
  18. package/dist/builtins/camera-grid/index.mjs +1 -1
  19. package/dist/builtins/composer/composer.addon.js +2 -2
  20. package/dist/builtins/composer/composer.addon.mjs +2 -2
  21. package/dist/builtins/console-logging/console-destination.d.ts +1 -2
  22. package/dist/builtins/console-logging/index.js +1 -4
  23. package/dist/builtins/console-logging/index.mjs +1 -4
  24. package/dist/builtins/core-blocks/core-blocks.addon.js +2 -2
  25. package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
  26. package/dist/builtins/device-history/capture/capture-engine.d.ts +6 -0
  27. package/dist/builtins/device-history/device-history.addon.js +441 -83
  28. package/dist/builtins/device-history/device-history.addon.mjs +441 -83
  29. package/dist/builtins/device-history/query/history-query.d.ts +35 -9
  30. package/dist/builtins/device-history/query/point-shape.d.ts +33 -0
  31. package/dist/builtins/device-history/retention/retention.d.ts +1 -1
  32. package/dist/builtins/device-history/rollup/rollup-engine.d.ts +2 -0
  33. package/dist/builtins/device-history/rollup/rollup-math.d.ts +6 -0
  34. package/dist/builtins/device-history/store/history-store.d.ts +7 -0
  35. package/dist/builtins/device-history/store/series-registry.d.ts +26 -1
  36. package/dist/builtins/device-manager/device-manager.addon.js +1 -1
  37. package/dist/builtins/device-manager/device-manager.addon.mjs +1 -1
  38. package/dist/builtins/hub-forwarder/hub-forwarder-destination.d.ts +1 -2
  39. package/dist/builtins/hub-forwarder/index.js +1 -4
  40. package/dist/builtins/hub-forwarder/index.mjs +1 -4
  41. package/dist/builtins/keychain/index.js +4 -4
  42. package/dist/builtins/keychain/index.mjs +4 -4
  43. package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
  44. package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
  45. package/dist/builtins/local-auth/local-auth.addon.js +3 -3
  46. package/dist/builtins/local-auth/local-auth.addon.mjs +3 -3
  47. package/dist/builtins/local-network/local-network.addon.js +2 -2
  48. package/dist/builtins/local-network/local-network.addon.mjs +2 -2
  49. package/dist/builtins/loki-logging/index.js +323 -7
  50. package/dist/builtins/loki-logging/index.mjs +323 -7
  51. package/dist/builtins/loki-logging/loki-destination.d.ts +20 -3
  52. package/dist/builtins/loki-logging/loki-read.d.ts +51 -0
  53. package/dist/builtins/native-metrics/native-metrics.addon.js +290 -112
  54. package/dist/builtins/native-metrics/native-metrics.addon.mjs +290 -112
  55. package/dist/builtins/native-metrics/node-metrics-history-recorder.d.ts +106 -35
  56. package/dist/builtins/platform-probe/index.js +1 -1
  57. package/dist/builtins/platform-probe/index.mjs +1 -1
  58. package/dist/builtins/record-entries/index.js +1 -1
  59. package/dist/builtins/record-entries/index.mjs +1 -1
  60. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  61. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  62. package/dist/builtins/snapshot/index.js +1 -1
  63. package/dist/builtins/snapshot/index.mjs +1 -1
  64. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  65. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
  66. package/dist/builtins/sqlite-storage/index.js +1 -1
  67. package/dist/builtins/sqlite-storage/index.mjs +1 -1
  68. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +2 -2
  69. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +2 -2
  70. package/dist/builtins/storage-orchestrator/location-history-recorder.d.ts +76 -0
  71. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.d.ts +9 -0
  72. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +144 -1
  73. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +144 -1
  74. package/dist/builtins/system-config/system-config.addon.js +3 -3
  75. package/dist/builtins/system-config/system-config.addon.mjs +3 -3
  76. package/dist/builtins/winston-logging/index.js +165 -3
  77. package/dist/builtins/winston-logging/index.mjs +165 -3
  78. package/dist/builtins/winston-logging/log-file-cursor.d.ts +12 -0
  79. package/dist/builtins/winston-logging/log-file-index-store.d.ts +11 -0
  80. package/dist/builtins/winston-logging/log-file-index.d.ts +77 -0
  81. package/dist/builtins/winston-logging/log-file-read-client.d.ts +44 -0
  82. package/dist/builtins/winston-logging/log-file-read-protocol.d.ts +41 -0
  83. package/dist/builtins/winston-logging/log-file-read-worker.d.ts +1 -0
  84. package/dist/builtins/winston-logging/log-file-reader.d.ts +51 -0
  85. package/dist/builtins/winston-logging/winston-destination.d.ts +20 -2
  86. package/dist/{composition-sources-Ds0Vr6eD.mjs → composition-sources-B_jeZDRJ.mjs} +1 -1
  87. package/dist/{composition-sources-gB4coDJR.js → composition-sources-qKyvMAvc.js} +1 -1
  88. package/dist/{constants-CavyKfHZ.js → constants-B_X9cWEK.js} +1 -1
  89. package/dist/{constants-i5oD_gLB.mjs → constants-cxKcZRMi.mjs} +1 -1
  90. package/dist/{device-ca-qz1Pmeu1.mjs → device-ca-BB6nHAL5.mjs} +1 -1
  91. package/dist/{device-ca-bpoEr0zG.js → device-ca-CVK3YcR_.js} +1 -1
  92. package/dist/{dist-BpqA2CT0.js → dist-C89nqNnn.js} +471 -47
  93. package/dist/{dist-BSF_C8W2.mjs → dist-Dhux90yB.mjs} +454 -48
  94. package/dist/file-host-worker.js +1 -1
  95. package/dist/file-host-worker.mjs +1 -1
  96. package/dist/{hub-mdns-ciao-CHaGDzyz.mjs → hub-mdns-ciao-B8olZqqd.mjs} +2 -2
  97. package/dist/{hub-mdns-ciao-CZlZRxxA.js → hub-mdns-ciao-DB1Y9agt.js} +2 -2
  98. package/dist/index.d.ts +1 -0
  99. package/dist/index.js +135 -20
  100. package/dist/index.mjs +129 -21
  101. package/dist/kernel/config-schema.d.ts +5 -0
  102. package/dist/kernel/moleculer/accessory-prune-gate.d.ts +55 -0
  103. package/dist/log-file-read-protocol-B7M3X3bT.mjs +785 -0
  104. package/dist/log-file-read-protocol-D0WcLbIV.js +817 -0
  105. package/dist/log-file-read-worker.js +64 -0
  106. package/dist/log-file-read-worker.mjs +64 -0
  107. package/dist/log-read-filter-Bi066jwU.js +134 -0
  108. package/dist/log-read-filter-D7Ev3zm-.mjs +93 -0
  109. package/dist/logging/log-manager.d.ts +10 -6
  110. package/dist/logging/log-read-filter.d.ts +43 -0
  111. package/dist/{phase6-declare-gate-n-IZRklX.js → phase6-declare-gate-BO-_jLh_.js} +1 -1
  112. package/dist/{phase6-declare-gate-B4yfsf2n.mjs → phase6-declare-gate-x9ZCbQJP.mjs} +1 -1
  113. package/dist/{restore-archive-B4QG7XmX.js → restore-archive-4DOUR5Gu.js} +1 -1
  114. package/dist/{restore-archive-BGUM4FKf.mjs → restore-archive-DyOaPeAr.mjs} +1 -1
  115. package/dist/{wal-maintenance-AerF4XE6.mjs → wal-maintenance-BMiX6UIa.mjs} +0 -0
  116. package/dist/{wal-maintenance-CNEs_I94.js → wal-maintenance-DVN-DiVP.js} +0 -0
  117. package/package.json +1 -1
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-BpqA2CT0.js");
6
+ const require_dist = require("../../dist-C89nqNnn.js");
7
7
  let node_util = require("node:util");
8
8
  let node_os = require("node:os");
9
9
  node_os = require_chunk.__toESM(node_os);
@@ -1,5 +1,5 @@
1
1
  import { o as __toESM, r as __exportAll } from "../../chunk-CNf5ZN-e.mjs";
2
- import { $r as BaseAddon, Gi as emitReadiness, Qn as platformProbeCapability, Qr as errMsg, Ta as EventCategory, gr as scoreRuntimes, in as enumerateInferenceDevices } from "../../dist-BSF_C8W2.mjs";
2
+ import { Ji as emitReadiness, Oa as EventCategory, ni as BaseAddon, sn as enumerateInferenceDevices, ti as errMsg, tr as platformProbeCapability, yr as scoreRuntimes } from "../../dist-Dhux90yB.mjs";
3
3
  import { promisify } from "node:util";
4
4
  import * as os$1 from "node:os";
5
5
  import * as fs from "node:fs";
@@ -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-BpqA2CT0.js");
6
+ const require_dist = require("../../dist-C89nqNnn.js");
7
7
  let zod = require("zod");
8
8
  let node_crypto = require("node:crypto");
9
9
  //#region src/builtins/record-entries/entries-service.ts
@@ -1,4 +1,4 @@
1
- import { $r as BaseAddon, Oi as UnknownRecordKindError, li as InvalidRecordError, pa as recordSecretRef, ra as mapSecretLeaves, tr as recordEntriesCapability } from "../../dist-BSF_C8W2.mjs";
1
+ import { fi as InvalidRecordError, ga as recordSecretRef, ir as recordEntriesCapability, ji as UnknownRecordKindError, ni as BaseAddon, oa as mapSecretLeaves } from "../../dist-Dhux90yB.mjs";
2
2
  import { z } from "zod";
3
3
  import { randomUUID } from "node:crypto";
4
4
  //#region src/builtins/record-entries/entries-service.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-BpqA2CT0.js");
6
+ const require_dist = require("../../dist-C89nqNnn.js");
7
7
  //#region src/builtins/remote-access-orchestrator/enabled-providers-reconcile.ts
8
8
  /**
9
9
  * Reconcile the durable `enabledProviders` set against authoritative
@@ -1,4 +1,4 @@
1
- import { $r as BaseAddon, Ta as EventCategory } from "../../dist-BSF_C8W2.mjs";
1
+ import { Oa as EventCategory, ni as BaseAddon } from "../../dist-Dhux90yB.mjs";
2
2
  //#region src/builtins/remote-access-orchestrator/enabled-providers-reconcile.ts
3
3
  /**
4
4
  * Reconcile the durable `enabledProviders` set against authoritative
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-BpqA2CT0.js");
6
+ const require_dist = require("../../dist-C89nqNnn.js");
7
7
  const require_snapshot_courtesy = require("../../snapshot-courtesy-D_C5-nC0.js");
8
8
  let zod = require("zod");
9
9
  let node_crypto = require("node:crypto");
@@ -1,4 +1,4 @@
1
- import { $r as BaseAddon, Et as batteryCapability, Or as streamQualityLabel, Qr as errMsg, Ta as EventCategory, Tt as bareAddonId, Vn as memoizePinnedFfmpeg, Yr as DeviceFeature, Yt as deriveBatteryPresence, Zr as DeviceType, br as snapshotCapability, ia as nodePin, s as BatteryStatusSchema } from "../../dist-BSF_C8W2.mjs";
1
+ import { Cr as snapshotCapability, Oa as EventCategory, Ot as bareAddonId, Qr as DeviceFeature, Qt as deriveBatteryPresence, Wn as memoizePinnedFfmpeg, ei as DeviceType, jr as streamQualityLabel, kt as batteryCapability, ni as BaseAddon, s as BatteryStatusSchema, sa as nodePin, ti as errMsg } from "../../dist-Dhux90yB.mjs";
2
2
  import { i as renderCourtesyOverlayJpeg, n as courtesyCacheKey, r as renderCourtesyJpeg } from "../../snapshot-courtesy-CyFs1M3I.mjs";
3
3
  import { z } from "zod";
4
4
  import { randomUUID } from "node:crypto";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-BpqA2CT0.js");
6
+ const require_dist = require("../../dist-C89nqNnn.js");
7
7
  let node_crypto = require("node:crypto");
8
8
  let node_fs_promises = require("node:fs/promises");
9
9
  let node_path = require("node:path");
@@ -1,4 +1,4 @@
1
- import { $r as BaseAddon, Er as storageProviderCapability, fn as filesystemBrowseCapability } from "../../dist-BSF_C8W2.mjs";
1
+ import { hn as filesystemBrowseCapability, kr as storageProviderCapability, ni as BaseAddon } from "../../dist-Dhux90yB.mjs";
2
2
  import { randomUUID } from "node:crypto";
3
3
  import { mkdir, readdir, realpath, statfs } from "node:fs/promises";
4
4
  import * as path$1 from "node:path";
@@ -4,7 +4,7 @@ Object.defineProperties(exports, {
4
4
  });
5
5
  require("../../chunk-Cek0wNdY.js");
6
6
  const require_builtins_sqlite_storage_filesystem_storage_addon = require("./filesystem-storage.addon.js");
7
- const require_wal_maintenance = require("../../wal-maintenance-CNEs_I94.js");
7
+ const require_wal_maintenance = require("../../wal-maintenance-DVN-DiVP.js");
8
8
  const require_builtins_sqlite_storage_sqlite_settings_addon = require("./sqlite-settings.addon.js");
9
9
  //#region src/builtins/sqlite-storage/config-store.ts
10
10
  var ConfigStore = class {
@@ -1,5 +1,5 @@
1
1
  import { FilesystemStorageAddon, t as FilesystemStorageProvider } from "./filesystem-storage.addon.mjs";
2
- import { A as SQLITE_MMAP_CEILING_BYTES, B as SQLITE_SLOW_CALL_MS, F as sqlitePageCacheKibFor, H as sqliteEngineStorm, I as SQLITE_ENGINE_STORM_WALL_SHARE, L as SQLITE_PROFILE_REPORT_FLOOR_MS, M as SQLITE_PAGE_CACHE_CEILING_KIB, N as SQLITE_PAGE_CACHE_FLOOR_KIB, P as sqliteMmapSizeFor, R as SQLITE_PROFILE_REPORT_INTERVAL_MS, V as SqliteOpProfiler, a as WalMaintenance, i as WAL_MAINTENANCE_INTERVAL_MS, j as SQLITE_MMAP_FLOOR_BYTES, k as SQLITE_JOURNAL_SIZE_LIMIT_BYTES, l as SqliteSettingsBackend, n as WAL_HIGH_WATER_BYTES, r as WAL_IDLE_QUIET_MS, t as WAL_CHECKPOINT_BUSY_TIMEOUT_MS, z as SQLITE_PROFILE_TOP_N } from "../../wal-maintenance-AerF4XE6.mjs";
2
+ import { A as SQLITE_MMAP_CEILING_BYTES, B as SQLITE_SLOW_CALL_MS, F as sqlitePageCacheKibFor, H as sqliteEngineStorm, I as SQLITE_ENGINE_STORM_WALL_SHARE, L as SQLITE_PROFILE_REPORT_FLOOR_MS, M as SQLITE_PAGE_CACHE_CEILING_KIB, N as SQLITE_PAGE_CACHE_FLOOR_KIB, P as sqliteMmapSizeFor, R as SQLITE_PROFILE_REPORT_INTERVAL_MS, V as SqliteOpProfiler, a as WalMaintenance, i as WAL_MAINTENANCE_INTERVAL_MS, j as SQLITE_MMAP_FLOOR_BYTES, k as SQLITE_JOURNAL_SIZE_LIMIT_BYTES, l as SqliteSettingsBackend, n as WAL_HIGH_WATER_BYTES, r as WAL_IDLE_QUIET_MS, t as WAL_CHECKPOINT_BUSY_TIMEOUT_MS, z as SQLITE_PROFILE_TOP_N } from "../../wal-maintenance-BMiX6UIa.mjs";
3
3
  import { SqliteSettingsAddon } from "./sqlite-settings.addon.mjs";
4
4
  //#region src/builtins/sqlite-storage/config-store.ts
5
5
  var ConfigStore = class {
@@ -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-BpqA2CT0.js");
6
+ const require_dist = require("../../dist-C89nqNnn.js");
7
7
  const require_retired_settings_keys = require("../../retired-settings-keys-D_VwZiDt.js");
8
- const require_wal_maintenance = require("../../wal-maintenance-CNEs_I94.js");
8
+ const require_wal_maintenance = require("../../wal-maintenance-DVN-DiVP.js");
9
9
  const require_sqlite_snapshot_protocol = require("../../sqlite-snapshot-protocol-B9OndqZv.js");
10
10
  const require_wal_checkpoint_policy = require("../../wal-checkpoint-policy-d2z2qPqx.js");
11
11
  let node_fs_promises = require("node:fs/promises");
@@ -1,6 +1,6 @@
1
- import { $r as BaseAddon, C as DATABASE_SNAPSHOT_TIMEOUT_MS, Fr as vectorStoreCapability, Gt as databaseSnapshotCapability, Oi as UnknownRecordKindError, Qr as errMsg, S as DATABASE_SNAPSHOT_SUFFIX, Sr as storageAdminCapability, Tt as bareAddonId, Wt as dataStoreProviderCapability, ai as DeclarationRefusedError, at as STORAGE_ADMIN_SCOPED_BASES, da as parseSettingsBrokersAdoptsFrom, hi as RECORD_SWEEP_INTERVAL_MS, it as STORAGE_ADMIN_MOVED_COLLECTIONS, nr as recordsCapability, oa as normalizeSecretOwner, ua as parseSettingsArrayAdoptsFrom, ui as NoCallerError, vi as RUNTIME_DEFAULTS, w as DATA_STORE_DATABASES, x as DATABASE_SNAPSHOT_PARTIAL_SUFFIX, xi as RecordKindDeclarationSchema } from "../../dist-BSF_C8W2.mjs";
1
+ import { C as DATABASE_SNAPSHOT_TIMEOUT_MS, Jt as databaseSnapshotCapability, Ot as bareAddonId, Rr as vectorStoreCapability, S as DATABASE_SNAPSHOT_SUFFIX, Tr as storageAdminCapability, ar as recordsCapability, ci as DeclarationRefusedError, ji as UnknownRecordKindError, la as normalizeSecretOwner, ma as parseSettingsBrokersAdoptsFrom, ni as BaseAddon, ot as STORAGE_ADMIN_MOVED_COLLECTIONS, pa as parseSettingsArrayAdoptsFrom, pi as NoCallerError, qt as dataStoreProviderCapability, st as STORAGE_ADMIN_SCOPED_BASES, ti as errMsg, vi as RECORD_SWEEP_INTERVAL_MS, w as DATA_STORE_DATABASES, wi as RecordKindDeclarationSchema, x as DATABASE_SNAPSHOT_PARTIAL_SUFFIX, xi as RUNTIME_DEFAULTS } from "../../dist-Dhux90yB.mjs";
2
2
  import { i as retiredKeyStoreOf, n as purgeRetiredSettingsKeys } from "../../retired-settings-keys-Bhwe4ymb.mjs";
3
- import { C as RecordsEngine, D as callVector, E as callRecords, O as controlTargetOf, S as trustResult, T as callData, _ as collectTransferables, a as WalMaintenance, c as vectorProviderOfOwnedFile, d as CrossDatabaseTransactError, f as DatabaseBusyError, l as SqliteSettingsBackend, m as rehydrateError, o as createVectorIndex, p as DuplicatePlacementError, s as vectorProviderOf, u as CollectionPlacementError, v as isFileHostMessage, w as callControl } from "../../wal-maintenance-AerF4XE6.mjs";
3
+ import { C as RecordsEngine, D as callVector, E as callRecords, O as controlTargetOf, S as trustResult, T as callData, _ as collectTransferables, a as WalMaintenance, c as vectorProviderOfOwnedFile, d as CrossDatabaseTransactError, f as DatabaseBusyError, l as SqliteSettingsBackend, m as rehydrateError, o as createVectorIndex, p as DuplicatePlacementError, s as vectorProviderOf, u as CollectionPlacementError, v as isFileHostMessage, w as callControl } from "../../wal-maintenance-BMiX6UIa.mjs";
4
4
  import { r as isSnapshotWorkerMessage } from "../../sqlite-snapshot-protocol-2QaTouWV.mjs";
5
5
  import { a as isWorkerMessage, t as WAL_CHECKPOINT_LARGE_PASS_FRAMES } from "../../wal-checkpoint-policy-BahrTtyD.mjs";
6
6
  import { createRequire } from "node:module";
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Storage-location occupancy over time, through device-history (D850).
3
+ *
4
+ * The figures are the ones `listLocations` already serves, from their own
5
+ * authorities — nothing is measured twice:
6
+ * - the VOLUME (`location-used-percent`, `location-free-bytes`) from the same
7
+ * statfs probe the UI's capacity reads (`readLocalVolumeCapacity`), which
8
+ * answers only for a location THIS node can measure;
9
+ * - what CamStack HOLDS there (`location-owned-bytes`) from the
10
+ * `storage-occupancy` slice (D388).
11
+ *
12
+ * A figure that is unknown is NO point, never 0 (D393, D315): a failed statfs,
13
+ * a remote provider, a location nobody reports owned bytes for.
14
+ *
15
+ * Subject: the node the location lives on (`nodeId`), else the node that
16
+ * measured it. Scope: the location id, so a location keeps one series for life.
17
+ */
18
+ import type { DeviceHistoryIngestResult, IScopedLogger } from "@camstack/types";
19
+ export declare const LOCATION_HISTORY_NAMES: {
20
+ readonly usedPercent: "location-used-percent";
21
+ readonly freeBytes: "location-free-bytes";
22
+ readonly ownedBytes: "location-owned-bytes";
23
+ };
24
+ /** One location's sweep reading. */
25
+ export interface LocationReading {
26
+ readonly locationId: string;
27
+ readonly nodeId: string;
28
+ /** `null` when this node cannot take a measurement that is about the location. */
29
+ readonly capacity: {
30
+ readonly totalBytes: number;
31
+ readonly availableBytes: number;
32
+ } | null;
33
+ /** `undefined` when no provider reports what CamStack holds there. */
34
+ readonly ownedBytes: number | undefined;
35
+ }
36
+ export interface LocationHistoryPoint {
37
+ readonly key: string;
38
+ readonly subject: {
39
+ readonly kind: "node";
40
+ readonly nodeId: string;
41
+ };
42
+ readonly scope: string;
43
+ readonly ts: number;
44
+ readonly value: number;
45
+ }
46
+ export interface LocationHistoryClient {
47
+ declareSeries(input: {
48
+ name: string;
49
+ subjectKind: "node";
50
+ kind: "gauge";
51
+ displayName: string;
52
+ ingest: "points";
53
+ unit: string;
54
+ }): Promise<{
55
+ key: string;
56
+ }>;
57
+ record(input: {
58
+ points: readonly LocationHistoryPoint[];
59
+ }): Promise<DeviceHistoryIngestResult>;
60
+ }
61
+ export interface LocationHistoryRecorderDeps {
62
+ readonly deviceHistory: LocationHistoryClient;
63
+ readonly logger: IScopedLogger;
64
+ }
65
+ /** One reading per location per this many ms at most (the sweep runs every minute). */
66
+ export declare const LOCATION_HISTORY_MIN_INTERVAL_MS = 6e4;
67
+ export declare class LocationHistoryRecorder {
68
+ private readonly deps;
69
+ private readonly keys;
70
+ private readonly lastAt;
71
+ constructor(deps: LocationHistoryRecorderDeps);
72
+ private ensureDeclared;
73
+ /** The points of one sweep; pure apart from the per-location rate memory. */
74
+ pointsOf(readings: readonly LocationReading[], at: number): readonly LocationHistoryPoint[];
75
+ record(readings: readonly LocationReading[], at: number): Promise<void>;
76
+ }
@@ -18,6 +18,9 @@ export declare class StorageOrchestratorAddon extends BaseAddon<StorageOrchestra
18
18
  private occupancySlice;
19
19
  private get occupancy();
20
20
  private pressureTimer;
21
+ /** Occupancy over time (device-history). Created with the timer that feeds it. */
22
+ private locationHistory;
23
+ private locationHistoryInFlight;
21
24
  private pressureSweepInFlight;
22
25
  private migration;
23
26
  /** Guards every single-location repoint and arbitrates movers per physical root. */
@@ -108,6 +111,12 @@ export declare class StorageOrchestratorAddon extends BaseAddon<StorageOrchestra
108
111
  /** Single-flighted pressure sweep — never overlaps a slow eviction round. */
109
112
  private runPressureSweep;
110
113
  /**
114
+ * One occupancy reading per location this node can read, into device-history.
115
+ * The volume figures come from the same probe `listLocations` serves, the
116
+ * held bytes from the occupancy slice; an unknown figure is no point (D393).
117
+ */
118
+ private recordLocationHistory;
119
+ /**
111
120
  * Sample free space for every managed location and emit NC band edges.
112
121
  * A failed capacity read stays `null` and changes no band — never folded to 0 (D393).
113
122
  */
@@ -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-BpqA2CT0.js");
6
+ const require_dist = require("../../dist-C89nqNnn.js");
7
7
  const require_read_all_rows$1 = require("../../read-all-rows-CVoO1ONM.js");
8
8
  let zod = require("zod");
9
9
  let node_crypto = require("node:crypto");
@@ -3957,6 +3957,107 @@ var StorageLocationBandMonitor = class {
3957
3957
  }
3958
3958
  };
3959
3959
  //#endregion
3960
+ //#region src/builtins/storage-orchestrator/location-history-recorder.ts
3961
+ var LOCATION_HISTORY_NAMES = {
3962
+ usedPercent: "location-used-percent",
3963
+ freeBytes: "location-free-bytes",
3964
+ ownedBytes: "location-owned-bytes"
3965
+ };
3966
+ var DECLARATIONS = [
3967
+ {
3968
+ name: LOCATION_HISTORY_NAMES.usedPercent,
3969
+ displayName: "Location volume used %",
3970
+ unit: "%"
3971
+ },
3972
+ {
3973
+ name: LOCATION_HISTORY_NAMES.freeBytes,
3974
+ displayName: "Location volume free",
3975
+ unit: "bytes"
3976
+ },
3977
+ {
3978
+ name: LOCATION_HISTORY_NAMES.ownedBytes,
3979
+ displayName: "Location held by CamStack",
3980
+ unit: "bytes"
3981
+ }
3982
+ ];
3983
+ var LocationHistoryRecorder = class {
3984
+ deps;
3985
+ keys = /* @__PURE__ */ new Map();
3986
+ lastAt = /* @__PURE__ */ new Map();
3987
+ constructor(deps) {
3988
+ this.deps = deps;
3989
+ }
3990
+ async ensureDeclared() {
3991
+ if (this.keys.size === DECLARATIONS.length) return true;
3992
+ try {
3993
+ for (const d of DECLARATIONS) {
3994
+ const { key } = await this.deps.deviceHistory.declareSeries({
3995
+ name: d.name,
3996
+ subjectKind: "node",
3997
+ kind: "gauge",
3998
+ displayName: d.displayName,
3999
+ ingest: "points",
4000
+ unit: d.unit
4001
+ });
4002
+ this.keys.set(d.name, key);
4003
+ }
4004
+ return true;
4005
+ } catch (err) {
4006
+ this.keys.clear();
4007
+ this.deps.logger.warn("storage: location history declare failed — retried next sweep", { meta: { error: err instanceof Error ? err.message : String(err) } });
4008
+ return false;
4009
+ }
4010
+ }
4011
+ /** The points of one sweep; pure apart from the per-location rate memory. */
4012
+ pointsOf(readings, at) {
4013
+ const points = [];
4014
+ for (const r of readings) {
4015
+ const last = this.lastAt.get(r.locationId);
4016
+ if (last !== void 0 && at >= last && at - last < 6e4) continue;
4017
+ const add = (name, value) => {
4018
+ const key = this.keys.get(name);
4019
+ if (key === void 0 || !Number.isFinite(value)) return;
4020
+ points.push({
4021
+ key,
4022
+ subject: {
4023
+ kind: "node",
4024
+ nodeId: r.nodeId
4025
+ },
4026
+ scope: r.locationId,
4027
+ ts: at,
4028
+ value
4029
+ });
4030
+ };
4031
+ const before = points.length;
4032
+ if (r.capacity !== null && r.capacity.totalBytes > 0) {
4033
+ const used = r.capacity.totalBytes - r.capacity.availableBytes;
4034
+ add(LOCATION_HISTORY_NAMES.usedPercent, Math.round(used / r.capacity.totalBytes * 1e3) / 10);
4035
+ add(LOCATION_HISTORY_NAMES.freeBytes, r.capacity.availableBytes);
4036
+ }
4037
+ if (r.ownedBytes !== void 0) add(LOCATION_HISTORY_NAMES.ownedBytes, r.ownedBytes);
4038
+ if (points.length > before) this.lastAt.set(r.locationId, at);
4039
+ }
4040
+ return points;
4041
+ }
4042
+ async record(readings, at) {
4043
+ if (readings.length === 0 || !await this.ensureDeclared()) return;
4044
+ const points = this.pointsOf(readings, at);
4045
+ if (points.length === 0) return;
4046
+ try {
4047
+ const result = await this.deps.deviceHistory.record({ points });
4048
+ if (result.refused.length > 0) {
4049
+ if (result.refused.some((r) => r.reason === "undeclared")) this.keys.clear();
4050
+ this.deps.logger.warn("storage: location history points refused", { meta: {
4051
+ accepted: result.accepted,
4052
+ refused: result.refused
4053
+ } });
4054
+ }
4055
+ } catch (err) {
4056
+ this.deps.logger.warn("storage: location history not stored", { meta: { error: err instanceof Error ? err.message : String(err) } });
4057
+ }
4058
+ }
4059
+ };
4060
+ //#endregion
3960
4061
  //#region src/builtins/storage-orchestrator/storage-orchestrator.addon.ts
3961
4062
  /**
3962
4063
  * `storage-orchestrator` builtin — singleton owner of the consumer-
@@ -4024,6 +4125,9 @@ var StorageOrchestratorAddon = class extends require_dist.BaseAddon {
4024
4125
  return this.occupancySlice;
4025
4126
  }
4026
4127
  pressureTimer = null;
4128
+ /** Occupancy over time (device-history). Created with the timer that feeds it. */
4129
+ locationHistory = null;
4130
+ locationHistoryInFlight = false;
4027
4131
  pressureSweepInFlight = false;
4028
4132
  migration = null;
4029
4133
  /** Guards every single-location repoint and arbitrates movers per physical root. */
@@ -4440,8 +4544,16 @@ var StorageOrchestratorAddon = class extends require_dist.BaseAddon {
4440
4544
  }
4441
4545
  }
4442
4546
  });
4547
+ this.locationHistory = new LocationHistoryRecorder({
4548
+ deviceHistory: {
4549
+ declareSeries: (input) => this.ctx.api.deviceHistory.declareSeries.mutate(input),
4550
+ record: (input) => this.ctx.api.deviceHistory.record.mutate({ points: [...input.points] })
4551
+ },
4552
+ logger: this.ctx.logger
4553
+ });
4443
4554
  this.pressureTimer = setInterval(() => {
4444
4555
  this.runPressureSweep();
4556
+ this.recordLocationHistory();
4445
4557
  }, PRESSURE_SWEEP_INTERVAL_MS);
4446
4558
  this.ctx.logger.info("Storage orchestrator initialized");
4447
4559
  return [
@@ -4588,6 +4700,37 @@ var StorageOrchestratorAddon = class extends require_dist.BaseAddon {
4588
4700
  }
4589
4701
  }
4590
4702
  /**
4703
+ * One occupancy reading per location this node can read, into device-history.
4704
+ * The volume figures come from the same probe `listLocations` serves, the
4705
+ * held bytes from the occupancy slice; an unknown figure is no point (D393).
4706
+ */
4707
+ async recordLocationHistory() {
4708
+ const svc = this.service;
4709
+ const recorder = this.locationHistory;
4710
+ if (!svc || !recorder || this.locationHistoryInFlight) return;
4711
+ this.locationHistoryInFlight = true;
4712
+ try {
4713
+ this.occupancy.serveAndRevalidate();
4714
+ const localNode = svc.getLocalNodeId();
4715
+ const readings = [];
4716
+ for (const loc of svc.listLocations()) {
4717
+ if (!require_dist.mayReadLocation(loc) || (loc.nodeId ?? HUB_NODE_ID) !== localNode) continue;
4718
+ const capacity = await this.localCapacityOf(loc).catch(() => null);
4719
+ readings.push({
4720
+ locationId: loc.id,
4721
+ nodeId: localNode,
4722
+ capacity,
4723
+ ownedBytes: this.occupancy.ownedFor(loc.id)?.bytes
4724
+ });
4725
+ }
4726
+ await recorder.record(readings, Date.now());
4727
+ } catch (err) {
4728
+ this.ctxIfReady?.logger.warn("storage: location history pass failed", { meta: { error: err instanceof Error ? err.message : String(err) } });
4729
+ } finally {
4730
+ this.locationHistoryInFlight = false;
4731
+ }
4732
+ }
4733
+ /**
4591
4734
  * Sample free space for every managed location and emit NC band edges.
4592
4735
  * A failed capacity read stays `null` and changes no band — never folded to 0 (D393).
4593
4736
  */
@@ -1,4 +1,4 @@
1
- import { $i as isSecretMarker, $r as BaseAddon, Bn as mayWriteToLocation, Cr as storageCapability, Fi as collectSecretConfigKeys, Ir as withLocationMode, K as LegacyStorageLocationDefaultSchema, Mn as legacyModeOf, Sa as transformSecretWrite, Ta as EventCategory, Tn as isLocationEnabled, Ui as defineRecordKinds, Un as modeMayWrite, _a as secretTreeFromPaths, _r as settingsStoreCapability, aa as normalizeNodeId, cn as evictionPolicyOfLocation, dt as StorageLocationModeSchema, ft as StorageLocationTypeSchema, gi as REDACTED_SECRET, gn as gbToBytes, ha as resolveSecretMarkers, pt as StorageMigrationJobSchema, sa as parseJsonObject, ur as resolveLocationMode, ut as StorageCleanupJobSchema, wr as storageMigrationCapability, zn as mayReadLocation } from "../../dist-BSF_C8W2.mjs";
1
+ import { Dr as storageMigrationCapability, Er as storageCapability, Fn as legacyModeOf, Hn as mayReadLocation, Ki as defineRecordKinds, Kn as modeMayWrite, Oa as EventCategory, On as isLocationEnabled, Ri as collectSecretConfigKeys, Ta as transformSecretWrite, Un as mayWriteToLocation, ba as secretTreeFromPaths, br as settingsStoreCapability, ca as normalizeNodeId, dn as evictionPolicyOfLocation, ft as StorageCleanupJobSchema, ht as StorageMigrationJobSchema, mt as StorageLocationTypeSchema, na as isSecretMarker, ni as BaseAddon, pr as resolveLocationMode, pt as StorageLocationModeSchema, q as LegacyStorageLocationDefaultSchema, ua as parseJsonObject, va as resolveSecretMarkers, yi as REDACTED_SECRET, yn as gbToBytes, zr as withLocationMode } from "../../dist-Dhux90yB.mjs";
2
2
  import { t as require_read_all_rows } from "../../read-all-rows-TaPqdWNF.mjs";
3
3
  import { z } from "zod";
4
4
  import { randomUUID } from "node:crypto";
@@ -3952,6 +3952,107 @@ var StorageLocationBandMonitor = class {
3952
3952
  }
3953
3953
  };
3954
3954
  //#endregion
3955
+ //#region src/builtins/storage-orchestrator/location-history-recorder.ts
3956
+ var LOCATION_HISTORY_NAMES = {
3957
+ usedPercent: "location-used-percent",
3958
+ freeBytes: "location-free-bytes",
3959
+ ownedBytes: "location-owned-bytes"
3960
+ };
3961
+ var DECLARATIONS = [
3962
+ {
3963
+ name: LOCATION_HISTORY_NAMES.usedPercent,
3964
+ displayName: "Location volume used %",
3965
+ unit: "%"
3966
+ },
3967
+ {
3968
+ name: LOCATION_HISTORY_NAMES.freeBytes,
3969
+ displayName: "Location volume free",
3970
+ unit: "bytes"
3971
+ },
3972
+ {
3973
+ name: LOCATION_HISTORY_NAMES.ownedBytes,
3974
+ displayName: "Location held by CamStack",
3975
+ unit: "bytes"
3976
+ }
3977
+ ];
3978
+ var LocationHistoryRecorder = class {
3979
+ deps;
3980
+ keys = /* @__PURE__ */ new Map();
3981
+ lastAt = /* @__PURE__ */ new Map();
3982
+ constructor(deps) {
3983
+ this.deps = deps;
3984
+ }
3985
+ async ensureDeclared() {
3986
+ if (this.keys.size === DECLARATIONS.length) return true;
3987
+ try {
3988
+ for (const d of DECLARATIONS) {
3989
+ const { key } = await this.deps.deviceHistory.declareSeries({
3990
+ name: d.name,
3991
+ subjectKind: "node",
3992
+ kind: "gauge",
3993
+ displayName: d.displayName,
3994
+ ingest: "points",
3995
+ unit: d.unit
3996
+ });
3997
+ this.keys.set(d.name, key);
3998
+ }
3999
+ return true;
4000
+ } catch (err) {
4001
+ this.keys.clear();
4002
+ this.deps.logger.warn("storage: location history declare failed — retried next sweep", { meta: { error: err instanceof Error ? err.message : String(err) } });
4003
+ return false;
4004
+ }
4005
+ }
4006
+ /** The points of one sweep; pure apart from the per-location rate memory. */
4007
+ pointsOf(readings, at) {
4008
+ const points = [];
4009
+ for (const r of readings) {
4010
+ const last = this.lastAt.get(r.locationId);
4011
+ if (last !== void 0 && at >= last && at - last < 6e4) continue;
4012
+ const add = (name, value) => {
4013
+ const key = this.keys.get(name);
4014
+ if (key === void 0 || !Number.isFinite(value)) return;
4015
+ points.push({
4016
+ key,
4017
+ subject: {
4018
+ kind: "node",
4019
+ nodeId: r.nodeId
4020
+ },
4021
+ scope: r.locationId,
4022
+ ts: at,
4023
+ value
4024
+ });
4025
+ };
4026
+ const before = points.length;
4027
+ if (r.capacity !== null && r.capacity.totalBytes > 0) {
4028
+ const used = r.capacity.totalBytes - r.capacity.availableBytes;
4029
+ add(LOCATION_HISTORY_NAMES.usedPercent, Math.round(used / r.capacity.totalBytes * 1e3) / 10);
4030
+ add(LOCATION_HISTORY_NAMES.freeBytes, r.capacity.availableBytes);
4031
+ }
4032
+ if (r.ownedBytes !== void 0) add(LOCATION_HISTORY_NAMES.ownedBytes, r.ownedBytes);
4033
+ if (points.length > before) this.lastAt.set(r.locationId, at);
4034
+ }
4035
+ return points;
4036
+ }
4037
+ async record(readings, at) {
4038
+ if (readings.length === 0 || !await this.ensureDeclared()) return;
4039
+ const points = this.pointsOf(readings, at);
4040
+ if (points.length === 0) return;
4041
+ try {
4042
+ const result = await this.deps.deviceHistory.record({ points });
4043
+ if (result.refused.length > 0) {
4044
+ if (result.refused.some((r) => r.reason === "undeclared")) this.keys.clear();
4045
+ this.deps.logger.warn("storage: location history points refused", { meta: {
4046
+ accepted: result.accepted,
4047
+ refused: result.refused
4048
+ } });
4049
+ }
4050
+ } catch (err) {
4051
+ this.deps.logger.warn("storage: location history not stored", { meta: { error: err instanceof Error ? err.message : String(err) } });
4052
+ }
4053
+ }
4054
+ };
4055
+ //#endregion
3955
4056
  //#region src/builtins/storage-orchestrator/storage-orchestrator.addon.ts
3956
4057
  /**
3957
4058
  * `storage-orchestrator` builtin — singleton owner of the consumer-
@@ -4019,6 +4120,9 @@ var StorageOrchestratorAddon = class extends BaseAddon {
4019
4120
  return this.occupancySlice;
4020
4121
  }
4021
4122
  pressureTimer = null;
4123
+ /** Occupancy over time (device-history). Created with the timer that feeds it. */
4124
+ locationHistory = null;
4125
+ locationHistoryInFlight = false;
4022
4126
  pressureSweepInFlight = false;
4023
4127
  migration = null;
4024
4128
  /** Guards every single-location repoint and arbitrates movers per physical root. */
@@ -4435,8 +4539,16 @@ var StorageOrchestratorAddon = class extends BaseAddon {
4435
4539
  }
4436
4540
  }
4437
4541
  });
4542
+ this.locationHistory = new LocationHistoryRecorder({
4543
+ deviceHistory: {
4544
+ declareSeries: (input) => this.ctx.api.deviceHistory.declareSeries.mutate(input),
4545
+ record: (input) => this.ctx.api.deviceHistory.record.mutate({ points: [...input.points] })
4546
+ },
4547
+ logger: this.ctx.logger
4548
+ });
4438
4549
  this.pressureTimer = setInterval(() => {
4439
4550
  this.runPressureSweep();
4551
+ this.recordLocationHistory();
4440
4552
  }, PRESSURE_SWEEP_INTERVAL_MS);
4441
4553
  this.ctx.logger.info("Storage orchestrator initialized");
4442
4554
  return [
@@ -4583,6 +4695,37 @@ var StorageOrchestratorAddon = class extends BaseAddon {
4583
4695
  }
4584
4696
  }
4585
4697
  /**
4698
+ * One occupancy reading per location this node can read, into device-history.
4699
+ * The volume figures come from the same probe `listLocations` serves, the
4700
+ * held bytes from the occupancy slice; an unknown figure is no point (D393).
4701
+ */
4702
+ async recordLocationHistory() {
4703
+ const svc = this.service;
4704
+ const recorder = this.locationHistory;
4705
+ if (!svc || !recorder || this.locationHistoryInFlight) return;
4706
+ this.locationHistoryInFlight = true;
4707
+ try {
4708
+ this.occupancy.serveAndRevalidate();
4709
+ const localNode = svc.getLocalNodeId();
4710
+ const readings = [];
4711
+ for (const loc of svc.listLocations()) {
4712
+ if (!mayReadLocation(loc) || (loc.nodeId ?? HUB_NODE_ID) !== localNode) continue;
4713
+ const capacity = await this.localCapacityOf(loc).catch(() => null);
4714
+ readings.push({
4715
+ locationId: loc.id,
4716
+ nodeId: localNode,
4717
+ capacity,
4718
+ ownedBytes: this.occupancy.ownedFor(loc.id)?.bytes
4719
+ });
4720
+ }
4721
+ await recorder.record(readings, Date.now());
4722
+ } catch (err) {
4723
+ this.ctxIfReady?.logger.warn("storage: location history pass failed", { meta: { error: err instanceof Error ? err.message : String(err) } });
4724
+ } finally {
4725
+ this.locationHistoryInFlight = false;
4726
+ }
4727
+ }
4728
+ /**
4586
4729
  * Sample free space for every managed location and emit NC band edges.
4587
4730
  * A failed capacity read stays `null` and changes no band — never folded to 0 (D393).
4588
4731
  */
@@ -3,11 +3,11 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-BpqA2CT0.js");
6
+ const require_dist = require("../../dist-C89nqNnn.js");
7
7
  const require_safe_buffer$1 = require("../../safe-buffer-D3aoa-7X.js");
8
8
  const require_x509_es = require("../../x509.es-C4cOo48M.js");
9
- const require_constants$8 = require("../../constants-CavyKfHZ.js");
10
- const require_agent_https = require("../../agent-https-yjxdfJDA.js");
9
+ const require_constants$8 = require("../../constants-B_X9cWEK.js");
10
+ const require_agent_https = require("../../agent-https-CoyOZ3pC.js");
11
11
  const require_src$1 = require("../../src-CnAqG6EF.js");
12
12
  let zod = require("zod");
13
13
  let node_crypto = require("node:crypto");
@@ -1,9 +1,9 @@
1
1
  import { a as __toCommonJS, i as __require, n as __esmMin, o as __toESM, r as __exportAll, t as __commonJSMin } from "../../chunk-CNf5ZN-e.mjs";
2
- import { $r as BaseAddon, Bi as customAction, Hi as defineCustomActions, Ji as hydrateSchema, Qr as errMsg, ct as ServerNameSchema, vr as shortHostname } from "../../dist-BSF_C8W2.mjs";
2
+ import { Gi as defineCustomActions, Ui as customAction, Zi as hydrateSchema, ni as BaseAddon, ti as errMsg, ut as ServerNameSchema, xr as shortHostname } from "../../dist-Dhux90yB.mjs";
3
3
  import { t as require_safe_buffer } from "../../safe-buffer-B1OjL1I9.mjs";
4
4
  import { c as Pkcs10CertificateRequest } from "../../x509.es-DK__ETIe.mjs";
5
- import { a as MESH_CA_KEY_REF, i as MESH_CA_FIELD, n as DEFAULT_HUB_TLS_TCP_PORT, o as MESH_CA_SETTINGS_KEY } from "../../constants-i5oD_gLB.mjs";
6
- import { $ as generateMeshCa, B as setProcessAgentHttpsNames, H as MESH_NODE_CERTIFICATES_COLLECTION, I as AGENT_HTTPS_NAMES_COLLECTION, J as setProcessMeshCertificateRegistry, K as describeMeshLeaf, L as AGENT_HTTPS_NAMES_COLUMNS, M as isLocalOnlyHostname, Q as exportMeshPrivateKeyPem, R as AgentHttpsNames, U as MESH_NODE_CERTIFICATES_COLUMNS, V as systemConfigRecordKinds, W as MeshCertificateRegistry, X as caFingerprintCompact, Z as createMeshCsrPem, at as subjectCn, et as generateMeshKeyPair, it as loadMeshCa, nt as issueMeshLeafForNode, rt as issueMeshLeafFromCsr, tt as isValidAgentNodeId, u as isPrivateAddress, z as getProcessAgentHttpsNames } from "../../agent-https-fm4AR8XL.mjs";
5
+ import { a as MESH_CA_KEY_REF, i as MESH_CA_FIELD, n as DEFAULT_HUB_TLS_TCP_PORT, o as MESH_CA_SETTINGS_KEY } from "../../constants-cxKcZRMi.mjs";
6
+ import { $ as generateMeshCa, B as setProcessAgentHttpsNames, H as MESH_NODE_CERTIFICATES_COLLECTION, I as AGENT_HTTPS_NAMES_COLLECTION, J as setProcessMeshCertificateRegistry, K as describeMeshLeaf, L as AGENT_HTTPS_NAMES_COLUMNS, M as isLocalOnlyHostname, Q as exportMeshPrivateKeyPem, R as AgentHttpsNames, U as MESH_NODE_CERTIFICATES_COLUMNS, V as systemConfigRecordKinds, W as MeshCertificateRegistry, X as caFingerprintCompact, Z as createMeshCsrPem, at as subjectCn, et as generateMeshKeyPair, it as loadMeshCa, nt as issueMeshLeafForNode, rt as issueMeshLeafFromCsr, tt as isValidAgentNodeId, u as isPrivateAddress, z as getProcessAgentHttpsNames } from "../../agent-https-CK9Z4sSR.mjs";
7
7
  import { t as require_src } from "../../src-hG4grMU4.mjs";
8
8
  import { z } from "zod";
9
9
  import { X509Certificate, createHash, createPrivateKey, randomBytes, randomInt, sign, timingSafeEqual, verify, webcrypto } from "node:crypto";