@camstack/system 1.2.455 → 1.2.456

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 (98) hide show
  1. package/dist/{agent-https-CLWrOO3o.mjs → agent-https-fm4AR8XL.mjs} +32 -5
  2. package/dist/{agent-https-CCvlRQKV.js → agent-https-yjxdfJDA.js} +37 -4
  3. package/dist/auth/auth-manager.d.ts +9 -0
  4. package/dist/auth/legacy-token-tables.d.ts +16 -0
  5. package/dist/auth/user-management-internal.d.ts +9 -28
  6. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
  7. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
  8. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
  9. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
  10. package/dist/builtins/alerts/alerts.addon.js +2 -2
  11. package/dist/builtins/alerts/alerts.addon.mjs +2 -2
  12. package/dist/builtins/autotrack/index.js +1 -1
  13. package/dist/builtins/autotrack/index.mjs +1 -1
  14. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +2 -2
  15. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +2 -2
  16. package/dist/builtins/calendars/calendars.addon.js +1 -1
  17. package/dist/builtins/calendars/calendars.addon.mjs +1 -1
  18. package/dist/builtins/camera-grid/index.js +1 -1
  19. package/dist/builtins/camera-grid/index.mjs +1 -1
  20. package/dist/builtins/composer/composer.addon.js +2 -2
  21. package/dist/builtins/composer/composer.addon.mjs +2 -2
  22. package/dist/builtins/console-logging/index.js +1 -1
  23. package/dist/builtins/console-logging/index.mjs +1 -1
  24. package/dist/builtins/core-blocks/core-blocks.addon.js +2 -2
  25. package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
  26. package/dist/builtins/device-history/device-history.addon.js +1 -1
  27. package/dist/builtins/device-history/device-history.addon.mjs +1 -1
  28. package/dist/builtins/device-manager/device-manager.addon.js +1 -1
  29. package/dist/builtins/device-manager/device-manager.addon.mjs +1 -1
  30. package/dist/builtins/hub-forwarder/index.js +1 -1
  31. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  32. package/dist/builtins/keychain/index.js +4 -4
  33. package/dist/builtins/keychain/index.mjs +4 -4
  34. package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
  35. package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
  36. package/dist/builtins/local-auth/auth-schema.d.ts +4 -7
  37. package/dist/builtins/local-auth/local-auth.addon.d.ts +7 -8
  38. package/dist/builtins/local-auth/local-auth.addon.js +1086 -1329
  39. package/dist/builtins/local-auth/local-auth.addon.mjs +1085 -1326
  40. package/dist/builtins/local-auth/preferences-record-kinds.d.ts +27 -0
  41. package/dist/builtins/local-auth/record-kinds.d.ts +4 -3
  42. package/dist/builtins/local-auth/user-preferences-store.d.ts +56 -0
  43. package/dist/builtins/local-network/local-network.addon.d.ts +8 -0
  44. package/dist/builtins/local-network/local-network.addon.js +30 -5
  45. package/dist/builtins/local-network/local-network.addon.mjs +30 -5
  46. package/dist/builtins/loki-logging/index.js +1 -1
  47. package/dist/builtins/loki-logging/index.mjs +1 -1
  48. package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
  49. package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
  50. package/dist/builtins/platform-probe/index.js +1 -1
  51. package/dist/builtins/platform-probe/index.mjs +1 -1
  52. package/dist/builtins/record-entries/index.js +1 -1
  53. package/dist/builtins/record-entries/index.mjs +1 -1
  54. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  55. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  56. package/dist/builtins/snapshot/index.js +1 -1
  57. package/dist/builtins/snapshot/index.mjs +1 -1
  58. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  59. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
  60. package/dist/builtins/sqlite-storage/index.js +1 -1
  61. package/dist/builtins/sqlite-storage/index.mjs +1 -1
  62. package/dist/builtins/sqlite-storage/records/records-engine-types.d.ts +1 -0
  63. package/dist/builtins/sqlite-storage/records/records-provider.d.ts +13 -0
  64. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +52 -6
  65. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +52 -6
  66. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
  67. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
  68. package/dist/builtins/system-config/system-config.addon.js +3 -3
  69. package/dist/builtins/system-config/system-config.addon.mjs +3 -3
  70. package/dist/builtins/winston-logging/index.js +1 -1
  71. package/dist/builtins/winston-logging/index.mjs +1 -1
  72. package/dist/{composition-sources-CSzD5_qX.mjs → composition-sources-Ds0Vr6eD.mjs} +1 -1
  73. package/dist/{composition-sources-BxUkLNSo.js → composition-sources-gB4coDJR.js} +1 -1
  74. package/dist/{constants-DruwCkfp.js → constants-CavyKfHZ.js} +1 -1
  75. package/dist/{constants-DOlYt1t1.mjs → constants-i5oD_gLB.mjs} +1 -1
  76. package/dist/{device-ca-QPBgfqVY.js → device-ca-bpoEr0zG.js} +1 -1
  77. package/dist/{device-ca-uFbTyY_o.mjs → device-ca-qz1Pmeu1.mjs} +1 -1
  78. package/dist/{dist-BpSENkRJ.mjs → dist-BSF_C8W2.mjs} +216 -109
  79. package/dist/{dist-DjQ8C-ku.js → dist-BpqA2CT0.js} +251 -108
  80. package/dist/file-host-worker.js +1 -1
  81. package/dist/file-host-worker.mjs +1 -1
  82. package/dist/{hub-mdns-ciao-DlgkFJVY.mjs → hub-mdns-ciao-CHaGDzyz.mjs} +20 -13
  83. package/dist/{hub-mdns-ciao-Bkrvgnma.js → hub-mdns-ciao-CZlZRxxA.js} +20 -13
  84. package/dist/index.d.ts +2 -4
  85. package/dist/index.js +17 -11
  86. package/dist/index.mjs +17 -9
  87. package/dist/{phase6-declare-gate-JQUqgQgq.mjs → phase6-declare-gate-B4yfsf2n.mjs} +1 -1
  88. package/dist/{phase6-declare-gate-DrmTtz7F.js → phase6-declare-gate-n-IZRklX.js} +1 -1
  89. package/dist/{restore-archive-4OP0EYg6.js → restore-archive-B4QG7XmX.js} +1 -1
  90. package/dist/{restore-archive-YFSJRtKy.mjs → restore-archive-BGUM4FKf.mjs} +1 -1
  91. package/dist/tls/cert-issue.d.ts +16 -1
  92. package/dist/tls/cert-manager.d.ts +6 -0
  93. package/dist/tls/index.d.ts +1 -1
  94. package/dist/{wal-maintenance-TyuOEVy1.mjs → wal-maintenance-AerF4XE6.mjs} +0 -0
  95. package/dist/{wal-maintenance-Bl0ZKjVR.js → wal-maintenance-CNEs_I94.js} +0 -0
  96. package/package.json +1 -1
  97. package/dist/auth/admin-token-manager.d.ts +0 -51
  98. package/dist/auth/scoped-token-manager.d.ts +0 -25
@@ -1,7 +1,7 @@
1
1
  const require_chunk = require("./chunk-Cek0wNdY.js");
2
- const require_dist = require("./dist-DjQ8C-ku.js");
2
+ const require_dist = require("./dist-BpqA2CT0.js");
3
3
  const require_x509_es = require("./x509.es-C4cOo48M.js");
4
- const require_agent_https = require("./agent-https-CCvlRQKV.js");
4
+ const require_agent_https = require("./agent-https-yjxdfJDA.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");
@@ -204,7 +204,13 @@ async function ensureTlsCert(dataDir, options) {
204
204
  (0, node_fs.mkdirSync)(tlsDir, { recursive: true });
205
205
  let dropped = [];
206
206
  try {
207
- dropped = await regenerate(paths, rawIdentity, commonName, validDays, caRotated, reason);
207
+ dropped = await regenerate(paths, rawIdentity, {
208
+ commonName,
209
+ caCommonName: require_agent_https.localCaCommonName(options?.hubName),
210
+ validDays,
211
+ newCa: caRotated,
212
+ reason
213
+ });
208
214
  } catch (err) {
209
215
  const message = err instanceof Error ? err.message : String(err);
210
216
  if (!canKeepServing(paths)) throw err;
@@ -234,7 +240,13 @@ async function reissueTlsLeaf(dataDir, options) {
234
240
  });
235
241
  const previousFingerprint = readFingerprint(paths.certPath);
236
242
  (0, node_fs.mkdirSync)(tlsDir, { recursive: true });
237
- return describe(paths, true, "san-coverage-gap", false, previousFingerprint, null, await regenerate(paths, identity, commonName, validDays, false, null));
243
+ return describe(paths, true, "san-coverage-gap", false, previousFingerprint, null, await regenerate(paths, identity, {
244
+ commonName,
245
+ caCommonName: require_agent_https.localCaCommonName(options?.hubName),
246
+ validDays,
247
+ newCa: false,
248
+ reason: null
249
+ }));
238
250
  }
239
251
  /**
240
252
  * Uploaded mode keeps a generated CA beside the upload (agents' leaves are still signed
@@ -260,7 +272,7 @@ async function replaceUnconstrainedLocalCa(dataDir, options) {
260
272
  extraSans: options?.extraSans ?? [],
261
273
  ...options?.hostFacts === void 0 ? {} : { hostFacts: options.hostFacts }
262
274
  });
263
- const ca = await require_agent_https.generateCa(/* @__PURE__ */ new Date(), identity.dnsNames);
275
+ const ca = await require_agent_https.generateCa(/* @__PURE__ */ new Date(), identity.dnsNames, require_agent_https.localCaCommonName(options?.hubName));
264
276
  archivePreviousCa(paths, ca);
265
277
  await (0, node_fs_promises.writeFile)(`${paths.caCertPath}.new`, ca.certPem, "utf-8");
266
278
  (0, _camstack_types_node.writeOwnerOnlyFileSync)(`${paths.caKeyPath}.new`, ca.keyPem);
@@ -297,15 +309,10 @@ function decideRegeneration(paths, identity) {
297
309
  return "unreadable";
298
310
  }
299
311
  }
300
- /**
301
- * Build every byte in memory, then move the files into place. A crash
302
- * mid-way leaves the previous material untouched; a crash between the
303
- * moves leaves a key/certificate mismatch, which the evaluator reports as
304
- * `key-mismatch` and heals on the next boot.
305
- */
306
- async function regenerate(paths, rawIdentity, commonName, validDays, newCa, reason) {
312
+ async function regenerate(paths, rawIdentity, params) {
313
+ const { commonName, caCommonName, validDays, newCa, reason } = params;
307
314
  const now = /* @__PURE__ */ new Date();
308
- const ca = newCa ? await require_agent_https.generateCa(now, rawIdentity.dnsNames) : await require_agent_https.loadCa((0, node_fs.readFileSync)(paths.caCertPath, "utf-8"), (0, node_fs.readFileSync)(paths.caKeyPath, "utf-8"));
315
+ const ca = newCa ? await require_agent_https.generateCa(now, rawIdentity.dnsNames, caCommonName) : await require_agent_https.loadCa((0, node_fs.readFileSync)(paths.caCertPath, "utf-8"), (0, node_fs.readFileSync)(paths.caKeyPath, "utf-8"));
309
316
  const constraints = require_agent_https.readNameConstraints(ca.cert);
310
317
  const { identity, dropped } = constraints === null ? {
311
318
  identity: rawIdentity,
package/dist/index.d.ts CHANGED
@@ -9,15 +9,12 @@ export { ApiKeyManager } from "./auth/api-key-manager.js";
9
9
  export type { AuthConfigReader, ReauthClaims, TokenPayload } from "./auth/auth-manager.js";
10
10
  export { AuthManager } from "./auth/auth-manager.js";
11
11
  export { scopesAllowAddon, scopesAllowDeviceCap } from "./auth/scope-matcher.js";
12
- export { ScopedTokenManager } from "./auth/scoped-token-manager.js";
13
12
  export type { TokenExpiryResult } from "./auth/token-expiry.js";
14
13
  export { parseTokenExpiry } from "./auth/token-expiry.js";
15
14
  export type { CreateLoginSessionInput, LoginSessionCheck, LoginSessionMethod, LoginSessionRecord, LoginSessionRefresh, LoginSessionRevocation, LoginSessionSummary } from "./auth/login-session-manager.js";
16
15
  export { LoginSessionManager, REFRESH_TOKEN_PREFIX } from "./auth/login-session-manager.js";
17
16
  export { onSessionsRevoked } from "./auth/session-revocation-bus.js";
18
17
  export type { SessionsRevokedEvent, SessionsRevokedListener } from "./auth/session-revocation-bus.js";
19
- export type { AdminTokenRecord } from "./auth/admin-token-manager.js";
20
- export { ADMIN_TOKEN_MAX_LIFETIME_MS, ADMIN_TOKEN_PREFIX, AdminTokenManager } from "./auth/admin-token-manager.js";
21
18
  export { DeviceCaStore } from "./auth/device-ca-store.js";
22
19
  export { DEVICE_CA_KEY_REF, type DeviceCaSigner, generateDeviceCa, issueDeviceLeaf, loadDeviceCa, verifyDeviceLeaf, verifyDeviceSignature } from "./auth/device-ca.js";
23
20
  export { type AuthenticatedDevice, DeviceCredentialManager, type DeviceCredentialRecord, type DeviceCredentialState, PREVIOUS_LEAF_GRACE_MS, type DeviceCheckRefusal, type IssuedDeviceCertificate } from "./auth/device-credential-manager.js";
@@ -25,7 +22,8 @@ export { AuthAuditLog } from "./auth/auth-audit-log.js";
25
22
  export type { AuthAuditAction, AuthAuditEvent, AuthAuditRecord } from "./auth/auth-audit-log.js";
26
23
  export type { CidrMatcher, ParsedCidr, ParsedCidrList } from "./auth/cidr.js";
27
24
  export { createCidrMatcher, normalizeIp, parseCidrList, readCidrSetting } from "./auth/cidr.js";
28
- export type { AdminTokensInternal, AuthAuditInternal, DeviceCredentialsInternal, LinkExternalIdentityInput, LoginSessionsInternal, SetPasswordInput, UserManagementInternal } from "./auth/user-management-internal.js";
25
+ export type { AuthAuditInternal, DeviceCredentialsInternal, LinkExternalIdentityInput, LoginSessionsInternal, SetPasswordInput, UserManagementInternal, UserPreferencesInternal } from "./auth/user-management-internal.js";
26
+ export { type PreferencesLimitReason, preferencesLimitReasonOf } from "./builtins/local-auth/user-preferences-store.js";
29
27
  export { attachUserManagementInternal, getUserManagementInternal, USER_MANAGEMENT_INTERNAL } from "./auth/user-management-internal.js";
30
28
  export type { UserRecord, UserStorageAccess } from "./auth/user-manager.js";
31
29
  export { FIRST_BOOT_ADMIN_PASSWORD, FIRST_BOOT_ADMIN_USERNAME, UserManager } from "./auth/user-manager.js";
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_chunk = require("./chunk-Cek0wNdY.js");
3
- const require_dist = require("./dist-DjQ8C-ku.js");
3
+ const require_dist = require("./dist-BpqA2CT0.js");
4
4
  const require_read_all_rows$1 = require("./read-all-rows-CVoO1ONM.js");
5
- const require_device_ca = require("./device-ca-QPBgfqVY.js");
5
+ const require_device_ca = require("./device-ca-bpoEr0zG.js");
6
6
  const require_builtins_alerts_alerts_addon = require("./builtins/alerts/alerts.addon.js");
7
7
  require("./builtins/alerts/index.js");
8
8
  const require_builtins_calendars_calendars_addon = require("./builtins/calendars/calendars.addon.js");
@@ -27,21 +27,21 @@ const require_builtins_loki_logging_index = require("./builtins/loki-logging/ind
27
27
  const require_builtins_native_metrics_native_metrics_addon = require("./builtins/native-metrics/native-metrics.addon.js");
28
28
  const require_builtins_device_history_device_history_addon = require("./builtins/device-history/device-history.addon.js");
29
29
  const require_builtins_sqlite_storage_filesystem_storage_addon = require("./builtins/sqlite-storage/filesystem-storage.addon.js");
30
- const require_wal_maintenance = require("./wal-maintenance-Bl0ZKjVR.js");
30
+ const require_wal_maintenance = require("./wal-maintenance-CNEs_I94.js");
31
31
  const require_builtins_sqlite_storage_sqlite_settings_addon = require("./builtins/sqlite-storage/sqlite-settings.addon.js");
32
32
  const require_builtins_sqlite_storage_index = require("./builtins/sqlite-storage/index.js");
33
33
  const require_builtins_storage_orchestrator_storage_orchestrator_addon = require("./builtins/storage-orchestrator/storage-orchestrator.addon.js");
34
34
  require("./builtins/storage-orchestrator/index.js");
35
- const require_constants = require("./constants-DruwCkfp.js");
36
- const require_agent_https = require("./agent-https-CCvlRQKV.js");
35
+ const require_constants = require("./constants-CavyKfHZ.js");
36
+ const require_agent_https = require("./agent-https-yjxdfJDA.js");
37
37
  const require_builtins_system_config_system_config_addon = require("./builtins/system-config/system-config.addon.js");
38
38
  require("./builtins/system-config/index.js");
39
39
  const require_builtins_winston_logging_index = require("./builtins/winston-logging/index.js");
40
40
  const require_custom_action_registry = require("./custom-action-registry-COyb49zm.js");
41
- const require_hub_mdns_ciao = require("./hub-mdns-ciao-Bkrvgnma.js");
41
+ const require_hub_mdns_ciao = require("./hub-mdns-ciao-CZlZRxxA.js");
42
42
  const require_platform_key_source = require("./platform-key-source-Di7HrlGR.js");
43
43
  const require_resource_monitor = require("./resource-monitor-mio9dSCT.js");
44
- const require_restore_archive = require("./restore-archive-4OP0EYg6.js");
44
+ const require_restore_archive = require("./restore-archive-B4QG7XmX.js");
45
45
  let zod = require("zod");
46
46
  let node_crypto = require("node:crypto");
47
47
  node_crypto = require_chunk.__toESM(node_crypto);
@@ -27009,6 +27009,10 @@ var en_default = {
27009
27009
  "device.credentials-unavailable": "Device credentials not available",
27010
27010
  "device.credential-not-found": "Device credential not found: {id}",
27011
27011
  "storage.no-provider": "No storage provider configured",
27012
+ "preferences.forbidden": "This credential cannot reach account preferences",
27013
+ "preferences.unavailable": "Account preferences are not available",
27014
+ "preferences.value-too-large": "This preference value is too large",
27015
+ "preferences.too-many-namespaces": "Too many preference namespaces for this account",
27012
27016
  "recording.export-unknown": "Unknown export \"{id}\"",
27013
27017
  "recording.export-invalid-range": "Invalid time range {fromMs}..{toMs}",
27014
27018
  "recording.export-no-profiles": "The export needs at least one stream profile",
@@ -27256,6 +27260,10 @@ var it_default = {
27256
27260
  "device.credentials-unavailable": "Le credenziali del dispositivo non sono disponibili",
27257
27261
  "device.credential-not-found": "Credenziale del dispositivo non trovata: {id}",
27258
27262
  "storage.no-provider": "Nessun provider di archiviazione configurato",
27263
+ "preferences.forbidden": "Questa credenziale non può accedere alle preferenze dell’account",
27264
+ "preferences.unavailable": "Le preferenze dell’account non sono disponibili",
27265
+ "preferences.value-too-large": "Il valore di questa preferenza è troppo grande",
27266
+ "preferences.too-many-namespaces": "Troppi gruppi di preferenze per questo account",
27259
27267
  "recording.export-unknown": "Esportazione \"{id}\" sconosciuta",
27260
27268
  "recording.export-invalid-range": "Intervallo di tempo non valido {fromMs}..{toMs}",
27261
27269
  "recording.export-no-profiles": "L'esportazione richiede almeno un profilo di flusso",
@@ -27572,8 +27580,6 @@ function resetCatalogRegistryForTests() {
27572
27580
  shared = null;
27573
27581
  }
27574
27582
  //#endregion
27575
- exports.ADMIN_TOKEN_MAX_LIFETIME_MS = require_builtins_local_auth_local_auth_addon.ADMIN_TOKEN_MAX_LIFETIME_MS;
27576
- exports.ADMIN_TOKEN_PREFIX = require_builtins_local_auth_local_auth_addon.ADMIN_TOKEN_PREFIX;
27577
27583
  exports.AGENT_CAP_FWD_ACTION = AGENT_CAP_FWD_ACTION;
27578
27584
  exports.AGENT_CAP_FWD_SERVICE = AGENT_CAP_FWD_SERVICE;
27579
27585
  exports.AGENT_DASHBOARD_ORIGINS_FIELD = require_builtins_system_config_system_config_addon.AGENT_DASHBOARD_ORIGINS_FIELD;
@@ -27598,7 +27604,6 @@ exports.AddonLoader = AddonLoader;
27598
27604
  exports.AddonManifest = AddonManifest;
27599
27605
  exports.AddonRefusedError = AddonRefusedError;
27600
27606
  exports.AddonRouteRegistry = AddonRouteRegistry;
27601
- exports.AdminTokenManager = require_builtins_local_auth_local_auth_addon.AdminTokenManager;
27602
27607
  exports.AgentHttpsInstallError = require_agent_https.AgentHttpsInstallError;
27603
27608
  exports.AgentHttpsNames = require_agent_https.AgentHttpsNames;
27604
27609
  exports.AgentMdnsAdvertiser = AgentMdnsAdvertiser;
@@ -27775,7 +27780,6 @@ exports.STORAGE_DRAIN_STATE_LEGACY = require_builtins_storage_orchestrator_stora
27775
27780
  exports.STORE_READABLE_BOOTSTRAP_KEYS = STORE_READABLE_BOOTSTRAP_KEYS;
27776
27781
  exports.SYSTEM_SECRET_OWNER = require_device_ca.SYSTEM_SECRET_OWNER;
27777
27782
  exports.ScopedLogger = ScopedLogger;
27778
- exports.ScopedTokenManager = require_builtins_local_auth_local_auth_addon.ScopedTokenManager;
27779
27783
  exports.SettingsReadUnavailableError = require_builtins_local_auth_local_auth_addon.SettingsReadUnavailableError;
27780
27784
  exports.SocketChannel = SocketChannel;
27781
27785
  exports.SqliteSettingsAddon = require_builtins_sqlite_storage_sqlite_settings_addon.SqliteSettingsAddon;
@@ -28094,6 +28098,7 @@ exports.loadAgentHttps = require_agent_https.loadAgentHttps;
28094
28098
  exports.loadDeviceCa = require_device_ca.loadDeviceCa;
28095
28099
  exports.loadMeshCa = require_agent_https.loadMeshCa;
28096
28100
  exports.loadTlsCert = require_hub_mdns_ciao.loadTlsCert;
28101
+ exports.localCaCommonName = require_agent_https.localCaCommonName;
28097
28102
  exports.localEndpointPath = localEndpointPath;
28098
28103
  exports.localProviderLink = localProviderLink;
28099
28104
  exports.localSupportedPythonRuntimes = localSupportedPythonRuntimes;
@@ -28119,6 +28124,7 @@ exports.pemDigest = require_agent_https.pemDigest;
28119
28124
  exports.permitsIdentity = require_agent_https.permitsIdentity;
28120
28125
  exports.permitsName = require_agent_https.permitsName;
28121
28126
  exports.pinnedHttpsCaFingerprint = require_agent_https.pinnedHttpsCaFingerprint;
28127
+ exports.preferencesLimitReasonOf = require_builtins_local_auth_local_auth_addon.preferencesLimitReasonOf;
28122
28128
  exports.prepareBootTls = require_hub_mdns_ciao.prepareBootTls;
28123
28129
  exports.prepareRestoreArchive = require_restore_archive.prepareRestoreArchive;
28124
28130
  exports.probePlatform = probePlatform;
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import { i as __require } from "./chunk-CNf5ZN-e.mjs";
2
- import { Bi as expandCapMethods, Cr as supportedRuntimes, Dn as lifecycleJobSchema, Ei as asString$1, Hn as objectInputDeclaresRequiredDeviceId, K as METHOD_ACCESS_MAP, Kr as errMsg$1, Li as defineRecordKinds, Mn as looseSchema, Ni as createEvent$1, Qr as DEVICE_STATUS_METHOD, Ri as emitDownForOwnedCaps, Sn as kebabToCamel$1, Ti as asNumber, Vn as objectInputDeclaresAddonId, W as LOG_LEVEL_RANK, Xr as DATAPLANE_SECRET_HEADER$1, Yr as CALLER_STAMPED_CAPABILITIES$1, Zr as DEVICE_SETTINGS_CONTRIBUTION_METHODS, _ as CatalogFileSchema, _a as userError, _n as isCollectionArrayMethod, ar as resolveMethodAuth, bn as isObjectInput, ca as resolveCapMount, cr as scopesAllowAddon, d as CATALOG_LANGS, fi as RUNTIME_DEFAULTS, fn as interpolate, ft as addonSettingsCapability, gn as isArrayOutputSchema, hr as splitTranslationRef, jn as logLevelAtMost, lr as scopesAllowDeviceCap, mi as ReadinessTimeoutError, n as AGENT_MDNS_TXT_KEYS, na as parseJsonUnknown, oa as readinessKey, on as extractNestedAddonId, pi as ReadinessRegistry, qn as procedureAuthKey, r as ALL_CAPABILITY_DEFINITIONS, t as AGENT_MDNS_SERVICE_TYPE, ta as parseJsonObject, ua as scopeKey, va as withoutCallerStamp, wi as asJsonObject$1, xn as isVoidInput, ya as EventCategory$1 } from "./dist-BpSENkRJ.mjs";
2
+ import { $n as procedureAuthKey, Ai as asJsonObject$1, Ca as userError, Dn as isVoidInput, En as isObjectInput, G as LOG_LEVEL_RANK, Jn as objectInputDeclaresRequiredDeviceId, Ki as expandCapMethods, Ln as logLevelAtMost, Mi as asString$1, Nn as lifecycleJobSchema, On as kebabToCamel$1, Qr as errMsg$1, Rn as looseSchema, Sn as isCollectionArrayMethod, Ta as EventCategory$1, Ui as defineRecordKinds, Wi as emitDownForOwnedCaps, _n as interpolate, _t as addonSettingsCapability, bi as ReadinessTimeoutError, ca as parseJsonUnknown, d as CATALOG_LANGS, dn as extractNestedAddonId, dr as resolveMethodAuth, fa as readinessKey, ga as scopeKey, hr as scopesAllowDeviceCap, ii as DEVICE_STATUS_METHOD, ji as asNumber, kr as supportedRuntimes, ma as resolveCapMount, mr as scopesAllowAddon, n as AGENT_MDNS_TXT_KEYS, ni as DATAPLANE_SECRET_HEADER$1, q as METHOD_ACCESS_MAP, qn as objectInputDeclaresAddonId, r as ALL_CAPABILITY_DEFINITIONS, ri as DEVICE_SETTINGS_CONTRIBUTION_METHODS, sa as parseJsonObject, t as AGENT_MDNS_SERVICE_TYPE, ti as CALLER_STAMPED_CAPABILITIES$1, v as CatalogFileSchema, vi as RUNTIME_DEFAULTS, wa as withoutCallerStamp, xn as isArrayOutputSchema, xr as splitTranslationRef, yi as ReadinessRegistry, zi as createEvent$1 } from "./dist-BSF_C8W2.mjs";
3
3
  import { t as require_read_all_rows } from "./read-all-rows-TaPqdWNF.mjs";
4
- 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-uFbTyY_o.mjs";
4
+ 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-qz1Pmeu1.mjs";
5
5
  import { AlertCenterAddon } from "./builtins/alerts/alerts.addon.mjs";
6
6
  import "./builtins/alerts/index.mjs";
7
7
  import { CalendarsAddon } from "./builtins/calendars/calendars.addon.mjs";
@@ -20,27 +20,27 @@ import "./builtins/device-manager/index.mjs";
20
20
  import { HubForwarderAddon, HubForwarderDestination } from "./builtins/hub-forwarder/index.mjs";
21
21
  import { LivenessMonitorAddon } from "./builtins/liveness-monitor/liveness-monitor.addon.mjs";
22
22
  import "./builtins/liveness-monitor/index.mjs";
23
- import { LocalAuthAddon, S as ApiKeyManager, _ as AuthAuditLog, a as attachUserManagementInternal, b as SettingsReadUnavailableError, c as ScopedTokenManager, d as onSessionsRevoked, f as DeviceCredentialManager, g as AdminTokenManager, h as ADMIN_TOKEN_PREFIX, i as USER_MANAGEMENT_INTERNAL, l as LoginSessionManager, m as ADMIN_TOKEN_MAX_LIFETIME_MS, n as FIRST_BOOT_ADMIN_USERNAME, o as getUserManagementInternal, p as PREVIOUS_LEAF_GRACE_MS, r as UserManager, s as DeviceCaStore, t as FIRST_BOOT_ADMIN_PASSWORD, u as REFRESH_TOKEN_PREFIX, v as AuthManager, x as isSettingsReadUnavailable, y as parseTokenExpiry } from "./builtins/local-auth/local-auth.addon.mjs";
23
+ import { LocalAuthAddon, _ as SettingsReadUnavailableError, a as attachUserManagementInternal, c as DeviceCaStore, d as onSessionsRevoked, f as DeviceCredentialManager, g as parseTokenExpiry, h as AuthManager, i as USER_MANAGEMENT_INTERNAL, l as LoginSessionManager, m as AuthAuditLog, n as FIRST_BOOT_ADMIN_USERNAME, o as getUserManagementInternal, p as PREVIOUS_LEAF_GRACE_MS, r as UserManager, s as preferencesLimitReasonOf, t as FIRST_BOOT_ADMIN_PASSWORD, u as REFRESH_TOKEN_PREFIX, v as isSettingsReadUnavailable, y as ApiKeyManager } from "./builtins/local-auth/local-auth.addon.mjs";
24
24
  import "./builtins/local-auth/index.mjs";
25
25
  import { LokiDestination, LokiLoggingAddon } from "./builtins/loki-logging/index.mjs";
26
26
  import NativeMetricsAddon, { a as NativeMetricsProvider, n as nodeProcReader, r as parseProcStat } from "./builtins/native-metrics/native-metrics.addon.mjs";
27
27
  import { DeviceHistoryAddon } from "./builtins/device-history/device-history.addon.mjs";
28
28
  import { FilesystemStorageAddon, t as FilesystemStorageProvider } from "./builtins/sqlite-storage/filesystem-storage.addon.mjs";
29
- import { l as SqliteSettingsBackend } from "./wal-maintenance-TyuOEVy1.mjs";
29
+ import { l as SqliteSettingsBackend } from "./wal-maintenance-AerF4XE6.mjs";
30
30
  import { SqliteSettingsAddon } from "./builtins/sqlite-storage/sqlite-settings.addon.mjs";
31
31
  import { ConfigStore, DeviceStore } from "./builtins/sqlite-storage/index.mjs";
32
32
  import { StorageOrchestratorAddon, a as stripForwardedCaller, i as createHubCapForwardService, l as STORAGE_DRAIN_STATE_LEGACY, n as HUB_CAP_FWD_ACTION, o as buildStorageLocationRegistry, r as HUB_CAP_FWD_SERVICE, t as StorageOrchestratorService, u as storageOrchestratorRecordKinds } from "./builtins/storage-orchestrator/storage-orchestrator.addon.mjs";
33
33
  import "./builtins/storage-orchestrator/index.mjs";
34
- 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-DOlYt1t1.mjs";
35
- import { $ as generateMeshKeyPair, A as isConstrainedCa, C as MAX_LEAF_VALIDITY_DAYS, D as PERMITTED_DNS_SUFFIXES, F as AGENT_HTTPS_NAMES_COLLECTION, G as describeMeshLeaf, H as MESH_NODE_CERTIFICATES_COLUMNS, I as AGENT_HTTPS_NAMES_COLUMNS, J as caFingerprint, K as getProcessMeshCertificateRegistry, L as AgentHttpsNames, M as permitsIdentity, N as permitsName, O as PERMITTED_IP_RANGES, P as readNameConstraints, Q as generateMeshCa, R as getProcessAgentHttpsNames, S as LEAF_RENEWAL_WINDOW_DAYS, T as evaluateExistingCert, U as MeshCertificateRegistry, V as MESH_NODE_CERTIFICATES_COLLECTION, W as RENEWAL_ABANDONED, X as createMeshCsrPem, Y as caFingerprintCompact, Z as exportMeshPrivateKeyPem, a as collectAgentNames, b as systemHostFacts, c as installAgentHttps, d as issueAgentHttpsLeaf, et as isValidAgentNodeId, 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, nt as issueMeshLeafFromCsr, o as createAgentHttpsRequest, p as pemDigest, q as setProcessMeshCertificateRegistry, r as agentHttpsPaths, rt as loadMeshCa, s as describeHttpsLeaf, t as AgentHttpsInstallError, tt as issueMeshLeafForNode, u as isPrivateAddress, w as SERVER_AUTH_OID, x as CA_VALIDITY_DAYS, y as collectCertIdentity, z as setProcessAgentHttpsNames } from "./agent-https-CLWrOO3o.mjs";
34
+ import { a as MESH_CA_KEY_REF, i as MESH_CA_FIELD, n as DEFAULT_HUB_TLS_TCP_PORT, o as MESH_CA_SETTINGS_KEY } from "./constants-i5oD_gLB.mjs";
35
+ import { $ as generateMeshCa, A as buildNameConstraintSet, B as setProcessAgentHttpsNames, C as LEAF_RENEWAL_WINDOW_DAYS, E as evaluateExistingCert, F as readNameConstraints, G as RENEWAL_ABANDONED, H as MESH_NODE_CERTIFICATES_COLLECTION, I as AGENT_HTTPS_NAMES_COLLECTION, J as setProcessMeshCertificateRegistry, K as describeMeshLeaf, L as AGENT_HTTPS_NAMES_COLUMNS, M as isLocalOnlyHostname, N as permitsIdentity, O as PERMITTED_DNS_SUFFIXES, P as permitsName, Q as exportMeshPrivateKeyPem, R as AgentHttpsNames, S as CA_VALIDITY_DAYS, T as SERVER_AUTH_OID, U as MESH_NODE_CERTIFICATES_COLUMNS, W as MeshCertificateRegistry, X as caFingerprintCompact, Y as caFingerprint, Z as createMeshCsrPem, a as collectAgentNames, b as collectCertIdentity, c as installAgentHttps, d as issueAgentHttpsLeaf, et as generateMeshKeyPair, f as loadAgentHttps, h as CA_COMMON_NAME, i as certificateNames, it as loadMeshCa, j as isConstrainedCa, k as PERMITTED_IP_RANGES, l as isContainerBridgeAddress, m as pinnedHttpsCaFingerprint, n as acceptAgentSans, nt as issueMeshLeafForNode, o as createAgentHttpsRequest, p as pemDigest, q as getProcessMeshCertificateRegistry, r as agentHttpsPaths, rt as issueMeshLeafFromCsr, s as describeHttpsLeaf, t as AgentHttpsInstallError, tt as isValidAgentNodeId, u as isPrivateAddress, w as MAX_LEAF_VALIDITY_DAYS, x as systemHostFacts, y as localCaCommonName, z as getProcessAgentHttpsNames } from "./agent-https-fm4AR8XL.mjs";
36
36
  import { $ as parseCidrList, A as setProcessMeshPeerTransportLookup, B as requireProcessMeshCa, C as setProcessMeshTlsEnabler, D as getProcessPeerLeaf, E as getProcessNodeMeshTransport, F as setProcessMeshTlsListenerState, G as AGENT_UI_UNLOCK_VERSION, H as AGENT_UI_UNLOCK_TTL_MS, I as MeshCrl, J as mintAgentUiUnlockTicket, K as UnlockTicketJtiStore, L as processMeshCrl, M as revokeMeshCertificate, N as getProcessMeshTlsListenerState, O as isProcessVerifiedMeshPeer, P as openMeshTlsWhenRevocationsLoaded, Q as normalizeIp, R as MeshCaKeeper, S as ServiceBroker, SystemConfigAddon, T as emitProcessNodeRegistered, U as AGENT_UI_UNLOCK_TYP, V as AGENT_DASHBOARD_ORIGINS_FIELD, W as AGENT_UI_UNLOCK_USE, X as verifyAgentUiUnlockTicket, Y as parseAgentDashboardOrigins, Z as createCidrMatcher, _ as signPairingProof, a as hubHostFromMeshAddress, b as TlsTcpTransporter, c as PAIRING_MAX_SESSIONS, d as PAIRING_PROTOCOL, et as readCidrSetting, f as PAIRING_TTL_MS, g as keyFingerprintShort, h as describeCsr, i as AgentPairing, j as renewMeshCertificate, k as onProcessNodeRegistered, l as PAIRING_PATHS, m as computePairingSas, n as HubPairing, o as PAIRING_CODE_DIGITS, p as computePairingCommitment, q as isAllowedAgentDashboardReturnTo, r as PairingHttpError, s as PAIRING_MAX_CODE_ATTEMPTS, u as PAIRING_PIN_DIGITS, v as verifyPairingProof, w as dropProcessPeer, x as Errors, y as MESH_TLS_PORT_HELLO_FIELD, z as getProcessMeshCaState } from "./builtins/system-config/system-config.addon.mjs";
37
37
  import "./builtins/system-config/index.mjs";
38
38
  import { WinstonDestination, WinstonLoggingAddon } from "./builtins/winston-logging/index.mjs";
39
39
  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-stpC3Zy-.mjs";
40
- 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-DlgkFJVY.mjs";
40
+ 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-CHaGDzyz.mjs";
41
41
  import { n as getPlatformKeychainKey, r as setPlatformKeychainKey, t as clearPlatformKeychainKey } from "./platform-key-source-BWlq0jjn.mjs";
42
42
  import { n as getSinglePidStats, t as getPidStats } from "./resource-monitor-Di9daRwI.mjs";
43
- import { c as backupOrchestratorRecordKinds, f as BackupDecryptError, g as generateBackupKeyPair, l as backupRecordStoresOf, m as BackupKeyMismatchError, p as BackupKeyFormatError, r as prepareRestoreArchive, s as SystemBackupService, t as BackupKeyRequiredError, v as readBackupEncryptionHeader } from "./restore-archive-YFSJRtKy.mjs";
43
+ import { c as backupOrchestratorRecordKinds, f as BackupDecryptError, g as generateBackupKeyPair, l as backupRecordStoresOf, m as BackupKeyMismatchError, p as BackupKeyFormatError, r as prepareRestoreArchive, s as SystemBackupService, t as BackupKeyRequiredError, v as readBackupEncryptionHeader } from "./restore-archive-BGUM4FKf.mjs";
44
44
  import { z } from "zod";
45
45
  import * as crypto$1 from "node:crypto";
46
46
  import { createHash, randomBytes, randomUUID } from "node:crypto";
@@ -27006,6 +27006,10 @@ var en_default = {
27006
27006
  "device.credentials-unavailable": "Device credentials not available",
27007
27007
  "device.credential-not-found": "Device credential not found: {id}",
27008
27008
  "storage.no-provider": "No storage provider configured",
27009
+ "preferences.forbidden": "This credential cannot reach account preferences",
27010
+ "preferences.unavailable": "Account preferences are not available",
27011
+ "preferences.value-too-large": "This preference value is too large",
27012
+ "preferences.too-many-namespaces": "Too many preference namespaces for this account",
27009
27013
  "recording.export-unknown": "Unknown export \"{id}\"",
27010
27014
  "recording.export-invalid-range": "Invalid time range {fromMs}..{toMs}",
27011
27015
  "recording.export-no-profiles": "The export needs at least one stream profile",
@@ -27253,6 +27257,10 @@ var it_default = {
27253
27257
  "device.credentials-unavailable": "Le credenziali del dispositivo non sono disponibili",
27254
27258
  "device.credential-not-found": "Credenziale del dispositivo non trovata: {id}",
27255
27259
  "storage.no-provider": "Nessun provider di archiviazione configurato",
27260
+ "preferences.forbidden": "Questa credenziale non può accedere alle preferenze dell’account",
27261
+ "preferences.unavailable": "Le preferenze dell’account non sono disponibili",
27262
+ "preferences.value-too-large": "Il valore di questa preferenza è troppo grande",
27263
+ "preferences.too-many-namespaces": "Troppi gruppi di preferenze per questo account",
27256
27264
  "recording.export-unknown": "Esportazione \"{id}\" sconosciuta",
27257
27265
  "recording.export-invalid-range": "Intervallo di tempo non valido {fromMs}..{toMs}",
27258
27266
  "recording.export-no-profiles": "L'esportazione richiede almeno un profilo di flusso",
@@ -27570,4 +27578,4 @@ function resetCatalogRegistryForTests() {
27570
27578
  }
27571
27579
  //#endregion
27572
27580
  var readAllRows = import_read_all_rows.readAllRows;
27573
- 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, AddonRefusedError, 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, CLUSTER_NODE_HISTORY_COLLECTION, CORE_CAP_SERVICE_NAME, CalendarsAddon, CapRouteError, CapRouteResolver, CapUsageRegistry, CapabilityHandle, CapabilityRegistry, CapabilityUnavailableError, CatalogRegistry, ClusterNodeHistoryBodySchema, 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, DeviceHistoryAddon, 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, INTEGRATIONS_LEGACY, INTEGRATION_SETTINGS_LEGACY, 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, STORAGE_DRAIN_STATE_LEGACY, 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, UNMIGRATED_SETTINGS_CODE, UNMIGRATED_SETTINGS_REMEDY, UPLOADED_CA_FILE, USER_MANAGEMENT_INTERNAL, UdsLocalTransportClient, UdsLocalTransportServer, UnlockTicketJtiStore, UnmigratedSettingsError, UserManager, WinstonDestination, WinstonLoggingAddon, ZERO_LOOP_DELAY, __resetCapUsageRegistryForTests, __resetLoggingGateForTests, acceptAgentSans, adaptBrokerToCluster, addonSettingsCapability, adoptModelRevisions, afterWorkerOnlineAnnounce, agentHttpsPaths, allFamiliesListenHost, answerClaimedGetStatus, applyCertificateToListener, applyLanHttp, asBrokerLike, assertLegacyBlobsMigrated, attachUserManagementInternal, attributeStall, backupOrchestratorRecordKinds, backupRecordStoresOf, 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, clusterAgentRecordKinds, clusterEventTopic, clusterNodeHistoryRecordKind, 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, findAddonRefusal, 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, integrationRegistryRecordKinds, 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, readAllRows, 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, storageOrchestratorRecordKinds, storeMayAnswer, storeUploadedCertificate, strandedMb, stripCamstackDeps, stripForgedIdentity, stripForwardedCaller, subscribePassthrough, systemHostFacts, udsChildLogToWorkerEntry, useStoredUploadedCertificate, validateProviderRegistrations, validateUploadedTls, verifyAgentUiUnlockTicket, verifyDeviceLeaf, verifyDeviceSignature, verifyPairingProof, waitUntilReady, writeExtraSans, writePendingRestart, writeTlsMode };
27581
+ export { 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, AddonRefusedError, AddonRouteRegistry, 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, CLUSTER_NODE_HISTORY_COLLECTION, CORE_CAP_SERVICE_NAME, CalendarsAddon, CapRouteError, CapRouteResolver, CapUsageRegistry, CapabilityHandle, CapabilityRegistry, CapabilityUnavailableError, CatalogRegistry, ClusterNodeHistoryBodySchema, 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, DeviceHistoryAddon, 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, INTEGRATIONS_LEGACY, INTEGRATION_SETTINGS_LEGACY, 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, STORAGE_DRAIN_STATE_LEGACY, STORE_READABLE_BOOTSTRAP_KEYS, SYSTEM_SECRET_OWNER, ScopedLogger, SettingsReadUnavailableError, SocketChannel, SqliteSettingsAddon, SqliteSettingsBackend, StagingArea, StorageLocationManager, StorageManager, StorageOrchestratorAddon, StorageOrchestratorService, SystemBackupService, SystemConfigAddon, SystemEventBus, TRADITIONAL_NATIVE_PACKAGES, TlsTcpTransporter, ToastService, UDS_NO_ROUTE_PREFIX, UNCLAIMED, UNMIGRATED_SETTINGS_CODE, UNMIGRATED_SETTINGS_REMEDY, UPLOADED_CA_FILE, USER_MANAGEMENT_INTERNAL, UdsLocalTransportClient, UdsLocalTransportServer, UnlockTicketJtiStore, UnmigratedSettingsError, UserManager, WinstonDestination, WinstonLoggingAddon, ZERO_LOOP_DELAY, __resetCapUsageRegistryForTests, __resetLoggingGateForTests, acceptAgentSans, adaptBrokerToCluster, addonSettingsCapability, adoptModelRevisions, afterWorkerOnlineAnnounce, agentHttpsPaths, allFamiliesListenHost, answerClaimedGetStatus, applyCertificateToListener, applyLanHttp, asBrokerLike, assertLegacyBlobsMigrated, attachUserManagementInternal, attributeStall, backupOrchestratorRecordKinds, backupRecordStoresOf, 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, clusterAgentRecordKinds, clusterEventTopic, clusterNodeHistoryRecordKind, 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, findAddonRefusal, 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, integrationRegistryRecordKinds, 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, localCaCommonName, 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, preferencesLimitReasonOf, prepareBootTls, prepareRestoreArchive, probePlatform, processJwtSigningKey, processMeshCrl, proxyToUpstream, quarantineAddonResidue, readAllRows, 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, storageOrchestratorRecordKinds, storeMayAnswer, storeUploadedCertificate, strandedMb, stripCamstackDeps, stripForgedIdentity, stripForwardedCaller, subscribePassthrough, systemHostFacts, udsChildLogToWorkerEntry, useStoredUploadedCertificate, validateProviderRegistrations, validateUploadedTls, verifyAgentUiUnlockTicket, verifyDeviceLeaf, verifyDeviceSignature, verifyPairingProof, waitUntilReady, writeExtraSans, writePendingRestart, writeTlsMode };
@@ -1,4 +1,4 @@
1
- import { Fi as declarationsOf } from "./dist-BpSENkRJ.mjs";
1
+ import { Vi as declarationsOf } from "./dist-BSF_C8W2.mjs";
2
2
  //#region src/builtins/records/legacy-table-row-count.ts
3
3
  /** Row count for a physical settings-db table (matches the records engine `legacyRowCount`). */
4
4
  function legacyTableRowCountFromList(tables, collection) {
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-DjQ8C-ku.js");
1
+ const require_dist = require("./dist-BpqA2CT0.js");
2
2
  //#region src/builtins/records/legacy-table-row-count.ts
3
3
  /** Row count for a physical settings-db table (matches the records engine `legacyRowCount`). */
4
4
  function legacyTableRowCountFromList(tables, collection) {
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require("./chunk-Cek0wNdY.js");
2
- const require_dist = require("./dist-DjQ8C-ku.js");
2
+ const require_dist = require("./dist-BpqA2CT0.js");
3
3
  const require_read_all_rows$1 = require("./read-all-rows-CVoO1ONM.js");
4
4
  let zod = require("zod");
5
5
  let node_crypto = require("node:crypto");
@@ -1,4 +1,4 @@
1
- import { Li as defineRecordKinds, j as DataStoreDatabaseSchema, x as DATABASE_SNAPSHOT_SUFFIX } from "./dist-BpSENkRJ.mjs";
1
+ import { M as DataStoreDatabaseSchema, S as DATABASE_SNAPSHOT_SUFFIX, Ui as defineRecordKinds } from "./dist-BSF_C8W2.mjs";
2
2
  import { t as require_read_all_rows } from "./read-all-rows-TaPqdWNF.mjs";
3
3
  import { z } from "zod";
4
4
  import { createCipheriv, createDecipheriv, createHash, createPrivateKey, createPublicKey, diffieHellman, generateKeyPairSync, hkdfSync, randomBytes } from "node:crypto";
@@ -3,6 +3,19 @@ import { X509Certificate as PeculiarCertificate } from "@peculiar/x509";
3
3
  import type { CertIdentity } from "./cert-identity.js";
4
4
  /** Subject of the local root. Distinct from the leaf's CN by construction. */
5
5
  export declare const CA_COMMON_NAME = "CamStack Local CA";
6
+ /** Between {@link CA_COMMON_NAME} and the hub's name in a new root's subject. */
7
+ export declare const CA_HUB_NAME_SEPARATOR = " — ";
8
+ /**
9
+ * The subject CN of a NEW local root: `CamStack Local CA — <hub name>`, so two hubs'
10
+ * roots installed on one phone can be told apart in its settings. The name is
11
+ * sanitised for a CN (controls removed, whitespace collapsed) and cut so the whole
12
+ * CN stays within 64 characters. An absent or unusable name, or one that is just
13
+ * the product's own name, yields the plain {@link CA_COMMON_NAME}.
14
+ *
15
+ * Only a root being CREATED is named: an existing root is never reissued to rename
16
+ * it, since every device that trusts it would have to install it again.
17
+ */
18
+ export declare function localCaCommonName(hubName: string | undefined): string;
6
19
  /** A PEM-encoded certificate and the PKCS#8 PEM of its private key. */
7
20
  export interface CertMaterial {
8
21
  readonly certPem: string;
@@ -23,8 +36,10 @@ export interface CaSigner {
23
36
  * It carries a CRITICAL `nameConstraints` extension (D873): private address
24
37
  * ranges and local-only DNS names, plus `hostnames` (the hub's own single-label
25
38
  * names at creation). A leaked key therefore cannot vouch for a public site.
39
+ *
40
+ * `commonName` is the subject CN, from {@link localCaCommonName}.
26
41
  */
27
- export declare function generateCa(now: Date, hostnames?: readonly string[]): Promise<CaSigner>;
42
+ export declare function generateCa(now: Date, hostnames?: readonly string[], commonName?: string): Promise<CaSigner>;
28
43
  /** Re-open a root already on disk so a leaf can be issued under it. */
29
44
  export declare function loadCa(certPem: string, keyPem: string): Promise<CaSigner>;
30
45
  /**
@@ -41,6 +41,12 @@ export interface EnsureTlsResult {
41
41
  export interface CertOptions {
42
42
  /** Common Name for the leaf (default: 'camstack.local') */
43
43
  readonly commonName?: string;
44
+ /**
45
+ * The hub's human name (D861). Read only when a NEW local root is created: its subject
46
+ * becomes `CamStack Local CA — <hubName>` ({@link localCaCommonName}). An existing root
47
+ * is never reissued because this changed. Absent: the plain `CamStack Local CA`.
48
+ */
49
+ readonly hubName?: string;
44
50
  /** Leaf validity in days. Clamped to `MAX_LEAF_VALIDITY_DAYS`. */
45
51
  readonly validDays?: number;
46
52
  /** Additional SANs (DNS names or IPs). Required coverage by definition. */
@@ -3,7 +3,7 @@ export { type CertIdentity, type CertOptions, type HostFacts, type CertRegenerat
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
5
  export { applyCertificateToListener, regenerateCertificate, revertToGeneratedCertificate, storeUploadedCertificate, type UploadCertificateInput, useStoredUploadedCertificate } from "./tls-actions.js";
6
- export { CA_COMMON_NAME } from "./cert-issue.js";
6
+ export { CA_COMMON_NAME, localCaCommonName } from "./cert-issue.js";
7
7
  export { checkUploadedCa, chainsToPublicRoot, validateUploadedTls, type UploadedCaCheck, type UploadedTlsErrorCode, type UploadedTlsValidation } from "./uploaded-cert.js";
8
8
  export { buildNameConstraintSet, isConstrainedCa, type NameConstraintSet, permitsIdentity, permitsName, readNameConstraints, PERMITTED_DNS_SUFFIXES, PERMITTED_IP_RANGES } from "./cert-name-constraints.js";
9
9
  export { type StoredUploadInfo, type TlsAccessStatus, readTlsAccessStatus, splitPemCertificates, UPLOADED_CA_FILE, writeTlsMode, readTlsMode, readExtraSans, writeExtraSans } from "./tls-status.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/system",
3
- "version": "1.2.455",
3
+ "version": "1.2.456",
4
4
  "description": "Core addon for CamStack — builtins, pipeline, process management, auth, logging, events",
5
5
  "keywords": [
6
6
  "camstack",
@@ -1,51 +0,0 @@
1
- import type { CollectionColumn, RecordKindHandle, SettingsStoreClient } from "@camstack/types";
2
- import type { AdminTokenBody } from "../builtins/local-auth/record-kinds.js";
3
- /**
4
- * @durable class=config owner=local-auth
5
- * write="an admin creates a token (after re-authentication); `lastUsedAt` is
6
- * rewritten at most once a minute while it is used; `revoke` stamps revokedAt"
7
- * retention="the daily reap deletes rows expired or revoked more than 30 days ago"
8
- */
9
- export declare const ADMIN_TOKENS_COLLECTION = "admin_tokens";
10
- export declare const ADMIN_TOKENS_COLUMNS: readonly CollectionColumn[];
11
- export declare const ADMIN_TOKEN_PREFIX = "csa_";
12
- export declare const ADMIN_TOKEN_MAX_LIFETIME_MS: number;
13
- export interface AdminTokenRecord {
14
- readonly id: string;
15
- readonly createdBy: string;
16
- readonly name: string;
17
- readonly tokenPrefix: string;
18
- readonly createdAt: number;
19
- readonly expiresAt: number;
20
- readonly lastUsedAt: number | null;
21
- readonly revokedAt: number | null;
22
- }
23
- export interface AdminTokenRecordsDeps {
24
- readonly adminTokensKind: RecordKindHandle<AdminTokenBody>;
25
- readonly store?: SettingsStoreClient;
26
- }
27
- export declare class AdminTokenManager {
28
- private readonly now;
29
- private readonly kind;
30
- private readonly store;
31
- constructor(deps: SettingsStoreClient | AdminTokenRecordsDeps, now?: () => number);
32
- /** Mint a token for `createdBy`. Refuses an expiry in the past or past 90 days. */
33
- create(input: {
34
- readonly createdBy: string;
35
- readonly name: string;
36
- readonly expiresAt: number;
37
- }): Promise<{
38
- readonly token: string;
39
- readonly record: AdminTokenRecord;
40
- }>;
41
- /** The live record behind `token`, or `null` (unknown, revoked, expired, not a `csa_`). */
42
- validate(token: string): Promise<AdminTokenRecord | null>;
43
- /** Every token not yet reaped, newest first (no hashes). */
44
- list(): Promise<readonly AdminTokenRecord[]>;
45
- /** Revoke one token. `false` when unknown or already revoked. */
46
- revoke(id: string): Promise<boolean>;
47
- /** Revoke every live token `userId` created (the user was deleted). */
48
- revokeAllCreatedBy(userId: string): Promise<number>;
49
- /** Delete rows expired or revoked more than 30 days ago. */
50
- reap(): Promise<number>;
51
- }
@@ -1,25 +0,0 @@
1
- import type { RecordKindHandle, ScopedToken, TokenScope, SettingsStoreClient } from "@camstack/types";
2
- import type { ScopedTokenBody } from "../builtins/local-auth/record-kinds.js";
3
- export interface ScopedTokenRecordsDeps {
4
- readonly scopedTokensKind: RecordKindHandle<ScopedTokenBody>;
5
- readonly legacyStore?: SettingsStoreClient;
6
- }
7
- /**
8
- * Manages scoped API tokens with restricted addon/route/capability access.
9
- */
10
- export declare class ScopedTokenManager {
11
- private readonly kind;
12
- private readonly store;
13
- constructor(deps: SettingsStoreClient | ScopedTokenRecordsDeps);
14
- create(userId: string, name: string, scopes: TokenScope[], expiresAt?: number): Promise<{
15
- token: string;
16
- record: ScopedToken;
17
- }>;
18
- validate(rawToken: string): Promise<ScopedToken | null>;
19
- matchesScope(token: ScopedToken, addonId?: string, capability?: string): boolean;
20
- revoke(tokenId: string): Promise<boolean>;
21
- listForUser(userId: string): Promise<ScopedToken[]>;
22
- updateLastUsed(tokenId: string): Promise<void>;
23
- reapExpired(nowMs?: number): Promise<number>;
24
- cleanupOrphans(validUserIds: ReadonlySet<string>): Promise<number>;
25
- }