@camstack/system 1.2.431 → 1.2.433

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 (97) hide show
  1. package/dist/{tls-C5IYg3V5.js → agent-https-CHZTxK-q.js} +123 -759
  2. package/dist/{tls-CpcGkeJV.mjs → agent-https-DtRU9A7I.mjs} +89 -611
  3. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
  4. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
  5. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
  6. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
  7. package/dist/builtins/alerts/alerts.addon.js +1 -1
  8. package/dist/builtins/alerts/alerts.addon.mjs +1 -1
  9. package/dist/builtins/autotrack/index.js +1 -1
  10. package/dist/builtins/autotrack/index.mjs +1 -1
  11. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +2 -2
  12. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +2 -2
  13. package/dist/builtins/calendars/calendars.addon.js +1 -1
  14. package/dist/builtins/calendars/calendars.addon.mjs +1 -1
  15. package/dist/builtins/camera-grid/index.js +1 -1
  16. package/dist/builtins/camera-grid/index.mjs +1 -1
  17. package/dist/builtins/composer/composer.addon.js +2 -2
  18. package/dist/builtins/composer/composer.addon.mjs +2 -2
  19. package/dist/builtins/console-logging/index.js +1 -1
  20. package/dist/builtins/console-logging/index.mjs +1 -1
  21. package/dist/builtins/core-blocks/core-blocks.addon.js +2 -2
  22. package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
  23. package/dist/builtins/device-manager/device-manager.addon.js +2 -2
  24. package/dist/builtins/device-manager/device-manager.addon.mjs +2 -2
  25. package/dist/builtins/hub-forwarder/index.js +1 -1
  26. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  27. package/dist/builtins/keychain/index.js +3 -3
  28. package/dist/builtins/keychain/index.mjs +3 -3
  29. package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
  30. package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
  31. package/dist/builtins/local-auth/local-auth.addon.js +2 -2
  32. package/dist/builtins/local-auth/local-auth.addon.mjs +2 -2
  33. package/dist/builtins/local-network/agent-mdns.d.ts +51 -0
  34. package/dist/builtins/local-network/local-network.addon.js +20 -45
  35. package/dist/builtins/local-network/local-network.addon.mjs +2 -28
  36. package/dist/builtins/loki-logging/index.js +1 -1
  37. package/dist/builtins/loki-logging/index.mjs +1 -1
  38. package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
  39. package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
  40. package/dist/builtins/platform-probe/index.js +1 -1
  41. package/dist/builtins/platform-probe/index.mjs +1 -1
  42. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  43. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  44. package/dist/builtins/snapshot/index.js +1 -1
  45. package/dist/builtins/snapshot/index.mjs +1 -1
  46. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  47. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
  48. package/dist/builtins/sqlite-storage/index.js +1 -1
  49. package/dist/builtins/sqlite-storage/index.mjs +1 -1
  50. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +3 -3
  51. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +3 -3
  52. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
  53. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
  54. package/dist/builtins/system-config/system-config.addon.js +1370 -28
  55. package/dist/builtins/system-config/system-config.addon.mjs +1344 -25
  56. package/dist/builtins/winston-logging/index.js +1 -1
  57. package/dist/builtins/winston-logging/index.mjs +1 -1
  58. package/dist/{composition-sources-Cw_TXEq9.mjs → composition-sources-8-cpAt1c.mjs} +1 -1
  59. package/dist/{composition-sources-o5MPSlk6.js → composition-sources-BgJWQMjr.js} +1 -1
  60. package/dist/{constants-BcNaVkvI.js → constants-Ah3T_KAW.js} +2 -2
  61. package/dist/{constants-CttE77VF.mjs → constants-Cg9ve13y.mjs} +2 -2
  62. package/dist/{device-ca-B-BTxeCj.mjs → device-ca-DUrcTW5h.mjs} +1 -1
  63. package/dist/{device-ca-CKiqh2Iu.js → device-ca-NNP4Jz0P.js} +1 -1
  64. package/dist/{dist-DxJdci75.js → dist-C6Yvfhpq.js} +360 -1
  65. package/dist/{dist-CXG6muCR.mjs → dist-DJnlnL7P.mjs} +349 -2
  66. package/dist/file-host-worker.js +1 -1
  67. package/dist/file-host-worker.mjs +1 -1
  68. package/dist/hub-mdns-ciao-8_Ed1Za5.mjs +648 -0
  69. package/dist/hub-mdns-ciao-B50jAU5C.js +821 -0
  70. package/dist/index.d.ts +3 -0
  71. package/dist/index.js +176 -67
  72. package/dist/index.mjs +96 -13
  73. package/dist/kernel/index.d.ts +5 -4
  74. package/dist/kernel/moleculer/agent-mesh-authenticator.d.ts +12 -1
  75. package/dist/kernel/moleculer/agent-ui-unlock.d.ts +40 -0
  76. package/dist/kernel/moleculer/mesh-authenticator.d.ts +6 -0
  77. package/dist/kernel/moleculer/mesh-mtls/constants.d.ts +1 -1
  78. package/dist/kernel/moleculer/mesh-mtls/index.d.ts +3 -2
  79. package/dist/kernel/moleculer/mesh-mtls/mesh-ca.d.ts +4 -0
  80. package/dist/kernel/moleculer/mesh-mtls/mesh-certificate-registry.d.ts +2 -2
  81. package/dist/kernel/moleculer/mesh-mtls/mesh-join-token.d.ts +3 -2
  82. package/dist/kernel/moleculer/mesh-mtls/mesh-peer-transport.d.ts +7 -0
  83. package/dist/kernel/moleculer/mesh-mtls/pairing/agent-pairing.d.ts +204 -0
  84. package/dist/kernel/moleculer/mesh-mtls/pairing/hub-pairing.d.ts +115 -0
  85. package/dist/kernel/moleculer/mesh-mtls/pairing/index.d.ts +3 -0
  86. package/dist/kernel/moleculer/mesh-mtls/pairing/pairing-protocol.d.ts +107 -0
  87. package/dist/kernel/moleculer/mesh-mtls/tls-tcp-transporter.d.ts +18 -0
  88. package/dist/{restore-archive-D_wBL1OO.mjs → restore-archive-C3_rzOCx.mjs} +1 -1
  89. package/dist/{restore-archive-CQJNoqRK.js → restore-archive-DqPaRjjY.js} +1 -1
  90. package/dist/{retired-settings-keys-EmDe11cP.mjs → retired-settings-keys-CAWHWDwy.mjs} +1 -1
  91. package/dist/{retired-settings-keys-g1oifXxR.js → retired-settings-keys-DJBQkZok.js} +1 -1
  92. package/dist/tls/agent-https-names.d.ts +2 -0
  93. package/dist/{wal-maintenance-vhPZLYuA.mjs → wal-maintenance-Bc38yI3r.mjs} +0 -0
  94. package/dist/{wal-maintenance-BW1LIHi0.js → wal-maintenance-CPLvZbzA.js} +0 -0
  95. package/package.json +1 -1
  96. package/dist/agent-https-names-CpUSuP4w.js +0 -120
  97. package/dist/agent-https-names-uetr4OQl.mjs +0 -91
@@ -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-DxJdci75.js");
6
+ const require_dist = require("../../dist-C6Yvfhpq.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 { J as addonPagesCapability, _r as BaseAddon, gr as errMsg, li as EventCategory } from "../../dist-CXG6muCR.mjs";
1
+ import { X as addonPagesCapability, di as EventCategory, vr as errMsg, yr as BaseAddon } from "../../dist-DJnlnL7P.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-DxJdci75.js");
6
+ const require_dist = require("../../dist-C6Yvfhpq.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 { X as addonWidgetsCapability, _r as BaseAddon, gr as errMsg, li as EventCategory } from "../../dist-CXG6muCR.mjs";
1
+ import { Q as addonWidgetsCapability, di as EventCategory, vr as errMsg, yr as BaseAddon } from "../../dist-DJnlnL7P.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-DxJdci75.js");
6
+ const require_dist = require("../../dist-C6Yvfhpq.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 { Nr as createEvent, Z as alertsCapability, _r as BaseAddon, gr as errMsg, li as EventCategory, n as AlertSchema } from "../../dist-CXG6muCR.mjs";
1
+ import { $ as alertsCapability, Fr as createEvent, di as EventCategory, i as AlertSchema, vr as errMsg, yr as BaseAddon } from "../../dist-DJnlnL7P.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-DxJdci75.js");
6
+ const require_dist = require("../../dist-C6Yvfhpq.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 { Cn as ptzAutotrackCapability, D as FIRST_LEVEL_MACRO_CLASSES, Hr as isEvent, _r as BaseAddon, et as bareAddonId, gr as errMsg, li as EventCategory } from "../../dist-CXG6muCR.mjs";
1
+ import { Tn as ptzAutotrackCapability, Wr as isEvent, di as EventCategory, k as FIRST_LEVEL_MACRO_CLASSES, nt as bareAddonId, vr as errMsg, yr as BaseAddon } from "../../dist-DJnlnL7P.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-DxJdci75.js");
7
- const require_restore_archive = require("../../restore-archive-CQJNoqRK.js");
6
+ const require_dist = require("../../dist-C6Yvfhpq.js");
7
+ const require_restore_archive = require("../../restore-archive-DqPaRjjY.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 { $ as backupCapability, Jr as nodePin, Un as storageOccupancyCapability, _r as BaseAddon, li as EventCategory, ln as mayWriteToLocation, oi as toNodeId } from "../../dist-CXG6muCR.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-D_wBL1OO.mjs";
1
+ import { Gn as storageOccupancyCapability, Xr as nodePin, ci as toNodeId, di as EventCategory, dn as mayWriteToLocation, tt as backupCapability, yr as BaseAddon } from "../../dist-DJnlnL7P.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-C3_rzOCx.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-DxJdci75.js");
6
+ const require_dist = require("../../dist-C6Yvfhpq.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 { _r as BaseAddon, ot as calendarsCapability, p as CalendarPreferencesSchema } from "../../dist-CXG6muCR.mjs";
1
+ import { ct as calendarsCapability, h as CalendarPreferencesSchema, yr as BaseAddon } from "../../dist-DJnlnL7P.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-DxJdci75.js");
6
+ const require_dist = require("../../dist-C6Yvfhpq.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 { Bn as snapshotCapability, Br as hydrateSchema, Gn as streamCatalogCapability, L as MOTION_CLOSE_AFTER_MS, Nr as createEvent, T as DeclaredDevices, _r as BaseAddon, b as DERIVED_CAMERA_SILENCED_CAP_NAMES, gr as errMsg, hr as DeviceType, i as BaseDevice, li as EventCategory, nr as buildFfmpegArgs, pn as motionCapability, pr as DeviceFeature, st as cameraGridLayoutCapability, un as memoizePinnedFfmpeg, xt as declarationOwnerNodeId } from "../../dist-CXG6muCR.mjs";
1
+ import { Ct as declarationOwnerNodeId, D as DeclaredDevices, Fr as createEvent, Hn as snapshotCapability, Hr as hydrateSchema, S as DERIVED_CAMERA_SILENCED_CAP_NAMES, _r as DeviceType, di as EventCategory, fn as memoizePinnedFfmpeg, hn as motionCapability, hr as DeviceFeature, ir as buildFfmpegArgs, lt as cameraGridLayoutCapability, o as BaseDevice, qn as streamCatalogCapability, vr as errMsg, yr as BaseAddon, z as MOTION_CLOSE_AFTER_MS } from "../../dist-DJnlnL7P.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-DxJdci75.js");
7
- const require_composition_sources = require("../../composition-sources-o5MPSlk6.js");
6
+ const require_dist = require("../../dist-C6Yvfhpq.js");
7
+ const require_composition_sources = require("../../composition-sources-BgJWQMjr.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 { Lt as expressionContainsBuiltinCall, Nr as createEvent, Pt as evaluateCompositionField, T as DeclaredDevices, _r as BaseAddon, ar as composedDeviceStableId, bn as planComposition, cr as compositionSliceKey, dr as disarmRoseMemory, dt as compositionFieldKey, fr as toExpressionValue, gr as errMsg, hr as DeviceType, i as BaseDevice, ir as composedDeviceRef, l as COMPOSED_ITEM_FIXED_FIELDS, li as EventCategory, lr as compositionSourceKey, nt as buildCapabilityLookup, or as compositionFeatureEnabled, rr as cloneStatefulExpressionMemory, sr as compositionItemFieldPath, t as ALL_CAPABILITY_DEFINITIONS, tr as COMPOSER_ADDON_ID, ur as createStatefulExpressionMemory, ut as composerCapability } from "../../dist-CXG6muCR.mjs";
2
- import { n as normalizedNativeOwner } from "../../composition-sources-Cw_TXEq9.mjs";
1
+ import { D as DeclaredDevices, Fr as createEvent, It as evaluateCompositionField, Sn as planComposition, _r as DeviceType, ar as cloneStatefulExpressionMemory, cr as compositionFeatureEnabled, d as COMPOSED_ITEM_FIXED_FIELDS, di as EventCategory, dr as compositionSourceKey, fr as createStatefulExpressionMemory, ft as composerCapability, it as buildCapabilityLookup, lr as compositionItemFieldPath, mr as toExpressionValue, o as BaseDevice, or as composedDeviceRef, pr as disarmRoseMemory, pt as compositionFieldKey, r as ALL_CAPABILITY_DEFINITIONS, rr as COMPOSER_ADDON_ID, sr as composedDeviceStableId, ur as compositionSliceKey, vr as errMsg, yr as BaseAddon, zt as expressionContainsBuiltinCall } from "../../dist-DJnlnL7P.mjs";
2
+ import { n as normalizedNativeOwner } from "../../composition-sources-8-cpAt1c.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-DxJdci75.js");
6
+ const require_dist = require("../../dist-C6Yvfhpq.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 { _r as BaseAddon, an as logDestinationCapability } from "../../dist-CXG6muCR.mjs";
1
+ import { sn as logDestinationCapability, yr as BaseAddon } from "../../dist-DJnlnL7P.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-DxJdci75.js");
4
- const require_composition_sources = require("../../composition-sources-o5MPSlk6.js");
3
+ const require_dist = require("../../dist-C6Yvfhpq.js");
4
+ const require_composition_sources = require("../../composition-sources-BgJWQMjr.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 { Br as hydrateSchema, On as resolveCoreBlockEntry, T as DeclaredDevices, Tn as replacedFieldKeys, Tt as describeComposableCaps, Yn as validateComposition, _r as BaseAddon, _t as coreBlocksCapability, bn as planComposition, d as CORE_BLOCKS_ADDON_ID, f as CORE_BLOCK_ADDON_PREFIX, ft as compositionSourceRefs, gr as errMsg, gt as coreBlockSourceKind, ht as coreBlockIdFromAddonId, ir as composedDeviceRef, kn as resolveCoreBlockFiles, lr as compositionSourceKey, m as CoreBlockSchema, mn as normalizeCoreBlockWrite, mt as coreBlockComposition, nt as buildCapabilityLookup, pt as coreBlockAddonId, t as ALL_CAPABILITY_DEFINITIONS, u as COMPOSER_RUNNER_ID } from "../../dist-CXG6muCR.mjs";
2
- import { t as describeCompositionSources } from "../../composition-sources-Cw_TXEq9.mjs";
1
+ import { An as resolveCoreBlockEntry, D as DeclaredDevices, Dn as replacedFieldKeys, Dt as describeComposableCaps, Hr as hydrateSchema, Sn as planComposition, Zn as validateComposition, _t as coreBlockIdFromAddonId, dr as compositionSourceKey, f as COMPOSER_RUNNER_ID, g as CoreBlockSchema, gn as normalizeCoreBlockWrite, gt as coreBlockComposition, ht as coreBlockAddonId, it as buildCapabilityLookup, jn as resolveCoreBlockFiles, m as CORE_BLOCK_ADDON_PREFIX, mt as compositionSourceRefs, or as composedDeviceRef, p as CORE_BLOCKS_ADDON_ID, r as ALL_CAPABILITY_DEFINITIONS, vr as errMsg, vt as coreBlockSourceKind, yr as BaseAddon, yt as coreBlocksCapability } from "../../dist-DJnlnL7P.mjs";
2
+ import { t as describeCompositionSources } from "../../composition-sources-8-cpAt1c.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-DxJdci75.js");
7
- const require_retired_settings_keys = require("../../retired-settings-keys-g1oifXxR.js");
6
+ const require_dist = require("../../dist-C6Yvfhpq.js");
7
+ const require_retired_settings_keys = require("../../retired-settings-keys-DJBQkZok.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 { At as deviceStatusCapability, Ct as defineExtensionSlotProvider, Dt as deviceExtensionCapability, E as DeviceStatusSchema, Er as WELL_KNOWN_TAB_MAP, Gr as isSecretMarker, Ht as formatMinutes, I as MINUTES_PER_DAY, It as expandContainer, Kr as isSecretMarkerLike, Mr as collectZodSecretPaths, Mt as enumerateItemArrayFields, Nt as enumerateSchemaFields, O as FieldClaimModeSchema, Ot as deviceManagerCapability, Pn as runtimeStatePolicyFor, Tr as SECRET_CLEAR, Ur as isKeychainStoredField, V as STREAM_PROFILE_META, Vr as isDeviceConfigCap, Wr as isSecretClear, _r as BaseAddon, ai as sleep$1, at as buildStreamParamsConfigSchema, c as CAP_NAMES_WITH_STATUS, ci as transformSecretWrite, ct as canonicalIconKey, en as legacyAutoLinkIds, gr as errMsg, hn as normalizeUnit, hr as DeviceType, in as locationIconKey, k as FieldClaimSchema, kt as deviceStateCapability, li as EventCategory, mr as DeviceRole, o as CAMERA_SWITCH_ORDER, pr as DeviceFeature, ri as secretTreeFromPaths, si as toSecretFieldView, t as ALL_CAPABILITY_DEFINITIONS, ti as resolveSecretMarkers, vn as parseStreamParamsFormPatch, vt as createDeviceExtensionProvider, y as DAY_NAMES, zn as siteZoneKey } from "../../dist-CXG6muCR.mjs";
2
- import { n as purgeRetiredSettingsRows } from "../../retired-settings-keys-EmDe11cP.mjs";
1
+ import { A as FieldClaimModeSchema, At as deviceManagerCapability, Dr as SECRET_CLEAR, Ft as enumerateSchemaFields, Gr as isKeychainStoredField, In as runtimeStatePolicyFor, Jr as isSecretMarkerLike, Kr as isSecretClear, Mt as deviceStatusCapability, O as DeviceStatusSchema, Or as WELL_KNOWN_TAB_MAP, Pr as collectZodSecretPaths, Pt as enumerateItemArrayFields, R as MINUTES_PER_DAY, Rt as expandContainer, Tt as defineExtensionSlotProvider, U as STREAM_PROFILE_META, Ur as isDeviceConfigCap, Vn as siteZoneKey, Wt as formatMinutes, _n as normalizeUnit, _r as DeviceType, ai as secretTreeFromPaths, bn as parseStreamParamsFormPatch, bt as createDeviceExtensionProvider, c as CAMERA_SWITCH_ORDER, di as EventCategory, gr as DeviceRole, hr as DeviceFeature, j as FieldClaimSchema, jt as deviceStateCapability, kt as deviceExtensionCapability, li as toSecretFieldView, nn as legacyAutoLinkIds, on as locationIconKey, qr as isSecretMarker, r as ALL_CAPABILITY_DEFINITIONS, ri as resolveSecretMarkers, si as sleep$1, st as buildStreamParamsConfigSchema, u as CAP_NAMES_WITH_STATUS, ui as transformSecretWrite, ut as canonicalIconKey, vr as errMsg, x as DAY_NAMES, yr as BaseAddon } from "../../dist-DJnlnL7P.mjs";
2
+ import { n as purgeRetiredSettingsRows } from "../../retired-settings-keys-CAWHWDwy.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-DxJdci75.js");
6
+ const require_dist = require("../../dist-C6Yvfhpq.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 { _r as BaseAddon, an as logDestinationCapability } from "../../dist-CXG6muCR.mjs";
1
+ import { sn as logDestinationCapability, yr as BaseAddon } from "../../dist-DJnlnL7P.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-DxJdci75.js");
7
- const require_device_ca = require("../../device-ca-CKiqh2Iu.js");
8
- const require_constants = require("../../constants-BcNaVkvI.js");
6
+ const require_dist = require("../../dist-C6Yvfhpq.js");
7
+ const require_device_ca = require("../../device-ca-NNP4Jz0P.js");
8
+ const require_constants = require("../../constants-Ah3T_KAW.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 { $t as keychainCapability, M as KEYCHAIN_RESET_TRIGGER_ACTOR, Qr as parseSecretRef, Qt as keychainAdminCapability, Yr as normalizeSecretOwner, _r as BaseAddon, li as EventCategory, zr as formatSecretScope } from "../../dist-CXG6muCR.mjs";
2
- import { d as JWT_SIGNING_KEY_REF, n as DEVICE_CA_KEY_REF, p as SYSTEM_SECRET_OWNER } from "../../device-ca-B-BTxeCj.mjs";
3
- import { a as MESH_CA_KEY_REF, p as CLUSTER_SECRET_SETTINGS_KEY } from "../../constants-CttE77VF.mjs";
1
+ import { P as KEYCHAIN_RESET_TRIGGER_ACTOR, Vr as formatSecretScope, Zr as normalizeSecretOwner, di as EventCategory, ei as parseSecretRef, en as keychainAdminCapability, tn as keychainCapability, yr as BaseAddon } from "../../dist-DJnlnL7P.mjs";
2
+ import { d as JWT_SIGNING_KEY_REF, n as DEVICE_CA_KEY_REF, p as SYSTEM_SECRET_OWNER } from "../../device-ca-DUrcTW5h.mjs";
3
+ import { a as MESH_CA_KEY_REF, p as CLUSTER_SECRET_SETTINGS_KEY } from "../../constants-Cg9ve13y.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-DxJdci75.js");
3
+ const require_dist = require("../../dist-C6Yvfhpq.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 { Nr as createEvent, R as RECORDING_SOURCE_CAMSTACK_ADDON, _r as BaseAddon, gr as errMsg, li as EventCategory, z as RecordingStatusSchema } from "../../dist-CXG6muCR.mjs";
1
+ import { B as RECORDING_SOURCE_CAMSTACK_ADDON, Fr as createEvent, V as RecordingStatusSchema, di as EventCategory, vr as errMsg, yr as BaseAddon } from "../../dist-DJnlnL7P.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-DxJdci75.js");
6
+ const require_dist = require("../../dist-C6Yvfhpq.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-CKiqh2Iu.js");
9
+ const require_device_ca = require("../../device-ca-NNP4Jz0P.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");
@@ -1,8 +1,8 @@
1
1
  import { i as __require, o as __toESM, t as __commonJSMin } from "../../chunk-CNf5ZN-e.mjs";
2
- import { Et as deviceCredentialsCapability, H as ScopedTokenSchema, Jn as userManagementCapability, Q as authProviderCapability, S as DEVICE_NONCE_TTL_MS, Vt as formatDeviceRevoker, _r as BaseAddon, it as buildDeviceSignatureMessage, q as UserRecordSchema, r as ApiKeyRecordSchema, rt as buildDeviceEnrollmentLink, x as DEVICE_ENROLLMENT_TTL_MS } from "../../dist-CXG6muCR.mjs";
2
+ import { C as DEVICE_ENROLLMENT_TTL_MS, Ot as deviceCredentialsCapability, Ut as formatDeviceRevoker, W as ScopedTokenSchema, Xn as userManagementCapability, Y as UserRecordSchema, a as ApiKeyRecordSchema, at as buildDeviceEnrollmentLink, et as authProviderCapability, ot as buildDeviceSignatureMessage, w as DEVICE_NONCE_TTL_MS, yr as BaseAddon } from "../../dist-DJnlnL7P.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-B-BTxeCj.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-DUrcTW5h.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";
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Agent mDNS advertisement (D857) — how a hub finds agents to pair.
3
+ *
4
+ * Every agent publishes ONE `_camstack-agent._tcp` service for its API port,
5
+ * paired or not. The TXT record carries only public facts: the node id, the
6
+ * version, the pairing state and — once paired — a short fingerprint of its
7
+ * mesh leaf. Finding an agent grants nothing: pairing still needs the code
8
+ * confirmed on both screens. The state is re-announced when it changes, so the
9
+ * hub's list never shows an agent as free that is already paired.
10
+ *
11
+ * The pairing key is generated per pairing attempt (a fresh key for every
12
+ * offer), so before pairing there is no key to advertise; `fp` appears only
13
+ * after, as the leaf fingerprint.
14
+ *
15
+ * The responder is injected, exactly as for the hub's own advertisement
16
+ * (`hub-mdns.ts`); the real one is `createCiaoPublisher()`.
17
+ */
18
+ import type { IScopedLogger } from "@camstack/types";
19
+ import type { HubMdnsAnnouncement, HubMdnsPublisher } from "./hub-mdns.js";
20
+ import type { AgentPairingState } from "../../kernel/moleculer/mesh-mtls/pairing/pairing-protocol.js";
21
+ export interface AgentMdnsInputs {
22
+ readonly nodeId: string;
23
+ readonly version: string | null;
24
+ readonly port: number;
25
+ readonly state: AgentPairingState;
26
+ /** Short fingerprint of the agent's mesh leaf, `null` while unpaired. */
27
+ readonly leafFingerprint: string | null;
28
+ }
29
+ export declare function buildAgentAnnouncement(inputs: AgentMdnsInputs): HubMdnsAnnouncement;
30
+ export interface AgentMdnsAdvertiserOptions {
31
+ readonly publisher: HubMdnsPublisher;
32
+ readonly logger: Pick<IScopedLogger, "info" | "warn">;
33
+ }
34
+ /**
35
+ * Keeps one mDNS service in step with the agent's pairing state. `sync()` is safe
36
+ * to call on any change; it never throws — a failure to advertise is logged and
37
+ * the agent goes on (a typed address still pairs it).
38
+ */
39
+ export declare class AgentMdnsAdvertiser {
40
+ private readonly options;
41
+ private current;
42
+ private running;
43
+ private chain;
44
+ constructor(options: AgentMdnsAdvertiserOptions);
45
+ start(inputs: AgentMdnsInputs): Promise<void>;
46
+ /** Announce `inputs` if they differ from what is announced. Serialised. */
47
+ sync(inputs: AgentMdnsInputs): Promise<void>;
48
+ stop(): Promise<void>;
49
+ private syncOnce;
50
+ private withdraw;
51
+ }
@@ -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-DxJdci75.js");
4
- const require_tls = require("../../tls-C5IYg3V5.js");
3
+ const require_dist = require("../../dist-C6Yvfhpq.js");
4
+ const require_hub_mdns_ciao = require("../../hub-mdns-ciao-B50jAU5C.js");
5
5
  let zod = require("zod");
6
6
  let node_net = require("node:net");
7
7
  let node_os = require("node:os");
@@ -491,31 +491,6 @@ function internalUrlOf(book) {
491
491
  return book.roles.internal.resolved;
492
492
  }
493
493
  //#endregion
494
- //#region src/builtins/local-network/hub-mdns-ciao.ts
495
- function createCiaoPublisher() {
496
- return { async publish(announcement) {
497
- const { getResponder } = await Promise.resolve().then(() => /* @__PURE__ */ require_chunk.__toESM(require("../../lib-DOJ5yyWA.js").default));
498
- const responder = getResponder();
499
- const service = responder.createService({
500
- name: announcement.name,
501
- type: announcement.type,
502
- port: announcement.port,
503
- txt: { ...announcement.txt },
504
- ...announcement.address !== null ? { restrictedAddresses: [announcement.address] } : {}
505
- });
506
- try {
507
- await service.advertise();
508
- } catch (err) {
509
- await responder.shutdown().catch(() => void 0);
510
- throw err;
511
- }
512
- return { stop: async () => {
513
- await service.destroy();
514
- await responder.shutdown();
515
- } };
516
- } };
517
- }
518
- //#endregion
519
494
  //#region src/builtins/local-network/local-hostname.ts
520
495
  var DNS_NAME = /^(?=.{1,253}$)([a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])$/;
521
496
  /**
@@ -607,7 +582,7 @@ var LocalNetworkAddon = class extends require_dist.BaseAddon {
607
582
  appConnectionUrls: [],
608
583
  customAddresses: [],
609
584
  httpEnabled: true,
610
- httpPort: require_tls.DEFAULT_LAN_HTTP_PORT,
585
+ httpPort: require_hub_mdns_ciao.DEFAULT_LAN_HTTP_PORT,
611
586
  localHostname: "",
612
587
  internalUrl: "",
613
588
  publicEndpointUrl: "",
@@ -742,7 +717,7 @@ var LocalNetworkAddon = class extends require_dist.BaseAddon {
742
717
  * on (`http` is the palette that already carries those rows).
743
718
  */
744
719
  listenerOriginsNow(state, http, httpsPort) {
745
- const httpListening = this.config.httpEnabled !== false && require_tls.readLanHttpState().listening;
720
+ const httpListening = this.config.httpEnabled !== false && require_hub_mdns_ciao.readLanHttpState().listening;
746
721
  const hostname = this.config.localHostname || null;
747
722
  const localNameOrigins = hostname === null ? [] : [`https://${hostname}:${httpsPort}`, ...httpListening ? [`http://${hostname}:${this.resolvedHttpPort()}`] : []];
748
723
  return buildListenerOrigins({
@@ -755,7 +730,7 @@ var LocalNetworkAddon = class extends require_dist.BaseAddon {
755
730
  /** The DETECTED palette from the cached interface/tunnel/mesh state. */
756
731
  endpointsNow(includeLoopback, ipv4Only, scheme, httpsPort, advertiseLanHttp = true) {
757
732
  const interfaces = applyAllowlist(this.enumerate(), this.config.allowedAddresses);
758
- const httpState = require_tls.readLanHttpState();
733
+ const httpState = require_hub_mdns_ciao.readLanHttpState();
759
734
  return buildEndpoints(interfaces, httpsPort, includeLoopback, ipv4Only, this.publicHostname, scheme, this.meshEndpoint, advertiseLanHttp ? {
760
735
  enabled: this.config.httpEnabled !== false,
761
736
  listening: httpState.listening,
@@ -863,13 +838,13 @@ var LocalNetworkAddon = class extends require_dist.BaseAddon {
863
838
  },
864
839
  getTlsStatus: async () => this.snapshotTls(),
865
840
  regenerateCertificate: async (_input) => {
866
- const extraSans = [...require_tls.readExtraSans(this.tlsDataDir())];
867
- await require_tls.regenerateCertificate(this.tlsDataDir(), { extraSans });
841
+ const extraSans = [...require_hub_mdns_ciao.readExtraSans(this.tlsDataDir())];
842
+ await require_hub_mdns_ciao.regenerateCertificate(this.tlsDataDir(), { extraSans });
868
843
  this.putCertificateOnListener("regenerate");
869
844
  return this.snapshotTls();
870
845
  },
871
846
  uploadCertificate: async ({ certPem, keyPem, caPem }) => {
872
- await require_tls.storeUploadedCertificate(this.tlsDataDir(), {
847
+ await require_hub_mdns_ciao.storeUploadedCertificate(this.tlsDataDir(), {
873
848
  certPem,
874
849
  keyPem,
875
850
  caPem
@@ -881,8 +856,8 @@ var LocalNetworkAddon = class extends require_dist.BaseAddon {
881
856
  return { pem: this.snapshotTls().caCertPem ?? "" };
882
857
  },
883
858
  revertToGeneratedCertificate: async () => {
884
- const extraSans = [...require_tls.readExtraSans(this.tlsDataDir())];
885
- await require_tls.revertToGeneratedCertificate(this.tlsDataDir(), { extraSans });
859
+ const extraSans = [...require_hub_mdns_ciao.readExtraSans(this.tlsDataDir())];
860
+ await require_hub_mdns_ciao.revertToGeneratedCertificate(this.tlsDataDir(), { extraSans });
886
861
  this.putCertificateOnListener("revert");
887
862
  return this.snapshotTls();
888
863
  }
@@ -945,7 +920,7 @@ var LocalNetworkAddon = class extends require_dist.BaseAddon {
945
920
  min: 1,
946
921
  max: 65535,
947
922
  step: 1,
948
- default: require_tls.DEFAULT_LAN_HTTP_PORT,
923
+ default: require_hub_mdns_ciao.DEFAULT_LAN_HTTP_PORT,
949
924
  showWhen: {
950
925
  field: "httpEnabled",
951
926
  equals: true
@@ -984,7 +959,7 @@ var LocalNetworkAddon = class extends require_dist.BaseAddon {
984
959
  return;
985
960
  }
986
961
  if (this.mdns === null) this.mdns = new HubMdnsAdvertiser({
987
- publisher: createCiaoPublisher(),
962
+ publisher: require_hub_mdns_ciao.createCiaoPublisher(),
988
963
  logger: this.ctx.logger,
989
964
  nodeId: this.ctx.kernel.localNodeId ?? "hub",
990
965
  version: null,
@@ -1068,13 +1043,13 @@ var LocalNetworkAddon = class extends require_dist.BaseAddon {
1068
1043
  }
1069
1044
  resolvedHttpPort() {
1070
1045
  const port = this.config.httpPort;
1071
- return Number.isInteger(port) && port >= 1 && port <= 65535 ? port : require_tls.DEFAULT_LAN_HTTP_PORT;
1046
+ return Number.isInteger(port) && port >= 1 && port <= 65535 ? port : require_hub_mdns_ciao.DEFAULT_LAN_HTTP_PORT;
1072
1047
  }
1073
1048
  tlsDataDir() {
1074
1049
  return this.ctx.nodeDataDir ?? this.ctx.dataDir;
1075
1050
  }
1076
1051
  snapshotTls() {
1077
- const status = require_tls.readTlsAccessStatus(this.tlsDataDir(), require_tls.servedHttpsLeafFingerprint());
1052
+ const status = require_hub_mdns_ciao.readTlsAccessStatus(this.tlsDataDir(), require_hub_mdns_ciao.servedHttpsLeafFingerprint());
1078
1053
  return {
1079
1054
  ...status,
1080
1055
  sans: [...status.sans]
@@ -1087,7 +1062,7 @@ var LocalNetworkAddon = class extends require_dist.BaseAddon {
1087
1062
  * a certificate change that did not reach the listener must say so.
1088
1063
  */
1089
1064
  putCertificateOnListener(action) {
1090
- const outcome = require_tls.applyCertificateToListener(this.tlsDataDir());
1065
+ const outcome = require_hub_mdns_ciao.applyCertificateToListener(this.tlsDataDir());
1091
1066
  if (outcome.kind === "reloaded") {
1092
1067
  this.ctx.logger.info("local-network: HTTPS listener now serves the new certificate", { meta: {
1093
1068
  action,
@@ -1113,17 +1088,17 @@ var LocalNetworkAddon = class extends require_dist.BaseAddon {
1113
1088
  const httpsPort = (await this.resolveAdvertisedListenPort(null)).port;
1114
1089
  const httpPort = this.resolvedHttpPort();
1115
1090
  if (this.config.httpEnabled !== false && httpPort === httpsPort) throw new Error(`HTTP port ${httpPort} cannot equal the HTTPS listen port`);
1116
- await require_tls.applyLanHttp({
1091
+ await require_hub_mdns_ciao.applyLanHttp({
1117
1092
  enabled: this.config.httpEnabled !== false,
1118
1093
  port: httpPort,
1119
1094
  host: "0.0.0.0"
1120
1095
  });
1121
1096
  if (hostname !== "") {
1122
- require_tls.writeExtraSans(this.tlsDataDir(), [hostname]);
1123
- if (require_tls.readTlsMode(this.tlsDataDir()) === "generated") {
1124
- if ((await require_tls.ensureTlsCert(this.tlsDataDir(), { extraSans: [hostname] })).generated) this.putCertificateOnListener("hostname");
1097
+ require_hub_mdns_ciao.writeExtraSans(this.tlsDataDir(), [hostname]);
1098
+ if (require_hub_mdns_ciao.readTlsMode(this.tlsDataDir()) === "generated") {
1099
+ if ((await require_hub_mdns_ciao.ensureTlsCert(this.tlsDataDir(), { extraSans: [hostname] })).generated) this.putCertificateOnListener("hostname");
1125
1100
  }
1126
- } else require_tls.writeExtraSans(this.tlsDataDir(), []);
1101
+ } else require_hub_mdns_ciao.writeExtraSans(this.tlsDataDir(), []);
1127
1102
  }
1128
1103
  /**
1129
1104
  * The port this hub is actually listening on, plus the provenance of the
@@ -1,6 +1,5 @@
1
- import { o as __toESM } from "../../chunk-CNf5ZN-e.mjs";
2
- import { A as HUB_MDNS_SERVICE_TYPE, An as resolveHubAddressRoles, En as resolveAppConnections, Nn as resolveNotificationTapAddress, Wt as isAppLinkBase, Xn as validateCustomAddress, _r as BaseAddon, j as HUB_MDNS_TXT_KEYS, li as EventCategory, lt as checkRoleAddress, qt as isDefaultAppConnectionEndpoint, rn as localNetworkCapability, s as CAMSTACK_APP_LINK_ORIGIN, yn as pickAppLinkHub } from "../../dist-CXG6muCR.mjs";
3
- import { A as readTlsMode, G as DEFAULT_LAN_HTTP_PORT, M as writeExtraSans, O as readExtraSans, P as ensureTlsCert, T as servedHttpsLeafFingerprint, X as readLanHttpState, _ as regenerateCertificate, g as applyCertificateToListener, k as readTlsAccessStatus, q as applyLanHttp, v as revertToGeneratedCertificate, y as storeUploadedCertificate } from "../../tls-CpcGkeJV.mjs";
1
+ import { Fn as resolveNotificationTapAddress, Kt as isAppLinkBase, M as HUB_MDNS_SERVICE_TYPE, Mn as resolveHubAddressRoles, N as HUB_MDNS_TXT_KEYS, On as resolveAppConnections, Qn as validateCustomAddress, Yt as isDefaultAppConnectionEndpoint, an as localNetworkCapability, di as EventCategory, dt as checkRoleAddress, l as CAMSTACK_APP_LINK_ORIGIN, xn as pickAppLinkHub, yr as BaseAddon } from "../../dist-DJnlnL7P.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-8_Ed1Za5.mjs";
4
3
  import { z } from "zod";
5
4
  import { isIP } from "node:net";
6
5
  import * as os from "node:os";
@@ -489,31 +488,6 @@ function internalUrlOf(book) {
489
488
  return book.roles.internal.resolved;
490
489
  }
491
490
  //#endregion
492
- //#region src/builtins/local-network/hub-mdns-ciao.ts
493
- function createCiaoPublisher() {
494
- return { async publish(announcement) {
495
- const { getResponder } = await import("../../lib-B_R6sPC3.mjs").then((m) => /* @__PURE__ */ __toESM(m.default));
496
- const responder = getResponder();
497
- const service = responder.createService({
498
- name: announcement.name,
499
- type: announcement.type,
500
- port: announcement.port,
501
- txt: { ...announcement.txt },
502
- ...announcement.address !== null ? { restrictedAddresses: [announcement.address] } : {}
503
- });
504
- try {
505
- await service.advertise();
506
- } catch (err) {
507
- await responder.shutdown().catch(() => void 0);
508
- throw err;
509
- }
510
- return { stop: async () => {
511
- await service.destroy();
512
- await responder.shutdown();
513
- } };
514
- } };
515
- }
516
- //#endregion
517
491
  //#region src/builtins/local-network/local-hostname.ts
518
492
  var DNS_NAME = /^(?=.{1,253}$)([a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])$/;
519
493
  /**
@@ -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-DxJdci75.js");
6
+ const require_dist = require("../../dist-C6Yvfhpq.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 { _r as BaseAddon, an as logDestinationCapability } from "../../dist-CXG6muCR.mjs";
1
+ import { sn as logDestinationCapability, yr as BaseAddon } from "../../dist-DJnlnL7P.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,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-DxJdci75.js");
6
+ const require_dist = require("../../dist-C6Yvfhpq.js");
7
7
  let node_fs_promises = require("node:fs/promises");
8
8
  let node_os = require("node:os");
9
9
  node_os = require_chunk.__toESM(node_os);