@camstack/system 1.2.438 → 1.2.439

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 (92) hide show
  1. package/dist/{agent-https-BZIwS4xF.js → agent-https-DlpTMDqA.js} +252 -22
  2. package/dist/{agent-https-BPfHrI4c.mjs → agent-https-U0d4uvn2.mjs} +211 -23
  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 +18 -3
  24. package/dist/builtins/device-manager/device-manager.addon.mjs +18 -3
  25. package/dist/builtins/device-manager/device-tombstone-store.d.ts +12 -2
  26. package/dist/builtins/hub-forwarder/index.js +1 -1
  27. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  28. package/dist/builtins/keychain/index.js +3 -3
  29. package/dist/builtins/keychain/index.mjs +3 -3
  30. package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
  31. package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
  32. package/dist/builtins/local-auth/local-auth.addon.js +2 -2
  33. package/dist/builtins/local-auth/local-auth.addon.mjs +2 -2
  34. package/dist/builtins/local-network/local-network.addon.js +7 -2
  35. package/dist/builtins/local-network/local-network.addon.mjs +7 -2
  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 +4 -4
  55. package/dist/builtins/system-config/system-config.addon.mjs +4 -4
  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-DI3Z83vG.js → composition-sources-B4jC2FC7.js} +1 -1
  59. package/dist/{composition-sources-DpHGCjdL.mjs → composition-sources-BGOSCGWa.mjs} +1 -1
  60. package/dist/{constants-DQK705Sb.mjs → constants-B92BjObl.mjs} +1 -1
  61. package/dist/{constants-wkcn5Ij3.js → constants-BRsjQwi-.js} +1 -1
  62. package/dist/{device-ca-DvIZjXIl.mjs → device-ca-46BUsWD1.mjs} +2 -2
  63. package/dist/{device-ca-BSvkXqyI.js → device-ca-DHG9OW2m.js} +2 -2
  64. package/dist/{dist-GgG-7amw.js → dist-BOWdLjoK.js} +34 -7
  65. package/dist/{dist-Dc8GKC5H.mjs → dist-yI6kF6r6.mjs} +34 -7
  66. package/dist/file-host-worker.js +1 -1
  67. package/dist/file-host-worker.mjs +1 -1
  68. package/dist/{hub-mdns-ciao-CBLvq2oj.js → hub-mdns-ciao-D7S5AJRU.js} +377 -69
  69. package/dist/{hub-mdns-ciao-DMlQTdPU.mjs → hub-mdns-ciao-DGwVc2uh.mjs} +344 -72
  70. package/dist/index.js +42 -9
  71. package/dist/index.mjs +30 -10
  72. package/dist/{lib-NNxHSOIE.js → lib-8oZrELLm.js} +1 -1
  73. package/dist/{lib-BeGzVQcd.mjs → lib-DK38ompL.mjs} +1 -1
  74. package/dist/{restore-archive-DPg9duVY.mjs → restore-archive-CpdUO-uS.mjs} +1 -1
  75. package/dist/{restore-archive-CTRz8v9o.js → restore-archive-DiGiI6Jp.js} +1 -1
  76. package/dist/{retired-settings-keys-Dr_4lfKu.js → retired-settings-keys-CyQ7uvta.js} +1 -1
  77. package/dist/{retired-settings-keys-Is0zO8gX.mjs → retired-settings-keys-UsVtLOT0.mjs} +1 -1
  78. package/dist/tls/agent-https.d.ts +2 -2
  79. package/dist/tls/boot-tls.d.ts +6 -0
  80. package/dist/tls/cert-evaluation.d.ts +1 -1
  81. package/dist/tls/cert-issue.d.ts +5 -1
  82. package/dist/tls/cert-manager.d.ts +18 -0
  83. package/dist/tls/cert-name-constraints.d.ts +53 -0
  84. package/dist/tls/index.d.ts +5 -4
  85. package/dist/tls/tls-actions.d.ts +27 -7
  86. package/dist/tls/tls-status.d.ts +22 -0
  87. package/dist/tls/uploaded-cert.d.ts +36 -4
  88. package/dist/{wal-maintenance-mjB2i-VR.js → wal-maintenance-DEL_jeG0.js} +0 -0
  89. package/dist/{wal-maintenance-Bx3lcVA7.mjs → wal-maintenance-xsvdT5Go.mjs} +0 -0
  90. package/dist/{x509.es-r7Ht1thA.js → x509.es-C4cOo48M.js} +36 -0
  91. package/dist/{x509.es-CDvj67p1.mjs → x509.es-DK__ETIe.mjs} +1 -1
  92. package/package.json +3 -1
package/dist/index.js CHANGED
@@ -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-GgG-7amw.js");
4
- const require_device_ca = require("./device-ca-BSvkXqyI.js");
3
+ const require_dist = require("./dist-BOWdLjoK.js");
4
+ const require_device_ca = require("./device-ca-DHG9OW2m.js");
5
5
  const require_builtins_alerts_alerts_addon = require("./builtins/alerts/alerts.addon.js");
6
6
  require("./builtins/alerts/index.js");
7
7
  const require_builtins_calendars_calendars_addon = require("./builtins/calendars/calendars.addon.js");
@@ -22,21 +22,21 @@ require("./builtins/local-auth/index.js");
22
22
  const require_builtins_loki_logging_index = require("./builtins/loki-logging/index.js");
23
23
  const require_builtins_native_metrics_native_metrics_addon = require("./builtins/native-metrics/native-metrics.addon.js");
24
24
  const require_builtins_sqlite_storage_filesystem_storage_addon = require("./builtins/sqlite-storage/filesystem-storage.addon.js");
25
- const require_wal_maintenance = require("./wal-maintenance-mjB2i-VR.js");
25
+ const require_wal_maintenance = require("./wal-maintenance-DEL_jeG0.js");
26
26
  const require_builtins_sqlite_storage_sqlite_settings_addon = require("./builtins/sqlite-storage/sqlite-settings.addon.js");
27
27
  const require_builtins_sqlite_storage_index = require("./builtins/sqlite-storage/index.js");
28
28
  const require_builtins_storage_orchestrator_storage_orchestrator_addon = require("./builtins/storage-orchestrator/storage-orchestrator.addon.js");
29
29
  require("./builtins/storage-orchestrator/index.js");
30
- const require_agent_https = require("./agent-https-BZIwS4xF.js");
31
- const require_constants = require("./constants-wkcn5Ij3.js");
30
+ const require_agent_https = require("./agent-https-DlpTMDqA.js");
31
+ const require_constants = require("./constants-BRsjQwi-.js");
32
32
  const require_builtins_system_config_system_config_addon = require("./builtins/system-config/system-config.addon.js");
33
33
  require("./builtins/system-config/index.js");
34
34
  const require_builtins_winston_logging_index = require("./builtins/winston-logging/index.js");
35
35
  const require_custom_action_registry = require("./custom-action-registry-Bf_YnagS.js");
36
- const require_hub_mdns_ciao = require("./hub-mdns-ciao-CBLvq2oj.js");
36
+ const require_hub_mdns_ciao = require("./hub-mdns-ciao-D7S5AJRU.js");
37
37
  const require_platform_key_source = require("./platform-key-source-Di7HrlGR.js");
38
38
  const require_resource_monitor = require("./resource-monitor-mio9dSCT.js");
39
- const require_restore_archive = require("./restore-archive-CTRz8v9o.js");
39
+ const require_restore_archive = require("./restore-archive-DiGiI6Jp.js");
40
40
  let zod = require("zod");
41
41
  let node_crypto = require("node:crypto");
42
42
  node_crypto = require_chunk.__toESM(node_crypto);
@@ -26797,7 +26797,17 @@ var en_default = {
26797
26797
  "server.share-token-expired": "Share token expired: {id}",
26798
26798
  "server.package-not-allowed": "Package \"{name}\" is not an allowed @camstack/* package",
26799
26799
  "server.package-protected": "Cannot uninstall protected package \"{name}\"",
26800
- "server.package-required": "Package {packageName} is required and cannot be uninstalled"
26800
+ "server.package-required": "Package {packageName} is required and cannot be uninstalled",
26801
+ "tls.cert-unparsable": "The certificate PEM could not be parsed.",
26802
+ "tls.key-unparsable": "The private key PEM could not be parsed.",
26803
+ "tls.key-mismatch": "The private key does not match the certificate.",
26804
+ "tls.missing-server-auth": "The certificate is missing extendedKeyUsage = serverAuth.",
26805
+ "tls.ca-required": "This certificate was not issued by a public certificate authority, so its CA certificate is required: devices need it to trust the hub. Paste the CA certificate (for mkcert, the rootCA.pem in the folder `mkcert -CAROOT` prints).",
26806
+ "tls.ca-unparsable": "The CA certificate could not be parsed.",
26807
+ "tls.ca-not-issuer": "The certificate was not issued by the CA certificate you supplied.",
26808
+ "tls.ca-not-a-ca": "The supplied CA certificate is not a certificate authority (CA:TRUE is missing).",
26809
+ "tls.ca-expired": "The supplied CA certificate has expired or is not valid yet.",
26810
+ "tls.no-stored-upload": "No uploaded certificate is kept on this node."
26801
26811
  };
26802
26812
  //#endregion
26803
26813
  //#region src/i18n/it.json
@@ -27034,7 +27044,17 @@ var it_default = {
27034
27044
  "server.share-token-expired": "Token di condivisione scaduto: {id}",
27035
27045
  "server.package-not-allowed": "Il pacchetto \"{name}\" non è un pacchetto @camstack/* consentito",
27036
27046
  "server.package-protected": "Impossibile disinstallare il pacchetto protetto \"{name}\"",
27037
- "server.package-required": "Il pacchetto {packageName} è necessario e non può essere disinstallato"
27047
+ "server.package-required": "Il pacchetto {packageName} è necessario e non può essere disinstallato",
27048
+ "tls.cert-unparsable": "Impossibile leggere il PEM del certificato.",
27049
+ "tls.key-unparsable": "Impossibile leggere il PEM della chiave privata.",
27050
+ "tls.key-mismatch": "La chiave privata non corrisponde al certificato.",
27051
+ "tls.missing-server-auth": "Al certificato manca extendedKeyUsage = serverAuth.",
27052
+ "tls.ca-required": "Questo certificato non è stato emesso da una CA pubblica, quindi serve il certificato della sua CA: i dispositivi ne hanno bisogno per fidarsi dell'hub. Incolla il certificato della CA (per mkcert, il rootCA.pem nella cartella indicata da `mkcert -CAROOT`).",
27053
+ "tls.ca-unparsable": "Impossibile leggere il certificato della CA.",
27054
+ "tls.ca-not-issuer": "Il certificato non è stato emesso dalla CA che hai fornito.",
27055
+ "tls.ca-not-a-ca": "Il certificato fornito non è una autorità di certificazione (manca CA:TRUE).",
27056
+ "tls.ca-expired": "Il certificato della CA fornito è scaduto o non è ancora valido.",
27057
+ "tls.no-stored-upload": "Su questo nodo non è conservato nessun certificato caricato."
27038
27058
  };
27039
27059
  //#endregion
27040
27060
  //#region src/i18n/catalog-registry.ts
@@ -27292,6 +27312,8 @@ exports.PAIRING_PIN_DIGITS = require_builtins_system_config_system_config_addon.
27292
27312
  exports.PAIRING_PROTOCOL = require_builtins_system_config_system_config_addon.PAIRING_PROTOCOL;
27293
27313
  exports.PAIRING_TTL_MS = require_builtins_system_config_system_config_addon.PAIRING_TTL_MS;
27294
27314
  exports.PARENT_ROUTED_PROVIDER_ADDON_ID = PARENT_ROUTED_PROVIDER_ADDON_ID;
27315
+ exports.PERMITTED_DNS_SUFFIXES = require_agent_https.PERMITTED_DNS_SUFFIXES;
27316
+ exports.PERMITTED_IP_RANGES = require_agent_https.PERMITTED_IP_RANGES;
27295
27317
  exports.PREVIOUS_LEAF_GRACE_MS = require_builtins_local_auth_local_auth_addon.PREVIOUS_LEAF_GRACE_MS;
27296
27318
  Object.defineProperty(exports, "PYTHON_VERSION", {
27297
27319
  enumerable: true,
@@ -27381,6 +27403,7 @@ Object.defineProperty(exports, "buildBinaryPath", {
27381
27403
  exports.buildCapRouters = buildCapRouters;
27382
27404
  exports.buildHeapSample = buildHeapSample;
27383
27405
  exports.buildLinkChain = buildLinkChain;
27406
+ exports.buildNameConstraintSet = require_agent_https.buildNameConstraintSet;
27384
27407
  exports.buildNativeCapProxy = buildNativeCapProxy;
27385
27408
  exports.buildNodeManifest = buildNodeManifest;
27386
27409
  exports.buildNpmChildEnv = buildNpmChildEnv;
@@ -27389,6 +27412,7 @@ exports.buildTransporter = buildTransporter;
27389
27412
  exports.builderMountedCapNames = builderMountedCapNames;
27390
27413
  exports.caFingerprint = require_builtins_system_config_system_config_addon.caFingerprint;
27391
27414
  exports.caFingerprintCompact = require_builtins_system_config_system_config_addon.caFingerprintCompact;
27415
+ exports.caReplacementMarkerFile = require_hub_mdns_ciao.caReplacementMarkerFile;
27392
27416
  exports.callRegisterNodeWithRetry = callRegisterNodeWithRetry;
27393
27417
  exports.callWithServiceDiscovery = callWithServiceDiscovery;
27394
27418
  exports.canServeDataPlane = canServeDataPlane;
@@ -27399,6 +27423,8 @@ exports.capBareAction = capBareAction;
27399
27423
  exports.capServiceName = capServiceName;
27400
27424
  exports.catalogNamespaceOf = catalogNamespaceOf;
27401
27425
  exports.certificateNames = require_agent_https.certificateNames;
27426
+ exports.chainsToPublicRoot = require_hub_mdns_ciao.chainsToPublicRoot;
27427
+ exports.checkUploadedCa = require_hub_mdns_ciao.checkUploadedCa;
27402
27428
  exports.classifyAddonDir = classifyAddonDir;
27403
27429
  exports.classifyCapRoute = classifyCapRoute;
27404
27430
  exports.clearHttpsListener = require_hub_mdns_ciao.clearHttpsListener;
@@ -27604,6 +27630,7 @@ exports.isAllowedAgentDashboardReturnTo = require_builtins_system_config_system_
27604
27630
  exports.isArrayBufferCensusReport = isArrayBufferCensusReport;
27605
27631
  exports.isArrayOutputSchema = require_dist.isArrayOutputSchema;
27606
27632
  exports.isCollectionArrayMethod = require_dist.isCollectionArrayMethod;
27633
+ exports.isConstrainedCa = require_agent_https.isConstrainedCa;
27607
27634
  exports.isContainerBridgeAddress = require_agent_https.isContainerBridgeAddress;
27608
27635
  exports.isCredentialKeyName = isCredentialKeyName;
27609
27636
  exports.isInfraCapability = isInfraCapability;
@@ -27651,6 +27678,8 @@ exports.parseTokenExpiry = require_builtins_local_auth_local_auth_addon.parseTok
27651
27678
  exports.parseTokenizedUrl = require_custom_action_registry.parseTokenizedUrl;
27652
27679
  exports.partitionIsolatedBuiltinIds = partitionIsolatedBuiltinIds;
27653
27680
  exports.pemDigest = require_agent_https.pemDigest;
27681
+ exports.permitsIdentity = require_agent_https.permitsIdentity;
27682
+ exports.permitsName = require_agent_https.permitsName;
27654
27683
  exports.pinnedHttpsCaFingerprint = require_agent_https.pinnedHttpsCaFingerprint;
27655
27684
  exports.prepareBootTls = require_hub_mdns_ciao.prepareBootTls;
27656
27685
  exports.prepareRestoreArchive = require_restore_archive.prepareRestoreArchive;
@@ -27664,6 +27693,7 @@ exports.readCidrSetting = require_builtins_system_config_system_config_addon.rea
27664
27693
  exports.readExtraSans = require_hub_mdns_ciao.readExtraSans;
27665
27694
  exports.readHeapSpaces = readHeapSpaces;
27666
27695
  exports.readLanHttpState = require_hub_mdns_ciao.readLanHttpState;
27696
+ exports.readNameConstraints = require_agent_https.readNameConstraints;
27667
27697
  exports.readPendingRestart = readPendingRestart;
27668
27698
  exports.readSocketQueues = readSocketQueues;
27669
27699
  exports.readTlsAccessStatus = require_hub_mdns_ciao.readTlsAccessStatus;
@@ -27681,12 +27711,14 @@ exports.registerLanHttpHandler = require_hub_mdns_ciao.registerLanHttpHandler;
27681
27711
  exports.reissueTlsLeaf = require_hub_mdns_ciao.reissueTlsLeaf;
27682
27712
  exports.reloadHttpsListener = require_hub_mdns_ciao.reloadHttpsListener;
27683
27713
  exports.renewMeshCertificate = require_builtins_system_config_system_config_addon.renewMeshCertificate;
27714
+ exports.replaceUnconstrainedLocalCa = require_hub_mdns_ciao.replaceUnconstrainedLocalCa;
27684
27715
  exports.requireProcessMeshCa = require_builtins_system_config_system_config_addon.requireProcessMeshCa;
27685
27716
  exports.resetCatalogRegistryForTests = resetCatalogRegistryForTests;
27686
27717
  exports.resolveFilePath = require_custom_action_registry.resolveFilePath;
27687
27718
  exports.resolveFormatRevision = require_custom_action_registry.resolveFormatRevision;
27688
27719
  exports.resolveHwAccel = resolveHwAccel;
27689
27720
  exports.resolveNpmInvocation = resolveNpmInvocation;
27721
+ exports.retirePreviousLocalCa = require_hub_mdns_ciao.retirePreviousLocalCa;
27690
27722
  exports.revertToGeneratedCertificate = require_hub_mdns_ciao.revertToGeneratedCertificate;
27691
27723
  exports.revisionWeightUrl = require_custom_action_registry.revisionWeightUrl;
27692
27724
  exports.revokeMeshCertificate = require_builtins_system_config_system_config_addon.revokeMeshCertificate;
@@ -27730,6 +27762,7 @@ exports.stripForwardedCaller = require_builtins_storage_orchestrator_storage_orc
27730
27762
  exports.subscribePassthrough = subscribePassthrough;
27731
27763
  exports.systemHostFacts = require_agent_https.systemHostFacts;
27732
27764
  exports.udsChildLogToWorkerEntry = udsChildLogToWorkerEntry;
27765
+ exports.useStoredUploadedCertificate = require_hub_mdns_ciao.useStoredUploadedCertificate;
27733
27766
  exports.validateProviderRegistrations = validateProviderRegistrations;
27734
27767
  exports.validateUploadedTls = require_hub_mdns_ciao.validateUploadedTls;
27735
27768
  exports.verifyAgentUiUnlockTicket = require_builtins_system_config_system_config_addon.verifyAgentUiUnlockTicket;
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { i as __require } from "./chunk-CNf5ZN-e.mjs";
2
- import { Ar as DEVICE_SETTINGS_CONTRIBUTION_METHODS, B as METHOD_ACCESS_MAP, Br as asString$1, Dr as errMsg$1, En as objectInputDeclaresRequiredDeviceId, Fr as ReadinessTimeoutError, Gn as scopesAllowDeviceCap, Kt as extractNestedAddonId, Nr as RUNTIME_DEFAULTS, Pr as ReadinessRegistry, Qt as interpolate, R as LOG_LEVEL_RANK, Rr as asJsonObject$1, Tn as objectInputDeclaresAddonId, Vn as resolveMethodAuth, Wn as scopesAllowAddon, Wr as createEvent$1, Yr as expandCapMethods, Zn as splitTranslationRef, _ as CatalogFileSchema, an as isVoidInput, d as CATALOG_LANGS, dn as lifecycleJobSchema, en as isArrayOutputSchema, fi as scopeKey, gn as looseSchema, hn as logLevelAtMost, in as isObjectInput, ir as supportedRuntimes, jn as procedureAuthKey, jr as DEVICE_STATUS_METHOD, kr as DATAPLANE_SECRET_HEADER$1, li as readinessKey, n as AGENT_MDNS_TXT_KEYS, oi as parseJsonObject, on as kebabToCamel$1, qr as emitDownForOwnedCaps, r as ALL_CAPABILITY_DEFINITIONS, rt as addonSettingsCapability, si as parseJsonUnknown, t as AGENT_MDNS_SERVICE_TYPE, tn as isCollectionArrayMethod, ui as resolveCapMount, vi as userError, yi as EventCategory$1, zr as asNumber } from "./dist-Dc8GKC5H.mjs";
3
- import { d as JWT_SIGNING_KEY_REF, f as JwtSigningKeyUnavailableError, g as processJwtSigningKey, i as generateDeviceCa, l as verifyDeviceLeaf, m as getProcessJwtSigningKeyState, n as DEVICE_CA_KEY_REF, o as issueDeviceLeaf, p as SYSTEM_SECRET_OWNER, s as loadDeviceCa, u as verifyDeviceSignature, v as staticJwtSigningKey } from "./device-ca-DvIZjXIl.mjs";
2
+ import { Ar as DEVICE_SETTINGS_CONTRIBUTION_METHODS, B as METHOD_ACCESS_MAP, Br as asString$1, Dr as errMsg$1, En as objectInputDeclaresRequiredDeviceId, Fr as ReadinessTimeoutError, Gn as scopesAllowDeviceCap, Kt as extractNestedAddonId, Nr as RUNTIME_DEFAULTS, Pr as ReadinessRegistry, Qt as interpolate, R as LOG_LEVEL_RANK, Rr as asJsonObject$1, Tn as objectInputDeclaresAddonId, Vn as resolveMethodAuth, Wn as scopesAllowAddon, Wr as createEvent$1, Yr as expandCapMethods, Zn as splitTranslationRef, _ as CatalogFileSchema, an as isVoidInput, d as CATALOG_LANGS, dn as lifecycleJobSchema, en as isArrayOutputSchema, fi as scopeKey, gn as looseSchema, hn as logLevelAtMost, in as isObjectInput, ir as supportedRuntimes, jn as procedureAuthKey, jr as DEVICE_STATUS_METHOD, kr as DATAPLANE_SECRET_HEADER$1, li as readinessKey, n as AGENT_MDNS_TXT_KEYS, oi as parseJsonObject, on as kebabToCamel$1, qr as emitDownForOwnedCaps, r as ALL_CAPABILITY_DEFINITIONS, rt as addonSettingsCapability, si as parseJsonUnknown, t as AGENT_MDNS_SERVICE_TYPE, tn as isCollectionArrayMethod, ui as resolveCapMount, vi as userError, yi as EventCategory$1, zr as asNumber } from "./dist-yI6kF6r6.mjs";
3
+ import { d as JWT_SIGNING_KEY_REF, f as JwtSigningKeyUnavailableError, g as processJwtSigningKey, i as generateDeviceCa, l as verifyDeviceLeaf, m as getProcessJwtSigningKeyState, n as DEVICE_CA_KEY_REF, o as issueDeviceLeaf, p as SYSTEM_SECRET_OWNER, s as loadDeviceCa, u as verifyDeviceSignature, v as staticJwtSigningKey } from "./device-ca-46BUsWD1.mjs";
4
4
  import { AlertCenterAddon } from "./builtins/alerts/alerts.addon.mjs";
5
5
  import "./builtins/alerts/index.mjs";
6
6
  import { CalendarsAddon } from "./builtins/calendars/calendars.addon.mjs";
@@ -21,21 +21,21 @@ import "./builtins/local-auth/index.mjs";
21
21
  import { LokiDestination, LokiLoggingAddon } from "./builtins/loki-logging/index.mjs";
22
22
  import NativeMetricsAddon, { a as NativeMetricsProvider, n as nodeProcReader, r as parseProcStat } from "./builtins/native-metrics/native-metrics.addon.mjs";
23
23
  import { FilesystemStorageAddon, t as FilesystemStorageProvider } from "./builtins/sqlite-storage/filesystem-storage.addon.mjs";
24
- import { c as SqliteSettingsBackend, l as prefixRange } from "./wal-maintenance-Bx3lcVA7.mjs";
24
+ import { c as SqliteSettingsBackend, l as prefixRange } from "./wal-maintenance-xsvdT5Go.mjs";
25
25
  import { SqliteSettingsAddon } from "./builtins/sqlite-storage/sqlite-settings.addon.mjs";
26
26
  import { ConfigStore, DeviceStore } from "./builtins/sqlite-storage/index.mjs";
27
27
  import { StorageOrchestratorAddon, a as stripForwardedCaller, i as createHubCapForwardService, n as HUB_CAP_FWD_ACTION, o as buildStorageLocationRegistry, r as HUB_CAP_FWD_SERVICE, t as StorageOrchestratorService } from "./builtins/storage-orchestrator/storage-orchestrator.addon.mjs";
28
28
  import "./builtins/storage-orchestrator/index.mjs";
29
- import { A as AgentHttpsNames, C as LEAF_RENEWAL_WINDOW_DAYS, E as evaluateExistingCert, M as setProcessAgentHttpsNames, O as AGENT_HTTPS_NAMES_COLLECTION, S as CA_VALIDITY_DAYS, T as SERVER_AUTH_OID, a as collectAgentNames, b as collectCertIdentity, c as installAgentHttps, d as isPrivateAddress, f as issueAgentHttpsLeaf, g as CA_COMMON_NAME, h as pinnedHttpsCaFingerprint, i as certificateNames, j as getProcessAgentHttpsNames, k as AGENT_HTTPS_NAMES_COLUMNS, l as isContainerBridgeAddress, m as pemDigest, n as acceptAgentSans, o as createAgentHttpsRequest, p as loadAgentHttps, r as agentHttpsPaths, s as describeHttpsLeaf, t as AgentHttpsInstallError, u as isLocalOnlyHostname, w as MAX_LEAF_VALIDITY_DAYS, x as systemHostFacts } from "./agent-https-BPfHrI4c.mjs";
30
- 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-DQK705Sb.mjs";
29
+ import { A as isConstrainedCa, C as MAX_LEAF_VALIDITY_DAYS, D as PERMITTED_DNS_SUFFIXES, F as AGENT_HTTPS_NAMES_COLLECTION, I as AGENT_HTTPS_NAMES_COLUMNS, L as AgentHttpsNames, M as permitsIdentity, N as permitsName, O as PERMITTED_IP_RANGES, P as readNameConstraints, R as getProcessAgentHttpsNames, S as LEAF_RENEWAL_WINDOW_DAYS, T as evaluateExistingCert, a as collectAgentNames, b as systemHostFacts, c as installAgentHttps, d as issueAgentHttpsLeaf, f as loadAgentHttps, h as CA_COMMON_NAME, i as certificateNames, j as isLocalOnlyHostname, k as buildNameConstraintSet, l as isContainerBridgeAddress, m as pinnedHttpsCaFingerprint, n as acceptAgentSans, o as createAgentHttpsRequest, p as pemDigest, r as agentHttpsPaths, s as describeHttpsLeaf, t as AgentHttpsInstallError, u as isPrivateAddress, w as SERVER_AUTH_OID, x as CA_VALIDITY_DAYS, y as collectCertIdentity, z as setProcessAgentHttpsNames } from "./agent-https-U0d4uvn2.mjs";
30
+ 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-B92BjObl.mjs";
31
31
  import { $ as generateMeshKeyPair, A as setProcessMeshPeerTransportLookup, B as describeMeshLeaf, C as setProcessMeshTlsEnabler, D as getProcessPeerLeaf, E as getProcessNodeMeshTransport, F as setProcessMeshTlsListenerState, G as MeshCaKeeper, H as setProcessMeshCertificateRegistry, I as MESH_NODE_CERTIFICATES_COLLECTION, J as caFingerprint, K as getProcessMeshCaState, L as MESH_NODE_CERTIFICATES_COLUMNS, M as revokeMeshCertificate, N as getProcessMeshTlsListenerState, O as isProcessVerifiedMeshPeer, P as openMeshTlsWhenRevocationsLoaded, Q as generateMeshCa, R as MeshCertificateRegistry, S as ServiceBroker, SystemConfigAddon, T as emitProcessNodeRegistered, U as MeshCrl, V as getProcessMeshCertificateRegistry, W as processMeshCrl, X as createMeshCsrPem, Y as caFingerprintCompact, Z as exportMeshPrivateKeyPem, _ as signPairingProof, _t as readCidrSetting, a as hubHostFromMeshAddress, at as AGENT_UI_UNLOCK_TTL_MS, b as TlsTcpTransporter, c as PAIRING_MAX_SESSIONS, ct as AGENT_UI_UNLOCK_VERSION, d as PAIRING_PROTOCOL, dt as mintAgentUiUnlockTicket, et as isValidAgentNodeId, f as PAIRING_TTL_MS, ft as parseAgentDashboardOrigins, g as keyFingerprintShort, gt as parseCidrList, h as describeCsr, ht as normalizeIp, i as AgentPairing, it as AGENT_DASHBOARD_ORIGINS_FIELD, j as renewMeshCertificate, k as onProcessNodeRegistered, l as PAIRING_PATHS, lt as UnlockTicketJtiStore, m as computePairingSas, mt as createCidrMatcher, n as HubPairing, nt as issueMeshLeafFromCsr, o as PAIRING_CODE_DIGITS, ot as AGENT_UI_UNLOCK_TYP, p as computePairingCommitment, pt as verifyAgentUiUnlockTicket, q as requireProcessMeshCa, r as PairingHttpError, rt as loadMeshCa, s as PAIRING_MAX_CODE_ATTEMPTS, st as AGENT_UI_UNLOCK_USE, tt as issueMeshLeafForNode, u as PAIRING_PIN_DIGITS, ut as isAllowedAgentDashboardReturnTo, v as verifyPairingProof, w as dropProcessPeer, x as Errors, y as MESH_TLS_PORT_HELLO_FIELD, z as RENEWAL_ABANDONED } from "./builtins/system-config/system-config.addon.mjs";
32
32
  import "./builtins/system-config/index.mjs";
33
33
  import { WinstonDestination, WinstonLoggingAddon } from "./builtins/winston-logging/index.mjs";
34
34
  import { C as isModelDownloaded, T as revisionWeightUrl, _ as downloadFile, a as startEventLoopStallMonitor, b as fetchJson, c as createAuthenticatedFileServer, d as resolveFilePath, 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, r as STALL_TICK_MS, s as contentTypeFor, t as CustomActionRegistry, u as parseTokenizedUrl, v as downloadModel, w as resolveFormatRevision, x as getModelFilePath, y as ensureModel } from "./custom-action-registry-BQnbN0DP.mjs";
35
- import { C as DEFAULT_LAN_HTTP_PORT, D as closeLanHttp, E as bindPendingLanHttp, O as readLanHttpState, S as reissueTlsLeaf, T as applyLanHttp, _ as splitPemCertificates, a as storeUploadedCertificate, b as ensureTlsCert, c as leafFingerprintOf, d as servedHttpsLeafFingerprint, f as prepareBootTls, g as readTlsMode, h as readTlsAccessStatus, i as revertToGeneratedCertificate, k as registerLanHttpHandler, l as registerHttpsListener, m as readExtraSans, n as applyCertificateToListener, o as validateUploadedTls, p as UPLOADED_CA_FILE, r as regenerateCertificate, s as clearHttpsListener, t as createCiaoPublisher, u as reloadHttpsListener, v as writeExtraSans, w as allFamiliesListenHost, x as loadTlsCert, y as writeTlsMode } from "./hub-mdns-ciao-DMlQTdPU.mjs";
35
+ import { A as allFamiliesListenHost, C as caReplacementMarkerFile, D as replaceUnconstrainedLocalCa, E as reissueTlsLeaf, F as registerLanHttpHandler, M as bindPendingLanHttp, N as closeLanHttp, O as retirePreviousLocalCa, P as readLanHttpState, S as validateUploadedTls, T as loadTlsCert, _ as splitPemCertificates, a as storeUploadedCertificate, b as chainsToPublicRoot, c as leafFingerprintOf, d as servedHttpsLeafFingerprint, f as prepareBootTls, g as readTlsMode, h as readTlsAccessStatus, i as revertToGeneratedCertificate, j as applyLanHttp, k as DEFAULT_LAN_HTTP_PORT, l as registerHttpsListener, m as readExtraSans, n as applyCertificateToListener, o as useStoredUploadedCertificate, p as UPLOADED_CA_FILE, r as regenerateCertificate, s as clearHttpsListener, t as createCiaoPublisher, u as reloadHttpsListener, v as writeExtraSans, w as ensureTlsCert, x as checkUploadedCa, y as writeTlsMode } from "./hub-mdns-ciao-DGwVc2uh.mjs";
36
36
  import { n as getPlatformKeychainKey, r as setPlatformKeychainKey, t as clearPlatformKeychainKey } from "./platform-key-source-BWlq0jjn.mjs";
37
37
  import { n as getSinglePidStats, t as getPidStats } from "./resource-monitor-Di9daRwI.mjs";
38
- import { c as BackupDecryptError, f as generateBackupKeyPair, h as readBackupEncryptionHeader, l as BackupKeyFormatError, r as prepareRestoreArchive, s as SystemBackupService, t as BackupKeyRequiredError, u as BackupKeyMismatchError } from "./restore-archive-DPg9duVY.mjs";
38
+ import { c as BackupDecryptError, f as generateBackupKeyPair, h as readBackupEncryptionHeader, l as BackupKeyFormatError, r as prepareRestoreArchive, s as SystemBackupService, t as BackupKeyRequiredError, u as BackupKeyMismatchError } from "./restore-archive-CpdUO-uS.mjs";
39
39
  import { z } from "zod";
40
40
  import * as crypto$1 from "node:crypto";
41
41
  import { createHash, randomBytes, randomUUID } from "node:crypto";
@@ -26794,7 +26794,17 @@ var en_default = {
26794
26794
  "server.share-token-expired": "Share token expired: {id}",
26795
26795
  "server.package-not-allowed": "Package \"{name}\" is not an allowed @camstack/* package",
26796
26796
  "server.package-protected": "Cannot uninstall protected package \"{name}\"",
26797
- "server.package-required": "Package {packageName} is required and cannot be uninstalled"
26797
+ "server.package-required": "Package {packageName} is required and cannot be uninstalled",
26798
+ "tls.cert-unparsable": "The certificate PEM could not be parsed.",
26799
+ "tls.key-unparsable": "The private key PEM could not be parsed.",
26800
+ "tls.key-mismatch": "The private key does not match the certificate.",
26801
+ "tls.missing-server-auth": "The certificate is missing extendedKeyUsage = serverAuth.",
26802
+ "tls.ca-required": "This certificate was not issued by a public certificate authority, so its CA certificate is required: devices need it to trust the hub. Paste the CA certificate (for mkcert, the rootCA.pem in the folder `mkcert -CAROOT` prints).",
26803
+ "tls.ca-unparsable": "The CA certificate could not be parsed.",
26804
+ "tls.ca-not-issuer": "The certificate was not issued by the CA certificate you supplied.",
26805
+ "tls.ca-not-a-ca": "The supplied CA certificate is not a certificate authority (CA:TRUE is missing).",
26806
+ "tls.ca-expired": "The supplied CA certificate has expired or is not valid yet.",
26807
+ "tls.no-stored-upload": "No uploaded certificate is kept on this node."
26798
26808
  };
26799
26809
  //#endregion
26800
26810
  //#region src/i18n/it.json
@@ -27031,7 +27041,17 @@ var it_default = {
27031
27041
  "server.share-token-expired": "Token di condivisione scaduto: {id}",
27032
27042
  "server.package-not-allowed": "Il pacchetto \"{name}\" non è un pacchetto @camstack/* consentito",
27033
27043
  "server.package-protected": "Impossibile disinstallare il pacchetto protetto \"{name}\"",
27034
- "server.package-required": "Il pacchetto {packageName} è necessario e non può essere disinstallato"
27044
+ "server.package-required": "Il pacchetto {packageName} è necessario e non può essere disinstallato",
27045
+ "tls.cert-unparsable": "Impossibile leggere il PEM del certificato.",
27046
+ "tls.key-unparsable": "Impossibile leggere il PEM della chiave privata.",
27047
+ "tls.key-mismatch": "La chiave privata non corrisponde al certificato.",
27048
+ "tls.missing-server-auth": "Al certificato manca extendedKeyUsage = serverAuth.",
27049
+ "tls.ca-required": "Questo certificato non è stato emesso da una CA pubblica, quindi serve il certificato della sua CA: i dispositivi ne hanno bisogno per fidarsi dell'hub. Incolla il certificato della CA (per mkcert, il rootCA.pem nella cartella indicata da `mkcert -CAROOT`).",
27050
+ "tls.ca-unparsable": "Impossibile leggere il certificato della CA.",
27051
+ "tls.ca-not-issuer": "Il certificato non è stato emesso dalla CA che hai fornito.",
27052
+ "tls.ca-not-a-ca": "Il certificato fornito non è una autorità di certificazione (manca CA:TRUE).",
27053
+ "tls.ca-expired": "Il certificato della CA fornito è scaduto o non è ancora valido.",
27054
+ "tls.no-stored-upload": "Su questo nodo non è conservato nessun certificato caricato."
27035
27055
  };
27036
27056
  //#endregion
27037
27057
  //#region src/i18n/catalog-registry.ts
@@ -27129,4 +27149,4 @@ function resetCatalogRegistryForTests() {
27129
27149
  shared = null;
27130
27150
  }
27131
27151
  //#endregion
27132
- export { ADMIN_TOKEN_MAX_LIFETIME_MS, ADMIN_TOKEN_PREFIX, AGENT_CAP_FWD_ACTION, AGENT_CAP_FWD_SERVICE, AGENT_DASHBOARD_ORIGINS_FIELD, AGENT_HTTPS_NAMES_COLLECTION, AGENT_HTTPS_NAMES_COLUMNS, AGENT_READINESS_SERVICE_NAME, AGENT_UI_UNLOCK_TTL_MS, AGENT_UI_UNLOCK_TYP, AGENT_UI_UNLOCK_USE, AGENT_UI_UNLOCK_VERSION, ALL_CAPABILITY_DEFINITIONS, ARRAY_BUFFER_CENSUS_COOLDOWN_MS, ARRAY_BUFFER_CENSUS_SUSTAIN_MS, ARRAY_BUFFER_CENSUS_THRESHOLD_MB, ARRAY_BUFFER_RELEASE_MIN_DROP_RATIO, AddonApiFactory, AddonDepsManager, AddonEngineManager, AddonHealthMonitor, AddonInstaller, AddonLoader, AddonManifest, AddonRouteRegistry, AdminTokenManager, AgentHttpsInstallError, AgentHttpsNames, AgentMdnsAdvertiser, AgentMeshIdentityGate, AgentPairing, AlertCenterAddon, ApiKeyManager, AuthAuditLog, AuthManager, BackupDecryptError, BackupKeyFormatError, BackupKeyMismatchError, BackupKeyRequiredError, CAP_ACTION_OVERFLOW_LABEL, CAP_ACTION_UNLABELLED, CAP_METHOD_NOT_IMPLEMENTED, CA_COMMON_NAME, CA_VALIDITY_DAYS, CORE_CAP_SERVICE_NAME, CalendarsAddon, CapRouteError, CapRouteResolver, CapUsageRegistry, CapabilityHandle, CapabilityRegistry, CapabilityUnavailableError, CatalogRegistry, ComposerAddon, ConfigManager, ConfigStore, ConsoleDestination, ConsoleLoggingAddon, CoreBlocksAddon, CustomActionRegistry, DECISIVE_HEAP_SPACES, DEFAULT_DATA_PATH, DEFAULT_HUB_TLS_TCP_PORT, DEFAULT_LAN_HTTP_PORT, DEFAULT_LOG_LEVEL, DEVICE_CA_KEY_REF, DEVICE_SETTINGS_CONTRIBUTION_METHODS, DEVICE_STATUS_METHOD, DataPlaneRegistry, DeviceCaStore, DeviceCredentialManager, DeviceManagerAddon, DeviceRegistry, DeviceStore, EMPTY_CAP_ACTION_READING, EMPTY_SOCKET_DIRECTION, EMPTY_SOCKET_PLANE_BASELINE, EVENT_PLANE_TOP_N, EVENT_TOPIC_PREFIX, EngineManagerResolver, EventBus, FIRST_BOOT_ADMIN_PASSWORD, FIRST_BOOT_ADMIN_USERNAME, FeatureManager, FilesystemStorageAddon, FilesystemStorageProvider, FrameDecoder, FsStorageBackend, GET_STATUS_METHOD, HEALTH_MONITOR_GRACE_PERIOD_MS, HEALTH_MONITOR_RETRY_INTERVALS_MS, HEALTH_MONITOR_TICK_MS, HEAP_RECLAIM_MIN_INTERVAL_MS, HEAP_RECLAIM_STEADY_STATE_INTERVAL_MS, HEAP_RECLAIM_TRIGGER_MB, HEAP_SPACE_REPORT_MIN_MB, HEAP_WATCH_INTERVAL_MS, HEAP_WATCH_WARN_RATIO, HUB_CAP_FWD_ACTION, HUB_CAP_FWD_SERVICE, HUB_MAIN_HEAP_WATCH_LABEL, HUB_MAIN_RSS_BUDGET_MB, HUB_RSS_BUDGET_ENV, HubForwarderAddon, HubForwarderDestination, HubLogForwarder, HubNodeRegistry, HubPairing, INFRA_CAPABILITIES, IntegrationRegistry, JWT_SIGNING_KEY_REF, JobJournal, JwtSigningKeyUnavailableError, LEAF_RENEWAL_WINDOW_DAYS, LifecycleJobEngine, LifecycleStateMachine, LivenessMonitorAddon, LocalAuthAddon, LocalChildClient, LocalChildRegistry, LogManager, LogRingBuffer, LoggingGate, LoginSessionManager, LokiDestination, LokiLoggingAddon, MAX_CAP_ACTIONS_PER_PEER, MAX_LEAF_VALIDITY_DAYS, MESH_ACTION_FORBIDDEN_TYPE, MESH_CA_FIELD, MESH_CA_KEY_REF, MESH_CA_SETTINGS_KEY, MESH_NODE_CERTIFICATES_COLLECTION, MESH_NODE_CERTIFICATES_COLUMNS, MESH_NODE_UNAUTHENTICATED_TYPE, MESH_QUEUE_TOP_N, MESH_TLS_PORT_HELLO_FIELD, METHOD_ACCESS_MAP, MeshCaKeeper, MeshCertificateRegistry, MeshCrl, MeshIdentityGate, ModelDownloadService, NATIVE_PROVIDER_SERVICE_INFIX, NATIVE_SCAN_DEPTH, NativeMetricsAddon, NativeMetricsProvider, NetworkQualityTracker, NotificationService, OUTBOUND_QUEUE_COOLDOWN_MS, OUTBOUND_QUEUE_SUSTAIN_MS, OUTBOUND_QUEUE_THRESHOLD_BYTES, PAIRING_CODE_DIGITS, PAIRING_MAX_CODE_ATTEMPTS, PAIRING_MAX_SESSIONS, PAIRING_PATHS, PAIRING_PIN_DIGITS, PAIRING_PROTOCOL, PAIRING_TTL_MS, PARENT_ROUTED_PROVIDER_ADDON_ID, PREVIOUS_LEAF_GRACE_MS, PYTHON_VERSION, PairingHttpError, PeerAnsweredError, PipelineRunner, PipelineValidator, PythonEnvManager, QUARANTINE_DIRNAME, REFRESH_TOKEN_PREFIX, RENEWAL_ABANDONED, RESTART_MARKER_FILE, RSS_BUDGET_REANNOUNCE_MIN_MS, RSS_BUDGET_RELEASE_RATIO, RUNNER_HEAP_WATCH_INTERVAL_MS, RUNNER_RSS_BUDGET_ENV, RUNTIME_DEFAULTS, ReadinessRegistry, ReadinessTimeoutError, ReplEngine, RingBuffer, SERVER_AUTH_OID, SERVER_NAMESPACE, SOCKET_PLANE_TOP_N, SOCKET_QUEUE_TOP_N, STALL_REPORT_MS, STALL_TICK_MS, STORE_READABLE_BOOTSTRAP_KEYS, SYSTEM_SECRET_OWNER, ScopedLogger, ScopedTokenManager, SettingsReadUnavailableError, SocketChannel, SqliteSettingsAddon, SqliteSettingsBackend, StagingArea, StorageLocationManager, StorageManager, StorageOrchestratorAddon, StorageOrchestratorService, SystemBackupService, SystemConfigAddon, SystemEventBus, TRADITIONAL_NATIVE_PACKAGES, TlsTcpTransporter, ToastService, UDS_NO_ROUTE_PREFIX, UNCLAIMED, UPLOADED_CA_FILE, USER_MANAGEMENT_INTERNAL, UdsLocalTransportClient, UdsLocalTransportServer, UnlockTicketJtiStore, UserManager, WinstonDestination, WinstonLoggingAddon, ZERO_LOOP_DELAY, __resetCapUsageRegistryForTests, __resetLoggingGateForTests, acceptAgentSans, adaptBrokerToCluster, addonSettingsCapability, adoptModelRevisions, afterWorkerOnlineAnnounce, agentHttpsPaths, allFamiliesListenHost, answerClaimedGetStatus, applyCertificateToListener, applyLanHttp, attachUserManagementInternal, attributeStall, bindPendingLanHttp, bootstrapSchema, brokerCallForCap, brokerTransportLink, buildAgentAnnouncement, buildBinaryPath, buildCapRouters, buildHeapSample, buildLinkChain, buildNativeCapProxy, buildNodeManifest, buildNpmChildEnv, buildStorageLocationRegistry, buildTransporter, builderMountedCapNames, caFingerprint, caFingerprintCompact, callRegisterNodeWithRetry, callWithServiceDiscovery, canServeDataPlane, capActionLabel, capActionName, capActionSuffix, capBareAction, capServiceName, catalogNamespaceOf, certificateNames, classifyAddonDir, classifyCapRoute, clearHttpsListener, clearPendingRestart, clearPlatformKeychainKey, closeLanHttp, clusterEventTopic, collectAgentNames, collectCertIdentity, collectModelFiles, computePairingCommitment, computePairingSas, connectBrokerTransport, contentTypeFor, copyDirRecursive, copyExtraFileDirs, createAddonContext, createAddonDataPlaneFacility, createAddonPeerBytesFacility, createAddonService, createAgentEventScope, createAgentHttpsRequest, createAgentTransport, createArrayBufferCensusGate, createAuthenticatedFileServer, createBroker, createBrokerDeviceManagerApi, createCapActionCensus, createCiaoPublisher, createCidrMatcher, createCoreCapService, createCoreCatalogRegistry, createDeferredHeapWatchSink, createDoorSettingsView, createEventPlaneMeter, createEventPlaneReader, createFileDataPlaneHandler, createHubCapForwardService, createHubService, createInspectorArrayBufferCensus, createKernelHwAccel, createKernelInferenceEngine, createLocalTransport, createLoopDelayMeter, createMeshAccessMiddleware, createMeshCsrPem, createMeshQueueReader, createOutboundQueueGate, createParentUnownedCallHandler, createProcessService, createReadinessService, createReadinessServiceForRegistry, createScopedProcessManager, createSocketDirectionCounters, createSocketPlaneMeter, createSocketPlaneReader, createStreamProbeBrokerService, createUdsAddonContext, createUdsEventBridge, createUdsEventBus, createUdsLogger, createUdsLoggerWithControl, createV8Reclaimer, currentBrokerTransporter, deleteModelFromDisk, deriveAgentListenPort, describeCsr, describeHttpsLeaf, describeMeshLeaf, describeProviderKindDrift, describeRss, detectWorkspacePackagesDir, deviceCapResolverLink, deviceOfGetStatus, diffCapActionCensus, diffEventPlane, diffSocketPlane, disconnectBrokerTransport, downloadBinary, downloadFile, downloadModel, dropProcessPeer, emitDownForOwnedCaps, emitHeapDiagnosticReport, emitProcessNodeRegistered, encodeFrame, ensureAddonNativePrebuilds, ensureBinary, ensureDir, ensureFfmpeg, ensureLibraryBuilt, ensureModel, ensureNativePrebuilds, ensurePython, ensureTlsCert, evaluateExistingCert, expandCapMethods, exportMeshPrivateKeyPem, fetchJson, findInPath, formatArrayBufferCensus, formatEventPlane, formatHeapSpaces, formatLogLine, formatMeshQueue, formatOutboundQueueVerdict, formatSocketPlane, generateBackupKeyPair, generateDeviceCa, generateMeshCa, generateMeshKeyPair, getBrokerEventBus, getBrokerTlsTransporter, getCapUsageRegistry, getCatalogRegistry, getFfmpegDownloadUrl, getLoggingGate, getModelFilePath, getMoleculerEventStats, getOrInitReadinessRegistry, getOrInitReadinessRegistryForClient, getPidStats, getPlatformInfo, getPlatformKeychainKey, getProcessAgentHttpsNames, getProcessJwtSigningKeyState, getProcessMeshCaState, getProcessMeshCertificateRegistry, getProcessMeshTlsListenerState, getProcessNodeMeshTransport, getProcessPeerLeaf, getPythonDownloadUrl, getRestartMarkerPath, getSinglePidStats, getUserManagementInternal, getWorkerDeviceRegistry, hasDotNode, heapSpaceField, hostNodeIdOf, hubHostFromMeshAddress, hubMainRssBudget, installAgentHttps, installBrokerTransporter, installManifestNativeDeps, installManifestPythonDeps, installManifestSystemDeps, installPackageFromNpm, installPythonPackages, installPythonRequirements, ipcParentLink, isAddonDeploySource, isAllowedAgentDashboardReturnTo, isArrayBufferCensusReport, isArrayOutputSchema, isCollectionArrayMethod, isContainerBridgeAddress, isCredentialKeyName, isInfraCapability, isInstalledTransporter, isLocalOnlyHostname, isModelDownloaded, isPeerEventPacket, isPrivateAddress, isProcessVerifiedMeshPeer, isRemoteForbiddenAction, isRemoteForbiddenOnAgent, isSettingsReadUnavailable, isSourceNewer, isValidAgentNodeId, isolatedBuiltinPhase, issueAgentHttpsLeaf, issueDeviceLeaf, issueMeshLeafForNode, issueMeshLeafFromCsr, keyFingerprintShort, leafFingerprintOf, loadAgentHttps, loadDeviceCa, loadMeshCa, loadTlsCert, localEndpointPath, localProviderLink, localSupportedPythonRuntimes, mapSignalsToInferenceHardware, meshErrorType, mintAgentUiUnlockTicket, mountNativeCapService, nextRssBudgetState, normalizeIp, onProcessNodeRegistered, onSessionsRevoked, openMeshTlsWhenRevocationsLoaded, overlayGetStatus, parseAgentDashboardOrigins, parseCapAction, parseCidrList, parseRangeHeader, parseRssBudgetMb, parseTokenExpiry, parseTokenizedUrl, partitionIsolatedBuiltinIds, pemDigest, pinnedHttpsCaFingerprint, prepareBootTls, prepareRestoreArchive, probePlatform, processJwtSigningKey, processMeshCrl, proxyToUpstream, quarantineAddonResidue, readBackupEncryptionHeader, readCidrSetting, readExtraSans, readHeapSpaces, readLanHttpState, readPendingRestart, readSocketQueues, readTlsAccessStatus, readTlsMode, readinessKey, reclaimIntervalMs, recordSocketFrame, redactLogEntry, redactLogMeta, redactLogText, regenerateCertificate, registerEventBusService, registerHttpsListener, registerLanHttpHandler, reissueTlsLeaf, reloadHttpsListener, renewMeshCertificate, requireProcessMeshCa, resetCatalogRegistryForTests, resolveFilePath, resolveFormatRevision, resolveHwAccel, resolveNpmInvocation, revertToGeneratedCertificate, revisionWeightUrl, revokeMeshCertificate, runHubAddonBoot, runNpm, sampleSocketDirection, scheduleSelfRestart, scopeKey, scopesAllowAddon, scopesAllowDeviceCap, selectAddonResidue, selectReportedSpaces, serializeTypedArrays, servedHttpsLeafFingerprint, setHubConnected, setNodeEventInterest, setPlatformKeychainKey, setProcessAgentHttpsNames, setProcessMeshCertificateRegistry, setProcessMeshPeerTransportLookup, setProcessMeshTlsEnabler, setProcessMeshTlsListenerState, setWrapperActive, shouldReclaim, signPairingProof, signalAllRunnerGroups, socketDirectionBytes, socketDirectionMessages, splitPemCertificates, stampCallerAddonId, startEventLoopStallMonitor, startHeapWatch, startRunnerHeapWatch, staticJwtSigningKey, storeMayAnswer, storeUploadedCertificate, strandedMb, stripCamstackDeps, stripForgedIdentity, stripForwardedCaller, subscribePassthrough, systemHostFacts, udsChildLogToWorkerEntry, validateProviderRegistrations, validateUploadedTls, verifyAgentUiUnlockTicket, verifyDeviceLeaf, verifyDeviceSignature, verifyPairingProof, waitUntilReady, writeExtraSans, writePendingRestart, writeTlsMode };
27152
+ export { ADMIN_TOKEN_MAX_LIFETIME_MS, ADMIN_TOKEN_PREFIX, AGENT_CAP_FWD_ACTION, AGENT_CAP_FWD_SERVICE, AGENT_DASHBOARD_ORIGINS_FIELD, AGENT_HTTPS_NAMES_COLLECTION, AGENT_HTTPS_NAMES_COLUMNS, AGENT_READINESS_SERVICE_NAME, AGENT_UI_UNLOCK_TTL_MS, AGENT_UI_UNLOCK_TYP, AGENT_UI_UNLOCK_USE, AGENT_UI_UNLOCK_VERSION, ALL_CAPABILITY_DEFINITIONS, ARRAY_BUFFER_CENSUS_COOLDOWN_MS, ARRAY_BUFFER_CENSUS_SUSTAIN_MS, ARRAY_BUFFER_CENSUS_THRESHOLD_MB, ARRAY_BUFFER_RELEASE_MIN_DROP_RATIO, AddonApiFactory, AddonDepsManager, AddonEngineManager, AddonHealthMonitor, AddonInstaller, AddonLoader, AddonManifest, AddonRouteRegistry, AdminTokenManager, AgentHttpsInstallError, AgentHttpsNames, AgentMdnsAdvertiser, AgentMeshIdentityGate, AgentPairing, AlertCenterAddon, ApiKeyManager, AuthAuditLog, AuthManager, BackupDecryptError, BackupKeyFormatError, BackupKeyMismatchError, BackupKeyRequiredError, CAP_ACTION_OVERFLOW_LABEL, CAP_ACTION_UNLABELLED, CAP_METHOD_NOT_IMPLEMENTED, CA_COMMON_NAME, CA_VALIDITY_DAYS, CORE_CAP_SERVICE_NAME, CalendarsAddon, CapRouteError, CapRouteResolver, CapUsageRegistry, CapabilityHandle, CapabilityRegistry, CapabilityUnavailableError, CatalogRegistry, ComposerAddon, ConfigManager, ConfigStore, ConsoleDestination, ConsoleLoggingAddon, CoreBlocksAddon, CustomActionRegistry, DECISIVE_HEAP_SPACES, DEFAULT_DATA_PATH, DEFAULT_HUB_TLS_TCP_PORT, DEFAULT_LAN_HTTP_PORT, DEFAULT_LOG_LEVEL, DEVICE_CA_KEY_REF, DEVICE_SETTINGS_CONTRIBUTION_METHODS, DEVICE_STATUS_METHOD, DataPlaneRegistry, DeviceCaStore, DeviceCredentialManager, DeviceManagerAddon, DeviceRegistry, DeviceStore, EMPTY_CAP_ACTION_READING, EMPTY_SOCKET_DIRECTION, EMPTY_SOCKET_PLANE_BASELINE, EVENT_PLANE_TOP_N, EVENT_TOPIC_PREFIX, EngineManagerResolver, EventBus, FIRST_BOOT_ADMIN_PASSWORD, FIRST_BOOT_ADMIN_USERNAME, FeatureManager, FilesystemStorageAddon, FilesystemStorageProvider, FrameDecoder, FsStorageBackend, GET_STATUS_METHOD, HEALTH_MONITOR_GRACE_PERIOD_MS, HEALTH_MONITOR_RETRY_INTERVALS_MS, HEALTH_MONITOR_TICK_MS, HEAP_RECLAIM_MIN_INTERVAL_MS, HEAP_RECLAIM_STEADY_STATE_INTERVAL_MS, HEAP_RECLAIM_TRIGGER_MB, HEAP_SPACE_REPORT_MIN_MB, HEAP_WATCH_INTERVAL_MS, HEAP_WATCH_WARN_RATIO, HUB_CAP_FWD_ACTION, HUB_CAP_FWD_SERVICE, HUB_MAIN_HEAP_WATCH_LABEL, HUB_MAIN_RSS_BUDGET_MB, HUB_RSS_BUDGET_ENV, HubForwarderAddon, HubForwarderDestination, HubLogForwarder, HubNodeRegistry, HubPairing, INFRA_CAPABILITIES, IntegrationRegistry, JWT_SIGNING_KEY_REF, JobJournal, JwtSigningKeyUnavailableError, LEAF_RENEWAL_WINDOW_DAYS, LifecycleJobEngine, LifecycleStateMachine, LivenessMonitorAddon, LocalAuthAddon, LocalChildClient, LocalChildRegistry, LogManager, LogRingBuffer, LoggingGate, LoginSessionManager, LokiDestination, LokiLoggingAddon, MAX_CAP_ACTIONS_PER_PEER, MAX_LEAF_VALIDITY_DAYS, MESH_ACTION_FORBIDDEN_TYPE, MESH_CA_FIELD, MESH_CA_KEY_REF, MESH_CA_SETTINGS_KEY, MESH_NODE_CERTIFICATES_COLLECTION, MESH_NODE_CERTIFICATES_COLUMNS, MESH_NODE_UNAUTHENTICATED_TYPE, MESH_QUEUE_TOP_N, MESH_TLS_PORT_HELLO_FIELD, METHOD_ACCESS_MAP, MeshCaKeeper, MeshCertificateRegistry, MeshCrl, MeshIdentityGate, ModelDownloadService, NATIVE_PROVIDER_SERVICE_INFIX, NATIVE_SCAN_DEPTH, NativeMetricsAddon, NativeMetricsProvider, NetworkQualityTracker, NotificationService, OUTBOUND_QUEUE_COOLDOWN_MS, OUTBOUND_QUEUE_SUSTAIN_MS, OUTBOUND_QUEUE_THRESHOLD_BYTES, PAIRING_CODE_DIGITS, PAIRING_MAX_CODE_ATTEMPTS, PAIRING_MAX_SESSIONS, PAIRING_PATHS, PAIRING_PIN_DIGITS, PAIRING_PROTOCOL, PAIRING_TTL_MS, PARENT_ROUTED_PROVIDER_ADDON_ID, PERMITTED_DNS_SUFFIXES, PERMITTED_IP_RANGES, PREVIOUS_LEAF_GRACE_MS, PYTHON_VERSION, PairingHttpError, PeerAnsweredError, PipelineRunner, PipelineValidator, PythonEnvManager, QUARANTINE_DIRNAME, REFRESH_TOKEN_PREFIX, RENEWAL_ABANDONED, RESTART_MARKER_FILE, RSS_BUDGET_REANNOUNCE_MIN_MS, RSS_BUDGET_RELEASE_RATIO, RUNNER_HEAP_WATCH_INTERVAL_MS, RUNNER_RSS_BUDGET_ENV, RUNTIME_DEFAULTS, ReadinessRegistry, ReadinessTimeoutError, ReplEngine, RingBuffer, SERVER_AUTH_OID, SERVER_NAMESPACE, SOCKET_PLANE_TOP_N, SOCKET_QUEUE_TOP_N, STALL_REPORT_MS, STALL_TICK_MS, STORE_READABLE_BOOTSTRAP_KEYS, SYSTEM_SECRET_OWNER, ScopedLogger, ScopedTokenManager, SettingsReadUnavailableError, SocketChannel, SqliteSettingsAddon, SqliteSettingsBackend, StagingArea, StorageLocationManager, StorageManager, StorageOrchestratorAddon, StorageOrchestratorService, SystemBackupService, SystemConfigAddon, SystemEventBus, TRADITIONAL_NATIVE_PACKAGES, TlsTcpTransporter, ToastService, UDS_NO_ROUTE_PREFIX, UNCLAIMED, UPLOADED_CA_FILE, USER_MANAGEMENT_INTERNAL, UdsLocalTransportClient, UdsLocalTransportServer, UnlockTicketJtiStore, UserManager, WinstonDestination, WinstonLoggingAddon, ZERO_LOOP_DELAY, __resetCapUsageRegistryForTests, __resetLoggingGateForTests, acceptAgentSans, adaptBrokerToCluster, addonSettingsCapability, adoptModelRevisions, afterWorkerOnlineAnnounce, agentHttpsPaths, allFamiliesListenHost, answerClaimedGetStatus, applyCertificateToListener, applyLanHttp, attachUserManagementInternal, attributeStall, bindPendingLanHttp, bootstrapSchema, brokerCallForCap, brokerTransportLink, buildAgentAnnouncement, buildBinaryPath, buildCapRouters, buildHeapSample, buildLinkChain, buildNameConstraintSet, buildNativeCapProxy, buildNodeManifest, buildNpmChildEnv, buildStorageLocationRegistry, buildTransporter, builderMountedCapNames, caFingerprint, caFingerprintCompact, caReplacementMarkerFile, callRegisterNodeWithRetry, callWithServiceDiscovery, canServeDataPlane, capActionLabel, capActionName, capActionSuffix, capBareAction, capServiceName, catalogNamespaceOf, certificateNames, chainsToPublicRoot, checkUploadedCa, classifyAddonDir, classifyCapRoute, clearHttpsListener, clearPendingRestart, clearPlatformKeychainKey, closeLanHttp, clusterEventTopic, collectAgentNames, collectCertIdentity, collectModelFiles, computePairingCommitment, computePairingSas, connectBrokerTransport, contentTypeFor, copyDirRecursive, copyExtraFileDirs, createAddonContext, createAddonDataPlaneFacility, createAddonPeerBytesFacility, createAddonService, createAgentEventScope, createAgentHttpsRequest, createAgentTransport, createArrayBufferCensusGate, createAuthenticatedFileServer, createBroker, createBrokerDeviceManagerApi, createCapActionCensus, createCiaoPublisher, createCidrMatcher, createCoreCapService, createCoreCatalogRegistry, createDeferredHeapWatchSink, createDoorSettingsView, createEventPlaneMeter, createEventPlaneReader, createFileDataPlaneHandler, createHubCapForwardService, createHubService, createInspectorArrayBufferCensus, createKernelHwAccel, createKernelInferenceEngine, createLocalTransport, createLoopDelayMeter, createMeshAccessMiddleware, createMeshCsrPem, createMeshQueueReader, createOutboundQueueGate, createParentUnownedCallHandler, createProcessService, createReadinessService, createReadinessServiceForRegistry, createScopedProcessManager, createSocketDirectionCounters, createSocketPlaneMeter, createSocketPlaneReader, createStreamProbeBrokerService, createUdsAddonContext, createUdsEventBridge, createUdsEventBus, createUdsLogger, createUdsLoggerWithControl, createV8Reclaimer, currentBrokerTransporter, deleteModelFromDisk, deriveAgentListenPort, describeCsr, describeHttpsLeaf, describeMeshLeaf, describeProviderKindDrift, describeRss, detectWorkspacePackagesDir, deviceCapResolverLink, deviceOfGetStatus, diffCapActionCensus, diffEventPlane, diffSocketPlane, disconnectBrokerTransport, downloadBinary, downloadFile, downloadModel, dropProcessPeer, emitDownForOwnedCaps, emitHeapDiagnosticReport, emitProcessNodeRegistered, encodeFrame, ensureAddonNativePrebuilds, ensureBinary, ensureDir, ensureFfmpeg, ensureLibraryBuilt, ensureModel, ensureNativePrebuilds, ensurePython, ensureTlsCert, evaluateExistingCert, expandCapMethods, exportMeshPrivateKeyPem, fetchJson, findInPath, formatArrayBufferCensus, formatEventPlane, formatHeapSpaces, formatLogLine, formatMeshQueue, formatOutboundQueueVerdict, formatSocketPlane, generateBackupKeyPair, generateDeviceCa, generateMeshCa, generateMeshKeyPair, getBrokerEventBus, getBrokerTlsTransporter, getCapUsageRegistry, getCatalogRegistry, getFfmpegDownloadUrl, getLoggingGate, getModelFilePath, getMoleculerEventStats, getOrInitReadinessRegistry, getOrInitReadinessRegistryForClient, getPidStats, getPlatformInfo, getPlatformKeychainKey, getProcessAgentHttpsNames, getProcessJwtSigningKeyState, getProcessMeshCaState, getProcessMeshCertificateRegistry, getProcessMeshTlsListenerState, getProcessNodeMeshTransport, getProcessPeerLeaf, getPythonDownloadUrl, getRestartMarkerPath, getSinglePidStats, getUserManagementInternal, getWorkerDeviceRegistry, hasDotNode, heapSpaceField, hostNodeIdOf, hubHostFromMeshAddress, hubMainRssBudget, installAgentHttps, installBrokerTransporter, installManifestNativeDeps, installManifestPythonDeps, installManifestSystemDeps, installPackageFromNpm, installPythonPackages, installPythonRequirements, ipcParentLink, isAddonDeploySource, isAllowedAgentDashboardReturnTo, isArrayBufferCensusReport, isArrayOutputSchema, isCollectionArrayMethod, isConstrainedCa, isContainerBridgeAddress, isCredentialKeyName, isInfraCapability, isInstalledTransporter, isLocalOnlyHostname, isModelDownloaded, isPeerEventPacket, isPrivateAddress, isProcessVerifiedMeshPeer, isRemoteForbiddenAction, isRemoteForbiddenOnAgent, isSettingsReadUnavailable, isSourceNewer, isValidAgentNodeId, isolatedBuiltinPhase, issueAgentHttpsLeaf, issueDeviceLeaf, issueMeshLeafForNode, issueMeshLeafFromCsr, keyFingerprintShort, leafFingerprintOf, loadAgentHttps, loadDeviceCa, loadMeshCa, loadTlsCert, localEndpointPath, localProviderLink, localSupportedPythonRuntimes, mapSignalsToInferenceHardware, meshErrorType, mintAgentUiUnlockTicket, mountNativeCapService, nextRssBudgetState, normalizeIp, onProcessNodeRegistered, onSessionsRevoked, openMeshTlsWhenRevocationsLoaded, overlayGetStatus, parseAgentDashboardOrigins, parseCapAction, parseCidrList, parseRangeHeader, parseRssBudgetMb, parseTokenExpiry, parseTokenizedUrl, partitionIsolatedBuiltinIds, pemDigest, permitsIdentity, permitsName, pinnedHttpsCaFingerprint, prepareBootTls, prepareRestoreArchive, probePlatform, processJwtSigningKey, processMeshCrl, proxyToUpstream, quarantineAddonResidue, readBackupEncryptionHeader, readCidrSetting, readExtraSans, readHeapSpaces, readLanHttpState, readNameConstraints, readPendingRestart, readSocketQueues, readTlsAccessStatus, readTlsMode, readinessKey, reclaimIntervalMs, recordSocketFrame, redactLogEntry, redactLogMeta, redactLogText, regenerateCertificate, registerEventBusService, registerHttpsListener, registerLanHttpHandler, reissueTlsLeaf, reloadHttpsListener, renewMeshCertificate, replaceUnconstrainedLocalCa, requireProcessMeshCa, resetCatalogRegistryForTests, resolveFilePath, resolveFormatRevision, resolveHwAccel, resolveNpmInvocation, retirePreviousLocalCa, revertToGeneratedCertificate, revisionWeightUrl, revokeMeshCertificate, runHubAddonBoot, runNpm, sampleSocketDirection, scheduleSelfRestart, scopeKey, scopesAllowAddon, scopesAllowDeviceCap, selectAddonResidue, selectReportedSpaces, serializeTypedArrays, servedHttpsLeafFingerprint, setHubConnected, setNodeEventInterest, setPlatformKeychainKey, setProcessAgentHttpsNames, setProcessMeshCertificateRegistry, setProcessMeshPeerTransportLookup, setProcessMeshTlsEnabler, setProcessMeshTlsListenerState, setWrapperActive, shouldReclaim, signPairingProof, signalAllRunnerGroups, socketDirectionBytes, socketDirectionMessages, splitPemCertificates, stampCallerAddonId, startEventLoopStallMonitor, startHeapWatch, startRunnerHeapWatch, staticJwtSigningKey, storeMayAnswer, storeUploadedCertificate, strandedMb, stripCamstackDeps, stripForgedIdentity, stripForwardedCaller, subscribePassthrough, systemHostFacts, udsChildLogToWorkerEntry, useStoredUploadedCertificate, validateProviderRegistrations, validateUploadedTls, verifyAgentUiUnlockTicket, verifyDeviceLeaf, verifyDeviceSignature, verifyPairingProof, waitUntilReady, writeExtraSans, writePendingRestart, writeTlsMode };
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require("./chunk-Cek0wNdY.js");
2
- const require_x509_es = require("./x509.es-r7Ht1thA.js");
2
+ const require_x509_es = require("./x509.es-C4cOo48M.js");
3
3
  const require_src$1 = require("./src-CnAqG6EF.js");
4
4
  //#region ../../node_modules/source-map/lib/base64.js
5
5
  var require_base64 = /* @__PURE__ */ require_chunk.__commonJSMin(((exports) => {
@@ -1,5 +1,5 @@
1
1
  import { a as __toCommonJS, i as __require, n as __esmMin, r as __exportAll, t as __commonJSMin } from "./chunk-CNf5ZN-e.mjs";
2
- import { h as tslib_es6_exports, m as init_tslib_es6 } from "./x509.es-CDvj67p1.mjs";
2
+ import { b as tslib_es6_exports, y as init_tslib_es6 } from "./x509.es-DK__ETIe.mjs";
3
3
  import { t as require_src } from "./src-hG4grMU4.mjs";
4
4
  //#region ../../node_modules/source-map/lib/base64.js
5
5
  var require_base64 = /* @__PURE__ */ __commonJSMin(((exports) => {
@@ -1,4 +1,4 @@
1
- import { b as DATABASE_SNAPSHOT_SUFFIX } from "./dist-Dc8GKC5H.mjs";
1
+ import { b as DATABASE_SNAPSHOT_SUFFIX } from "./dist-yI6kF6r6.mjs";
2
2
  import { createCipheriv, createDecipheriv, createHash, createPrivateKey, createPublicKey, diffieHellman, generateKeyPairSync, hkdfSync, randomBytes } from "node:crypto";
3
3
  import { Buffer as Buffer$1 } from "buffer";
4
4
  import * as fsp from "node:fs/promises";
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require("./chunk-Cek0wNdY.js");
2
- const require_dist = require("./dist-GgG-7amw.js");
2
+ const require_dist = require("./dist-BOWdLjoK.js");
3
3
  let node_crypto = require("node:crypto");
4
4
  let buffer = require("buffer");
5
5
  let node_fs_promises = require("node:fs/promises");
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-GgG-7amw.js");
1
+ const require_dist = require("./dist-BOWdLjoK.js");
2
2
  //#region src/builtins/sqlite-storage/retired-settings-keys.ts
3
3
  /**
4
4
  * Is THIS node the one whose settings store is the cluster's authority?
@@ -1,4 +1,4 @@
1
- import { Rr as asJsonObject } from "./dist-Dc8GKC5H.mjs";
1
+ import { Rr as asJsonObject } from "./dist-yI6kF6r6.mjs";
2
2
  //#region src/builtins/sqlite-storage/retired-settings-keys.ts
3
3
  /**
4
4
  * Is THIS node the one whose settings store is the cluster's authority?
@@ -1,5 +1,6 @@
1
1
  import type { HttpsLeafInfo } from "@camstack/types";
2
2
  import { type CertIdentity, type HostFacts } from "./cert-identity.js";
3
+ import { isLocalOnlyHostname } from "./cert-name-constraints.js";
3
4
  export interface AgentHttpsPaths {
4
5
  readonly dir: string;
5
6
  /** The one atomic file: key + leaf + pinned CA. */
@@ -63,8 +64,7 @@ export declare function describeHttpsLeaf(certPem: string): HttpsLeafInfo;
63
64
  export declare function isPrivateAddress(address: string): boolean;
64
65
  /** The default docker bridge network (172.17.0.0/16): identical on every host, so it names nothing. */
65
66
  export declare function isContainerBridgeAddress(address: string): boolean;
66
- /** A name that cannot collide with public DNS. */
67
- export declare function isLocalOnlyHostname(name: string): boolean;
67
+ export { isLocalOnlyHostname };
68
68
  export interface AcceptedSans {
69
69
  readonly identity: CertIdentity;
70
70
  readonly accepted: readonly string[];
@@ -17,6 +17,12 @@ export interface BootTls {
17
17
  * a certificate source that changed under the operator is never silent.
18
18
  */
19
19
  readonly uploadedMissing: boolean;
20
+ /**
21
+ * True when an UNCONSTRAINED local CA kept beside an uploaded certificate was replaced
22
+ * by a constrained one (D873). The served pair is untouched; agents' leaves chain to
23
+ * the new CA and clients that trusted the old one must re-trust. The caller logs it.
24
+ */
25
+ readonly dormantCaReplaced: boolean;
20
26
  }
21
27
  /**
22
28
  * Decide what the listener serves at boot. The admin UI (Network → Local
@@ -20,7 +20,7 @@ export declare const CA_RENEWAL_WINDOW_DAYS: number;
20
20
  * verbatim — an operator who trusted the old certificate by hand learns
21
21
  * from this string, not from a browser error.
22
22
  */
23
- export type CertRegenerationReason = "missing" | "unreadable" | "no-local-ca" | "ca-expiring" | "key-mismatch" | "expiring" | "missing-server-auth-eku" | "not-issued-by-local-ca" | "validity-too-long" | "san-coverage-gap";
23
+ export type CertRegenerationReason = "missing" | "unreadable" | "no-local-ca" | "ca-expiring" | "ca-unconstrained" | "key-mismatch" | "expiring" | "missing-server-auth-eku" | "not-issued-by-local-ca" | "validity-too-long" | "san-coverage-gap";
24
24
  export interface CertEvaluationInput {
25
25
  /** Contents of `camstack.crt` — leaf first, then the issuing CA. */
26
26
  readonly chainPem: string;
@@ -19,8 +19,12 @@ export interface CaSigner {
19
19
  * A local root: 10 years, `pathlen:0` so it can sign leaves and nothing
20
20
  * else, and **no EKU** — Apple rejects an anchor asserting
21
21
  * `anyExtendedKeyUsage`, and a root with no EKU constrains nothing.
22
+ *
23
+ * It carries a CRITICAL `nameConstraints` extension (D873): private address
24
+ * ranges and local-only DNS names, plus `hostnames` (the hub's own single-label
25
+ * names at creation). A leaked key therefore cannot vouch for a public site.
22
26
  */
23
- export declare function generateCa(now: Date): Promise<CaSigner>;
27
+ export declare function generateCa(now: Date, hostnames?: readonly string[]): Promise<CaSigner>;
24
28
  /** Re-open a root already on disk so a leaf can be issued under it. */
25
29
  export declare function loadCa(certPem: string, keyPem: string): Promise<CaSigner>;
26
30
  /**
@@ -27,6 +27,11 @@ export interface EnsureTlsResult {
27
27
  readonly validTo: string;
28
28
  readonly sans: readonly string[];
29
29
  /**
30
+ * SAN values the local CA's name constraints (D873) do not permit, left out of the
31
+ * leaf. Empty when everything the machine answers to is certifiable.
32
+ */
33
+ readonly droppedNames: readonly string[];
34
+ /**
30
35
  * Set when a reissue was needed and FAILED, and the previous material is
31
36
  * still being served. Never null-and-degraded silently: this is the line
32
37
  * that says the certificate is not what the rule wants it to be.
@@ -91,6 +96,19 @@ export declare function ensureTlsCert(dataDir: string, options?: CertOptions): P
91
96
  */
92
97
  export declare function reissueTlsLeaf(dataDir: string, options?: CertOptions): Promise<EnsureTlsResult>;
93
98
  /**
99
+ * Uploaded mode keeps a generated CA beside the upload (agents' leaves are still signed
100
+ * by it). When that CA is unconstrained, replace it alone (D873): the served pair is the
101
+ * operator's and is never touched. Returns whether the CA was replaced.
102
+ */
103
+ export declare function replaceUnconstrainedLocalCa(dataDir: string, options?: CertOptions): Promise<boolean>;
104
+ /** Marker path for the status reader and the retire step. */
105
+ export declare function caReplacementMarkerFile(dataDir: string): string;
106
+ /**
107
+ * Called once the HTTPS listener serves the leaf of the replacement CA: drop the retired
108
+ * unconstrained CA, key first. Idempotent; returns whether anything was removed.
109
+ */
110
+ export declare function retirePreviousLocalCa(dataDir: string): boolean;
111
+ /**
94
112
  * Load TLS cert+key from files. Returns Buffers suitable for Node.js TLS
95
113
  * options. `certPath` is a full chain, so the listener presents the local
96
114
  * root alongside the leaf.
@@ -0,0 +1,53 @@
1
+ import { Extension, type X509Certificate as PeculiarCertificate } from "@peculiar/x509";
2
+ import type { CertIdentity } from "./cert-identity.js";
3
+ /** `id-ce-nameConstraints`. */
4
+ export declare const NAME_CONSTRAINTS_OID = "2.5.29.30";
5
+ /** The address space the generated CA may certify. 100.64.0.0/10 is CGNAT, which Tailscale hands out. Loopback is for the hub's own `127.0.0.1` / `::1` SANs. */
6
+ export declare const PERMITTED_IP_RANGES: readonly string[];
7
+ /**
8
+ * Local-only DNS suffixes: none of them is delegated in public DNS. A leading
9
+ * dot permits every name under the suffix and not the suffix itself.
10
+ */
11
+ export declare const PERMITTED_DNS_SUFFIXES: readonly string[];
12
+ /** A name that cannot collide with public DNS: a single label, or under a local-only suffix. */
13
+ export declare function isLocalOnlyHostname(name: string): boolean;
14
+ /** What a CA may certify, as read from (or written into) its extension. */
15
+ export interface NameConstraintSet {
16
+ /** `ip/prefix` strings. */
17
+ readonly ipRanges: readonly string[];
18
+ /** Lower-cased DNS constraints: `.suffix` for a subtree, a bare name for the name and its subdomains. */
19
+ readonly dnsNames: readonly string[];
20
+ readonly critical: boolean;
21
+ }
22
+ /**
23
+ * The constraint set for a new CA. `hostnames` are the hub's own local-only
24
+ * names at creation time (a single-label OS hostname has no suffix to hide
25
+ * under), added as exact entries; anything that could collide with public DNS
26
+ * is dropped here, never constrained in.
27
+ */
28
+ export declare function buildNameConstraintSet(hostnames: readonly string[]): NameConstraintSet;
29
+ /** The `nameConstraints` extension for a CA: permitted subtrees only, marked critical. */
30
+ export declare function createNameConstraintsExtension(set: NameConstraintSet): Extension;
31
+ /** The CA's constraint set, or `null` when the certificate carries no `nameConstraints`. */
32
+ export declare function readNameConstraints(cert: PeculiarCertificate): NameConstraintSet | null;
33
+ /**
34
+ * True when a CA is safe to keep as the hub's anchor: constrained to a
35
+ * non-empty permitted set AND marked critical. A non-critical constraint is
36
+ * ignored by clients that do not know the extension, which is the same as none.
37
+ */
38
+ export declare function isConstrainedCa(cert: PeculiarCertificate): boolean;
39
+ /** Is this SAN value (an IP literal or a DNS name) inside the permitted set? */
40
+ export declare function permitsName(set: NameConstraintSet, value: string): boolean;
41
+ export interface ConstrainedIdentity {
42
+ readonly identity: CertIdentity;
43
+ /** SAN values the CA's constraints do not permit, dropped from the leaf. */
44
+ readonly dropped: readonly string[];
45
+ }
46
+ /**
47
+ * The part of an identity the CA is allowed to certify. A leaf naming
48
+ * anything outside the constraints makes the WHOLE chain fail validation in
49
+ * OpenSSL, so such names are dropped (and reported), never signed. The
50
+ * required lists shrink the same way: otherwise a name the CA cannot certify
51
+ * would count as a permanent SAN gap and reissue the leaf on every boot.
52
+ */
53
+ export declare function permitsIdentity(set: NameConstraintSet, identity: CertIdentity): ConstrainedIdentity;
@@ -1,11 +1,12 @@
1
1
  export { CA_VALIDITY_DAYS, type CertEvaluationInput, LEAF_RENEWAL_WINDOW_DAYS, SERVER_AUTH_OID } from "./cert-evaluation.js";
2
- export { type CertIdentity, type CertOptions, type HostFacts, type CertRegenerationReason, collectCertIdentity, type EnsureTlsResult, ensureTlsCert, reissueTlsLeaf, evaluateExistingCert, loadTlsCert, MAX_LEAF_VALIDITY_DAYS, type TlsCertPair } from "./cert-manager.js";
2
+ export { type CertIdentity, type CertOptions, type HostFacts, type CertRegenerationReason, collectCertIdentity, type EnsureTlsResult, ensureTlsCert, reissueTlsLeaf, replaceUnconstrainedLocalCa, retirePreviousLocalCa, caReplacementMarkerFile, evaluateExistingCert, loadTlsCert, MAX_LEAF_VALIDITY_DAYS, type TlsCertPair } from "./cert-manager.js";
3
3
  export { type BootTls, type BootTlsMode, prepareBootTls } from "./boot-tls.js";
4
4
  export { clearHttpsListener, type HttpsReloadOutcome, leafFingerprintOf, registerHttpsListener, reloadHttpsListener, servedHttpsLeafFingerprint } from "./https-listener.js";
5
- export { applyCertificateToListener, regenerateCertificate, revertToGeneratedCertificate, storeUploadedCertificate, type UploadCertificateInput } from "./tls-actions.js";
5
+ export { applyCertificateToListener, regenerateCertificate, revertToGeneratedCertificate, storeUploadedCertificate, type UploadCertificateInput, useStoredUploadedCertificate } from "./tls-actions.js";
6
6
  export { CA_COMMON_NAME } from "./cert-issue.js";
7
- export { validateUploadedTls, type UploadedTlsValidation } from "./uploaded-cert.js";
8
- export { type TlsAccessStatus, readTlsAccessStatus, splitPemCertificates, UPLOADED_CA_FILE, writeTlsMode, readTlsMode, readExtraSans, writeExtraSans } from "./tls-status.js";
7
+ export { checkUploadedCa, chainsToPublicRoot, validateUploadedTls, type UploadedCaCheck, type UploadedTlsErrorCode, type UploadedTlsValidation } from "./uploaded-cert.js";
8
+ export { buildNameConstraintSet, isConstrainedCa, type NameConstraintSet, permitsIdentity, permitsName, readNameConstraints, PERMITTED_DNS_SUFFIXES, PERMITTED_IP_RANGES } from "./cert-name-constraints.js";
9
+ export { type StoredUploadInfo, type TlsAccessStatus, readTlsAccessStatus, splitPemCertificates, UPLOADED_CA_FILE, writeTlsMode, readTlsMode, readExtraSans, writeExtraSans } from "./tls-status.js";
9
10
  export { acceptAgentSans, type AcceptedSans, AgentHttpsInstallError, type AgentHttpsMaterial, type AgentHttpsPaths, type AgentHttpsRequest, type AgentNames, agentHttpsPaths, certificateNames, collectAgentNames, createAgentHttpsRequest, describeHttpsLeaf, installAgentHttps, isContainerBridgeAddress, isLocalOnlyHostname, isPrivateAddress, issueAgentHttpsLeaf, type IssuedAgentHttps, loadAgentHttps, pemDigest, pinnedHttpsCaFingerprint } from "./agent-https.js";
10
11
  export { AGENT_HTTPS_NAMES_COLLECTION, AGENT_HTTPS_NAMES_COLUMNS, AgentHttpsNames, getProcessAgentHttpsNames, setProcessAgentHttpsNames } from "./agent-https-names.js";
11
12
  export { systemHostFacts } from "./cert-identity.js";
@@ -1,3 +1,4 @@
1
+ import type { X509Certificate } from "node:crypto";
1
2
  import { type CertOptions } from "./cert-manager.js";
2
3
  import { type HttpsReloadOutcome } from "./https-listener.js";
3
4
  /**
@@ -10,17 +11,36 @@ export interface UploadCertificateInput {
10
11
  readonly keyPem: string;
11
12
  readonly caPem?: string | undefined;
12
13
  }
14
+ /** Test seam: the trust anchors that count as "public". Defaults to the ones Node ships. */
15
+ export interface UploadCertificateOptions {
16
+ readonly publicRoots?: readonly X509Certificate[];
17
+ readonly now?: Date;
18
+ }
19
+ /**
20
+ * Store an operator's certificate (D873). The material is validated first, and a
21
+ * certificate that does not lead to a public CA must come with the CA that signed it
22
+ * (validated: it is a CA, in date, and issued the leaf) - otherwise "Download CA" would
23
+ * have nothing to hand out. Nothing is written when anything is refused.
24
+ *
25
+ * The leaf (or chain) and key are written twice: as the served pair, and as a kept copy
26
+ * (`uploaded.crt` / `uploaded.key`, with the issuing CA in `uploaded-ca.crt`) that
27
+ * "Revert to generated" leaves in place so the upload can be selected again. The local
28
+ * CA (`camstack-ca.crt` + key) is never touched - it did not sign the upload, and it is
29
+ * what every device that trusts it still needs.
30
+ */
31
+ export declare function storeUploadedCertificate(dataDir: string, input: UploadCertificateInput, options?: UploadCertificateOptions): Promise<void>;
13
32
  /**
14
- * Store an operator's certificate. The leaf (or chain) and key replace the
15
- * served pair; a CA, when given, goes to its own file. The local CA
16
- * (`camstack-ca.crt` + key) is never touched — it did not sign the upload,
17
- * and it is what "Revert to generated" and every device that trusts it
18
- * still need.
33
+ * Serve the kept upload again after a revert (D873). Refused with a clear error when none
34
+ * is kept; the generated material stays on disk and is untouched.
19
35
  */
20
- export declare function storeUploadedCertificate(dataDir: string, input: UploadCertificateInput): Promise<void>;
36
+ export declare function useStoredUploadedCertificate(dataDir: string): Promise<void>;
21
37
  /** Issue a new generated leaf under the local CA. Refused while an upload is served. */
22
38
  export declare function regenerateCertificate(dataDir: string, options: CertOptions): Promise<void>;
23
- /** Drop the upload and serve the generated local-CA leaf again (D227). */
39
+ /**
40
+ * Serve the generated local-CA leaf again (D227). The uploaded certificate and its CA stay
41
+ * on disk (D873) so it can be selected again; an upload made before they were kept is
42
+ * copied aside first, from the pair being served.
43
+ */
24
44
  export declare function revertToGeneratedCertificate(dataDir: string, options: CertOptions): Promise<void>;
25
45
  /**
26
46
  * Put the pair on disk on the HTTPS listener. Called after every action, so
@@ -1,4 +1,11 @@
1
1
  export type TlsMode = "generated" | "uploaded" | "disabled";
2
+ /** An uploaded certificate kept on disk (D873): selectable again after "Revert to generated". */
3
+ export interface StoredUploadInfo {
4
+ readonly leafFingerprintSha256: string;
5
+ readonly validTo: string;
6
+ /** Whether a CA that signed it is kept with it. */
7
+ readonly hasCa: boolean;
8
+ }
2
9
  export interface TlsAccessStatus {
3
10
  readonly mode: TlsMode;
4
11
  readonly leafFingerprintSha256: string | null;
@@ -8,11 +15,26 @@ export interface TlsAccessStatus {
8
15
  readonly caCertPem: string | null;
9
16
  readonly reissueError: string | null;
10
17
  readonly restartRequired: boolean;
18
+ /**
19
+ * An uploaded certificate is served but no CA that signed it is kept and the chain does
20
+ * not lead to a public CA: "Download CA" has nothing to hand out, so devices cannot be
21
+ * made to trust the hub (D873). `false` otherwise.
22
+ */
23
+ readonly caMissing: boolean;
24
+ /** Does the hub's own generated CA carry a critical name constraint? `null` while it has no CA. */
25
+ readonly localCaConstrained: boolean | null;
26
+ /** ISO time the generated CA was replaced by a constrained one; devices must re-trust it. */
27
+ readonly caReplacedAt: string | null;
28
+ /** The uploaded certificate kept on disk, whether or not it is the one served. */
29
+ readonly storedUpload: StoredUploadInfo | null;
11
30
  }
12
31
  export declare function readTlsMode(dataDir: string): TlsMode;
13
32
  export declare function writeTlsMode(dataDir: string, mode: TlsMode): void;
14
33
  export declare function readExtraSans(dataDir: string): readonly string[];
15
34
  export declare function writeExtraSans(dataDir: string, sans: readonly string[]): void;
35
+ /** The kept copy of the last upload: the chain and key as the operator supplied them. */
36
+ export declare const STORED_UPLOAD_CERT_FILE = "uploaded.crt";
37
+ export declare const STORED_UPLOAD_KEY_FILE = "uploaded.key";
16
38
  /** Where an upload's own CA is kept — never over the local CA's `camstack-ca.crt`. */
17
39
  export declare const UPLOADED_CA_FILE = "uploaded-ca.crt";
18
40
  /** Every certificate in a PEM bundle, in order. */