@camstack/system 1.2.439 → 1.2.441

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 (103) hide show
  1. package/dist/addon-runner.js +743 -79
  2. package/dist/addon-runner.mjs +743 -79
  3. package/dist/addon-utils.js +1 -1
  4. package/dist/addon-utils.mjs +1 -1
  5. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
  6. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
  7. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
  8. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
  9. package/dist/builtins/alerts/alerts.addon.js +1 -1
  10. package/dist/builtins/alerts/alerts.addon.mjs +1 -1
  11. package/dist/builtins/autotrack/index.js +1 -1
  12. package/dist/builtins/autotrack/index.mjs +1 -1
  13. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +2 -2
  14. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +2 -2
  15. package/dist/builtins/calendars/calendars.addon.js +1 -1
  16. package/dist/builtins/calendars/calendars.addon.mjs +1 -1
  17. package/dist/builtins/camera-grid/index.js +1 -1
  18. package/dist/builtins/camera-grid/index.mjs +1 -1
  19. package/dist/builtins/composer/composer.addon.js +2 -2
  20. package/dist/builtins/composer/composer.addon.mjs +2 -2
  21. package/dist/builtins/console-logging/index.js +1 -1
  22. package/dist/builtins/console-logging/index.mjs +1 -1
  23. package/dist/builtins/core-blocks/block-settings-store.d.ts +1 -1
  24. package/dist/builtins/core-blocks/core-blocks.addon.js +77 -11
  25. package/dist/builtins/core-blocks/core-blocks.addon.mjs +77 -12
  26. package/dist/builtins/core-blocks/index.mjs +1 -1
  27. package/dist/builtins/device-manager/device-manager.addon.js +181 -59
  28. package/dist/builtins/device-manager/device-manager.addon.mjs +180 -60
  29. package/dist/builtins/device-manager/device-removal-hooks.d.ts +0 -11
  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 +29 -11
  33. package/dist/builtins/keychain/index.mjs +29 -11
  34. package/dist/builtins/keychain/keychain-service.d.ts +8 -0
  35. package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
  36. package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
  37. package/dist/builtins/local-auth/local-auth.addon.js +2 -2
  38. package/dist/builtins/local-auth/local-auth.addon.mjs +2 -2
  39. package/dist/builtins/local-network/local-network.addon.js +2 -2
  40. package/dist/builtins/local-network/local-network.addon.mjs +2 -2
  41. package/dist/builtins/loki-logging/index.js +1 -1
  42. package/dist/builtins/loki-logging/index.mjs +1 -1
  43. package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
  44. package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
  45. package/dist/builtins/platform-probe/index.js +1 -1
  46. package/dist/builtins/platform-probe/index.mjs +1 -1
  47. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  48. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  49. package/dist/builtins/snapshot/index.js +1 -1
  50. package/dist/builtins/snapshot/index.mjs +1 -1
  51. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  52. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
  53. package/dist/builtins/sqlite-storage/index.js +1 -1
  54. package/dist/builtins/sqlite-storage/index.mjs +1 -1
  55. package/dist/builtins/sqlite-storage/sqlite-settings-backend.d.ts +38 -7
  56. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +69 -3
  57. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +69 -3
  58. package/dist/builtins/sqlite-storage/storage-admin-provider.d.ts +31 -0
  59. package/dist/builtins/storage-orchestrator/hub-settings-forward.d.ts +3 -3
  60. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +4 -4
  61. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +4 -4
  62. package/dist/builtins/system-config/system-config.addon.js +2 -2
  63. package/dist/builtins/system-config/system-config.addon.mjs +2 -2
  64. package/dist/builtins/winston-logging/index.js +1 -1
  65. package/dist/builtins/winston-logging/index.mjs +1 -1
  66. package/dist/{composition-sources-B4jC2FC7.js → composition-sources-BG-W2U0d.js} +1 -1
  67. package/dist/{composition-sources-BGOSCGWa.mjs → composition-sources-ByNISOnW.mjs} +1 -1
  68. package/dist/{constants-B92BjObl.mjs → constants-DJILnUSb.mjs} +1 -1
  69. package/dist/{constants-BRsjQwi-.js → constants-UojhAJcm.js} +1 -1
  70. package/dist/{device-ca-DHG9OW2m.js → device-ca-196DAEZT.js} +1 -1
  71. package/dist/{device-ca-46BUsWD1.mjs → device-ca-D8Ri9TVz.mjs} +1 -1
  72. package/dist/{dist-yI6kF6r6.mjs → dist-BWvkuc31.mjs} +248 -27
  73. package/dist/{dist-BOWdLjoK.js → dist-BiTCcaf-.js} +265 -26
  74. package/dist/file-host-worker.js +1 -1
  75. package/dist/file-host-worker.mjs +1 -1
  76. package/dist/{hub-mdns-ciao-DGwVc2uh.mjs → hub-mdns-ciao-Cnd0bTB9.mjs} +1 -1
  77. package/dist/{hub-mdns-ciao-D7S5AJRU.js → hub-mdns-ciao-DOBTq8qr.js} +1 -1
  78. package/dist/index.js +336 -336
  79. package/dist/index.mjs +337 -337
  80. package/dist/kernel/addon-settings-store.d.ts +43 -0
  81. package/dist/kernel/config-manager.d.ts +0 -19
  82. package/dist/kernel/device-settings-store.d.ts +74 -0
  83. package/dist/kernel/legacy-blob-guard.d.ts +58 -0
  84. package/dist/kernel/moleculer/runner-addon-settings.d.ts +34 -0
  85. package/dist/kernel/moleculer/runner-device-settings.d.ts +39 -0
  86. package/dist/kernel/prefix-walk.d.ts +39 -0
  87. package/dist/kernel/sections-store.d.ts +20 -0
  88. package/dist/kernel/settings-door-view.d.ts +2 -2
  89. package/dist/kernel/settings-view-types.d.ts +5 -30
  90. package/dist/kernel/store-settings-view.d.ts +0 -3
  91. package/dist/prefix-range-D_KueXbQ.js +27 -0
  92. package/dist/prefix-range-Dl0znowN.mjs +22 -0
  93. package/dist/prefix-walk-DAOBSyH1.mjs +88 -0
  94. package/dist/prefix-walk-Dv6MLZlM.js +99 -0
  95. package/dist/{restore-archive-CpdUO-uS.mjs → restore-archive-4ziluTU3.mjs} +1 -1
  96. package/dist/{restore-archive-DiGiI6Jp.js → restore-archive-CfSSjKnA.js} +1 -1
  97. package/dist/{retired-settings-keys-UsVtLOT0.mjs → retired-settings-keys-Bhwe4ymb.mjs} +2 -2
  98. package/dist/{retired-settings-keys-CyQ7uvta.js → retired-settings-keys-D_VwZiDt.js} +10 -4
  99. package/dist/{wal-maintenance-xsvdT5Go.mjs → wal-maintenance-B57SAp4a.mjs} +0 -0
  100. package/dist/{wal-maintenance-DEL_jeG0.js → wal-maintenance-CgZTNWAz.js} +0 -0
  101. package/package.json +5 -2
  102. package/dist/{custom-action-registry-Bf_YnagS.js → custom-action-registry-BKmoaqG0.js} +1 -1
  103. package/dist/{custom-action-registry-BQnbN0DP.mjs → custom-action-registry-CyUuhATc.mjs} +1 -1
@@ -1,6 +1,6 @@
1
- import { Dr as errMsg, Dt as dataStoreProviderCapability, Nr as RUNTIME_DEFAULTS, Or as BaseAddon, Ot as databaseSnapshotCapability, S as DATA_STORE_DATABASES, b as DATABASE_SNAPSHOT_SUFFIX, ct as bareAddonId, ur as vectorStoreCapability, x as DATABASE_SNAPSHOT_TIMEOUT_MS, y as DATABASE_SNAPSHOT_PARTIAL_SUFFIX } from "../../dist-yI6kF6r6.mjs";
2
- import { r as retiredKeyStoreOf, t as purgeRetiredSettingsKeys } from "../../retired-settings-keys-UsVtLOT0.mjs";
3
- import { C as callControl, E as controlTargetOf, S as trustResult, T as callVector, _ as collectTransferables, a as WalMaintenance, c as SqliteSettingsBackend, d as CrossDatabaseTransactError, f as DatabaseBusyError, m as rehydrateError, o as createVectorIndex, p as DuplicatePlacementError, s as vectorProviderOf, u as CollectionPlacementError, v as isFileHostMessage, w as callData } from "../../wal-maintenance-xsvdT5Go.mjs";
1
+ import { Ar as errMsg, At as databaseSnapshotCapability, Ir as RUNTIME_DEFAULTS, J as STORAGE_ADMIN_SCOPED_BASES, S as DATA_STORE_DATABASES, b as DATABASE_SNAPSHOT_SUFFIX, er as storageAdminCapability, jr as BaseAddon, kt as dataStoreProviderCapability, pr as vectorStoreCapability, q as STORAGE_ADMIN_MOVED_COLLECTIONS, ut as bareAddonId, x as DATABASE_SNAPSHOT_TIMEOUT_MS, y as DATABASE_SNAPSHOT_PARTIAL_SUFFIX } from "../../dist-BWvkuc31.mjs";
2
+ import { i as retiredKeyStoreOf, n as purgeRetiredSettingsKeys } from "../../retired-settings-keys-Bhwe4ymb.mjs";
3
+ import { C as callData, S as callControl, T as controlTargetOf, _ as isFileHostMessage, a as WalMaintenance, c as SqliteSettingsBackend, d as DatabaseBusyError, f as DuplicatePlacementError, g as collectTransferables, l as CollectionPlacementError, o as createVectorIndex, p as rehydrateError, s as vectorProviderOf, u as CrossDatabaseTransactError, w as callVector, x as trustResult } from "../../wal-maintenance-B57SAp4a.mjs";
4
4
  import { r as isSnapshotWorkerMessage } from "../../sqlite-snapshot-protocol-2QaTouWV.mjs";
5
5
  import { a as isWorkerMessage, t as WAL_CHECKPOINT_LARGE_PASS_FRAMES } from "../../wal-checkpoint-policy-BahrTtyD.mjs";
6
6
  import { createRequire } from "node:module";
@@ -1198,6 +1198,68 @@ var PlacementRouter = class {
1198
1198
  }
1199
1199
  };
1200
1200
  //#endregion
1201
+ //#region src/builtins/sqlite-storage/storage-admin-provider.ts
1202
+ /**
1203
+ * The `storage-admin` provider of the SQLite engine (D870): the operator's
1204
+ * maintenance reach into the settings database - list its tables, drop one that
1205
+ * nothing owns any more. Every call is logged with its table and counts.
1206
+ *
1207
+ * `dropCollection` is a one-shot of the D870 migration: remove it, and the
1208
+ * capability's method, once the last hub ran `migrate-device-store.ts --drop`.
1209
+ */
1210
+ var StorageAdminProvider = class {
1211
+ backend;
1212
+ logger;
1213
+ installedOwners;
1214
+ constructor(backend, logger, installedOwners) {
1215
+ this.backend = backend;
1216
+ this.logger = logger;
1217
+ this.installedOwners = installedOwners;
1218
+ }
1219
+ /** May this table be dropped AT ALL? Throws with the reason when not. */
1220
+ async assertDroppable(collection) {
1221
+ const colon = collection.indexOf(":");
1222
+ const base = colon > 0 ? collection.slice(colon + 1) : "";
1223
+ if (colon > 0 && STORAGE_ADMIN_SCOPED_BASES.includes(base)) return;
1224
+ if (STORAGE_ADMIN_MOVED_COLLECTIONS.includes(collection)) return;
1225
+ if (colon <= 0) throw new Error(`drop refused: "${collection}" is not a scoped table`);
1226
+ const installed = await this.installedOwners().catch((err) => {
1227
+ throw new Error(`drop refused: the installed addons could not be read (${err instanceof Error ? err.message : String(err)})`);
1228
+ });
1229
+ const owner = collection.slice(0, colon);
1230
+ if (installed.has(owner)) throw new Error(`drop refused: "${collection}" belongs to the installed addon "${owner}"`);
1231
+ }
1232
+ async listTables(input) {
1233
+ const tables = this.backend.listTables(input.ownerPrefix);
1234
+ this.logger.info("storage-admin: listed tables", { meta: {
1235
+ tables: tables.length,
1236
+ ownerPrefix: input.ownerPrefix ?? null
1237
+ } });
1238
+ return { tables: [...tables] };
1239
+ }
1240
+ async dropCollection(input) {
1241
+ try {
1242
+ await this.assertDroppable(input.collection);
1243
+ const rows = this.backend.dropTable(input.collection, input.expectRows);
1244
+ this.logger.warn("storage-admin: DROPPED a table", { meta: {
1245
+ collection: input.collection,
1246
+ rows
1247
+ } });
1248
+ return {
1249
+ dropped: true,
1250
+ rows
1251
+ };
1252
+ } catch (err) {
1253
+ this.logger.warn("storage-admin: drop refused", { meta: {
1254
+ collection: input.collection,
1255
+ expectRows: input.expectRows,
1256
+ error: err instanceof Error ? err.message : String(err)
1257
+ } });
1258
+ throw err;
1259
+ }
1260
+ }
1261
+ };
1262
+ //#endregion
1201
1263
  //#region src/builtins/sqlite-storage/retired-collections.ts
1202
1264
  /**
1203
1265
  * The dead tables.
@@ -1414,6 +1476,10 @@ var SqliteSettingsAddon = class extends BaseAddon {
1414
1476
  {
1415
1477
  capability: databaseSnapshotCapability,
1416
1478
  provider: new DatabaseSnapshotProvider(router)
1479
+ },
1480
+ {
1481
+ capability: storageAdminCapability,
1482
+ provider: new StorageAdminProvider(settings.backend, this.ctx.logger.child("StorageAdmin"), async () => new Set((await this.ctx.api.addons.list.query()).map((addon) => addon.manifest.id)))
1417
1483
  }
1418
1484
  ];
1419
1485
  }
@@ -0,0 +1,31 @@
1
+ /**
2
+ * The `storage-admin` provider of the SQLite engine (D870): the operator's
3
+ * maintenance reach into the settings database - list its tables, drop one that
4
+ * nothing owns any more. Every call is logged with its table and counts.
5
+ *
6
+ * `dropCollection` is a one-shot of the D870 migration: remove it, and the
7
+ * capability's method, once the last hub ran `migrate-device-store.ts --drop`.
8
+ */
9
+ import { type IScopedLogger, type IStorageAdminProvider, type StorageTable } from "@camstack/types";
10
+ import type { SqliteSettingsBackend } from "./sqlite-settings-backend.js";
11
+ export declare class StorageAdminProvider implements IStorageAdminProvider {
12
+ private readonly backend;
13
+ private readonly logger;
14
+ /** The addon ids installed on this hub; a throw means "cannot tell" and refuses the drop. */
15
+ private readonly installedOwners;
16
+ constructor(backend: SqliteSettingsBackend, logger: IScopedLogger, installedOwners: () => Promise<ReadonlySet<string>>);
17
+ /** May this table be dropped AT ALL? Throws with the reason when not. */
18
+ private assertDroppable;
19
+ listTables(input: {
20
+ ownerPrefix?: string | undefined;
21
+ }): Promise<{
22
+ tables: StorageTable[];
23
+ }>;
24
+ dropCollection(input: {
25
+ collection: string;
26
+ expectRows: number;
27
+ }): Promise<{
28
+ dropped: true;
29
+ rows: number;
30
+ }>;
31
+ }
@@ -30,9 +30,9 @@
30
30
  *
31
31
  * Per-node scoping already exists, one layer up, and it is per FIELD:
32
32
  * `BaseAddon` persists a `perNode: true` schema field as `<key>@<nodeId>`
33
- * inside the addon's single shared blob (`packages/types/src/addon/
34
- * per-node-store.ts`). The agent therefore reads and writes the SAME row the
35
- * hub's copy of that addon reads — `<addonId>:addon-settings` / `root` — and
33
+ * inside the addon's settings (`packages/types/src/addon/
34
+ * per-node-store.ts`). The agent therefore reads and writes the SAME rows the
35
+ * hub's copy of that addon reads — `addon-settings` `<addonId>.<field>` (D870) — and
36
36
  * the two agree by construction. Introducing a second, addon-level
37
37
  * `(nodeId, addonId)` row here would be a second authority over one fact,
38
38
  * which is the shape [D224](../../../../../docs/decisions/adr-0224-the-freshness-of-a-camera-fact-lives-in-its-provider.md)
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-BOWdLjoK.js");
6
+ const require_dist = require("../../dist-BiTCcaf-.js");
7
7
  let zod = require("zod");
8
8
  let node_crypto = require("node:crypto");
9
9
  let _camstack_types_node = require("@camstack/types/node");
@@ -1491,9 +1491,9 @@ function createHubCapForwardService(onUnownedCall, options = {}) {
1491
1491
  *
1492
1492
  * Per-node scoping already exists, one layer up, and it is per FIELD:
1493
1493
  * `BaseAddon` persists a `perNode: true` schema field as `<key>@<nodeId>`
1494
- * inside the addon's single shared blob (`packages/types/src/addon/
1495
- * per-node-store.ts`). The agent therefore reads and writes the SAME row the
1496
- * hub's copy of that addon reads — `<addonId>:addon-settings` / `root` — and
1494
+ * inside the addon's settings (`packages/types/src/addon/
1495
+ * per-node-store.ts`). The agent therefore reads and writes the SAME rows the
1496
+ * hub's copy of that addon reads — `addon-settings` `<addonId>.<field>` (D870) — and
1497
1497
  * the two agree by construction. Introducing a second, addon-level
1498
1498
  * `(nodeId, addonId)` row here would be a second authority over one fact,
1499
1499
  * which is the shape [D224](../../../../../docs/decisions/adr-0224-the-freshness-of-a-camera-fact-lives-in-its-provider.md)
@@ -1,4 +1,4 @@
1
- import { $ as StorageLocationTypeSchema, $n as storageMigrationCapability, Bn as resolveLocationMode, Hr as collectSecretConfigKeys, Mr as REDACTED_SECRET, Or as BaseAddon, Q as StorageLocationModeSchema, Qn as storageCapability, Ut as evictionPolicyOfLocation, Z as StorageCleanupJobSchema, Zt as gbToBytes, _i as transformSecretWrite, _n as mayReadLocation, di as resolveSecretMarkers, dr as withLocationMode, et as StorageMigrationJobSchema, ni as isSecretMarker, oi as parseJsonObject, pi as secretTreeFromPaths, qn as settingsStoreCapability, rn as isLocationEnabled, un as legacyModeOf, vn as mayWriteToLocation, xn as modeMayWrite, yi as EventCategory, z as LegacyStorageLocationDefaultSchema } from "../../dist-yI6kF6r6.mjs";
1
+ import { $ as StorageCleanupJobSchema, $t as gbToBytes, Cn as modeMayWrite, Fr as REDACTED_SECRET, Gr as collectSecretConfigKeys, Gt as evictionPolicyOfLocation, Hn as resolveLocationMode, Si as EventCategory, Yn as settingsStoreCapability, ai as isSecretMarker, an as isLocationEnabled, bi as transformSecretWrite, bn as mayWriteToLocation, et as StorageLocationModeSchema, fn as legacyModeOf, gi as secretTreeFromPaths, jr as BaseAddon, li as parseJsonObject, mi as resolveSecretMarkers, mr as withLocationMode, nr as storageMigrationCapability, nt as StorageMigrationJobSchema, tr as storageCapability, tt as StorageLocationTypeSchema, yn as mayReadLocation, z as LegacyStorageLocationDefaultSchema } from "../../dist-BWvkuc31.mjs";
2
2
  import { z } from "zod";
3
3
  import { randomUUID } from "node:crypto";
4
4
  import { containsOrEquals, physicalRootOf } from "@camstack/types/node";
@@ -1486,9 +1486,9 @@ function createHubCapForwardService(onUnownedCall, options = {}) {
1486
1486
  *
1487
1487
  * Per-node scoping already exists, one layer up, and it is per FIELD:
1488
1488
  * `BaseAddon` persists a `perNode: true` schema field as `<key>@<nodeId>`
1489
- * inside the addon's single shared blob (`packages/types/src/addon/
1490
- * per-node-store.ts`). The agent therefore reads and writes the SAME row the
1491
- * hub's copy of that addon reads — `<addonId>:addon-settings` / `root` — and
1489
+ * inside the addon's settings (`packages/types/src/addon/
1490
+ * per-node-store.ts`). The agent therefore reads and writes the SAME rows the
1491
+ * hub's copy of that addon reads — `addon-settings` `<addonId>.<field>` (D870) — and
1492
1492
  * the two agree by construction. Introducing a second, addon-level
1493
1493
  * `(nodeId, addonId)` row here would be a second authority over one fact,
1494
1494
  * which is the shape [D224](../../../../../docs/decisions/adr-0224-the-freshness-of-a-camera-fact-lives-in-its-provider.md)
@@ -3,11 +3,11 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-BOWdLjoK.js");
6
+ const require_dist = require("../../dist-BiTCcaf-.js");
7
7
  const require_safe_buffer$1 = require("../../safe-buffer-D3aoa-7X.js");
8
8
  const require_x509_es = require("../../x509.es-C4cOo48M.js");
9
9
  const require_agent_https = require("../../agent-https-DlpTMDqA.js");
10
- const require_constants$8 = require("../../constants-BRsjQwi-.js");
10
+ const require_constants$8 = require("../../constants-UojhAJcm.js");
11
11
  const require_src$1 = require("../../src-CnAqG6EF.js");
12
12
  let zod = require("zod");
13
13
  let node_crypto = require("node:crypto");
@@ -1,9 +1,9 @@
1
1
  import { a as __toCommonJS, i as __require, n as __esmMin, o as __toESM, r as __exportAll, t as __commonJSMin } from "../../chunk-CNf5ZN-e.mjs";
2
- import { Dr as errMsg, Gr as customAction, Jn as shortHostname, Kr as defineCustomActions, Or as BaseAddon, Y as ServerNameSchema, Zr as hydrateSchema } from "../../dist-yI6kF6r6.mjs";
2
+ import { Ar as errMsg, Jr as customAction, Xn as shortHostname, Yr as defineCustomActions, Z as ServerNameSchema, ei as hydrateSchema, jr as BaseAddon } from "../../dist-BWvkuc31.mjs";
3
3
  import { t as require_safe_buffer } from "../../safe-buffer-B1OjL1I9.mjs";
4
4
  import { S as backdatedNotBefore, a as KeyUsageFlags, c as Pkcs10CertificateRequest, d as SubjectKeyIdentifierExtension, f as X509Certificate$1, l as Pkcs10CertificateRequestGenerator, m as cryptoProvider, n as BasicConstraintsExtension, o as KeyUsagesExtension, p as X509CertificateGenerator, r as ExtendedKeyUsageExtension, s as PemConverter, t as AuthorityKeyIdentifierExtension } from "../../x509.es-DK__ETIe.mjs";
5
5
  import { F as AGENT_HTTPS_NAMES_COLLECTION, I as AGENT_HTTPS_NAMES_COLUMNS, L as AgentHttpsNames, R as getProcessAgentHttpsNames, j as isLocalOnlyHostname, u as isPrivateAddress, z as setProcessAgentHttpsNames } from "../../agent-https-U0d4uvn2.mjs";
6
- import { a as MESH_CA_KEY_REF, c as SERVER_AUTH_OID, i as MESH_CA_FIELD, n as DEFAULT_HUB_TLS_TCP_PORT, o as MESH_CA_SETTINGS_KEY, r as MESH_CA_COMMON_NAME, s as MESH_CA_VALIDITY_DAYS, t as CLIENT_AUTH_OID } from "../../constants-B92BjObl.mjs";
6
+ import { a as MESH_CA_KEY_REF, c as SERVER_AUTH_OID, i as MESH_CA_FIELD, n as DEFAULT_HUB_TLS_TCP_PORT, o as MESH_CA_SETTINGS_KEY, r as MESH_CA_COMMON_NAME, s as MESH_CA_VALIDITY_DAYS, t as CLIENT_AUTH_OID } from "../../constants-DJILnUSb.mjs";
7
7
  import { t as require_src } from "../../src-hG4grMU4.mjs";
8
8
  import { z } from "zod";
9
9
  import { X509Certificate, createHash, createPrivateKey, randomBytes, randomInt, sign, timingSafeEqual, verify, webcrypto } from "node:crypto";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-BOWdLjoK.js");
6
+ const require_dist = require("../../dist-BiTCcaf-.js");
7
7
  const require_formatter = require("../../formatter-DqAKDlvN.js");
8
8
  let node_path = require("node:path");
9
9
  node_path = require_chunk.__toESM(node_path);
@@ -1,4 +1,4 @@
1
- import { Or as BaseAddon, mn as logDestinationCapability } from "../../dist-yI6kF6r6.mjs";
1
+ import { gn as logDestinationCapability, jr as BaseAddon } from "../../dist-BWvkuc31.mjs";
2
2
  import { t as formatLogLine } from "../../formatter-B7qW8bPJ.mjs";
3
3
  import * as path$1 from "node:path";
4
4
  import path from "node:path";
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-BOWdLjoK.js");
1
+ const require_dist = require("./dist-BiTCcaf-.js");
2
2
  //#region src/builtins/core-blocks/composition-sources.ts
3
3
  /**
4
4
  * Describe what a composition reads and writes for SAVE-time validation
@@ -1,4 +1,4 @@
1
- import { Dr as errMsg, br as compositionSourceKey } from "./dist-yI6kF6r6.mjs";
1
+ import { Ar as errMsg, Cr as compositionSourceKey } from "./dist-BWvkuc31.mjs";
2
2
  //#region src/builtins/core-blocks/composition-sources.ts
3
3
  /**
4
4
  * Describe what a composition reads and writes for SAVE-time validation
@@ -1,4 +1,4 @@
1
- import { Vr as buildSecretRef } from "./dist-yI6kF6r6.mjs";
1
+ import { Wr as buildSecretRef } from "./dist-BWvkuc31.mjs";
2
2
  /** `secret://system/global/meshCaKey` — EC P-256 PKCS#8 PEM of the hub mesh CA. */
3
3
  var MESH_CA_KEY_REF = buildSecretRef({
4
4
  owner: "system",
@@ -1,5 +1,5 @@
1
1
  /** `secret://system/global/meshCaKey` — EC P-256 PKCS#8 PEM of the hub mesh CA. */
2
- var MESH_CA_KEY_REF = require("./dist-BOWdLjoK.js").buildSecretRef({
2
+ var MESH_CA_KEY_REF = require("./dist-BiTCcaf-.js").buildSecretRef({
3
3
  owner: "system",
4
4
  scope: { kind: "global" },
5
5
  fieldPath: "meshCaKey"
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-BOWdLjoK.js");
1
+ const require_dist = require("./dist-BiTCcaf-.js");
2
2
  const require_x509_es = require("./x509.es-C4cOo48M.js");
3
3
  let node_crypto = require("node:crypto");
4
4
  //#region src/auth/jwt-signing-key.ts
@@ -1,4 +1,4 @@
1
- import { D as DEVICE_SAN_CREDENTIAL_PREFIX, O as DEVICE_SAN_USER_PREFIX, Vr as buildSecretRef } from "./dist-yI6kF6r6.mjs";
1
+ import { D as DEVICE_SAN_CREDENTIAL_PREFIX, O as DEVICE_SAN_USER_PREFIX, Wr as buildSecretRef } from "./dist-BWvkuc31.mjs";
2
2
  import { S as backdatedNotBefore, a as KeyUsageFlags, d as SubjectKeyIdentifierExtension, f as X509Certificate$1, m as cryptoProvider, n as BasicConstraintsExtension, o as KeyUsagesExtension, p as X509CertificateGenerator, r as ExtendedKeyUsageExtension, s as PemConverter, t as AuthorityKeyIdentifierExtension, u as SubjectAlternativeNameExtension } from "./x509.es-DK__ETIe.mjs";
3
3
  import { X509Certificate, createPublicKey, randomBytes, verify, webcrypto } from "node:crypto";
4
4
  //#region src/auth/jwt-signing-key.ts