@camstack/system 1.2.291 → 1.2.292

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 (62) hide show
  1. package/dist/addon-runner.js +20 -62
  2. package/dist/addon-runner.mjs +4 -46
  3. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
  4. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
  5. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
  6. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
  7. package/dist/builtins/alerts/alerts.addon.js +1 -1
  8. package/dist/builtins/alerts/alerts.addon.mjs +1 -1
  9. package/dist/builtins/autotrack/index.js +1 -1
  10. package/dist/builtins/autotrack/index.mjs +1 -1
  11. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +1 -1
  12. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +1 -1
  13. package/dist/builtins/camera-grid/index.js +1 -1
  14. package/dist/builtins/camera-grid/index.mjs +1 -1
  15. package/dist/builtins/console-logging/index.js +1 -1
  16. package/dist/builtins/console-logging/index.mjs +1 -1
  17. package/dist/builtins/core-blocks/core-blocks.addon.js +1 -1
  18. package/dist/builtins/core-blocks/core-blocks.addon.mjs +1 -1
  19. package/dist/builtins/device-manager/device-linked-devices.d.ts +2 -37
  20. package/dist/builtins/device-manager/device-manager.addon.js +4 -73
  21. package/dist/builtins/device-manager/device-manager.addon.mjs +2 -71
  22. package/dist/builtins/doorbell/virtual-doorbell.addon.js +1 -1
  23. package/dist/builtins/doorbell/virtual-doorbell.addon.mjs +1 -1
  24. package/dist/builtins/hub-forwarder/index.js +1 -1
  25. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  26. package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
  27. package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
  28. package/dist/builtins/local-auth/local-auth.addon.js +1 -1
  29. package/dist/builtins/local-auth/local-auth.addon.mjs +1 -1
  30. package/dist/builtins/local-network/local-network.addon.js +1 -1
  31. package/dist/builtins/local-network/local-network.addon.mjs +1 -1
  32. package/dist/builtins/loki-logging/index.js +1 -1
  33. package/dist/builtins/loki-logging/index.mjs +1 -1
  34. package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
  35. package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
  36. package/dist/builtins/platform-probe/index.js +1 -1
  37. package/dist/builtins/platform-probe/index.mjs +1 -1
  38. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  39. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  40. package/dist/builtins/snapshot/index.js +1 -1
  41. package/dist/builtins/snapshot/index.mjs +1 -1
  42. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  43. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
  44. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +0 -0
  45. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +0 -0
  46. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
  47. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
  48. package/dist/builtins/system-config/system-config.addon.js +1 -1
  49. package/dist/builtins/system-config/system-config.addon.mjs +1 -1
  50. package/dist/builtins/winston-logging/index.js +1 -1
  51. package/dist/builtins/winston-logging/index.mjs +1 -1
  52. package/dist/{manifest-system-deps-ghRqcy_-.mjs → child-cap-dispatch-CWkcQIRe.mjs} +51 -1
  53. package/dist/{manifest-system-deps-DTgkfBJy.js → child-cap-dispatch-CzNzGnGm.js} +62 -0
  54. package/dist/{dist-XnunBp0n.js → dist-D3zw1yHp.js} +101 -6
  55. package/dist/{dist-DiMNxNDh.mjs → dist-DU72-y3J.mjs} +90 -1
  56. package/dist/index.d.ts +4 -0
  57. package/dist/index.js +167 -166
  58. package/dist/index.mjs +3 -3
  59. package/dist/kernel/moleculer/child-cap-dispatch.d.ts +19 -0
  60. package/dist/{retired-settings-keys-DnCcgrCG.mjs → retired-settings-keys-DLOBYMC4.mjs} +1 -1
  61. package/dist/{retired-settings-keys-DQn9s_AI.js → retired-settings-keys-t6UWp6mL.js} +1 -1
  62. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
- import { A as STREAM_PROFILE_META, An as isDeviceConfigCap, Et as locationIconKey, Ft as normalizeUnit, G as buildStreamParamsConfigSchema, Qt as siteZoneKey, Rn as sleep$1, Rt as parseStreamParamsFormPatch, Wt as resolveContainerPrimaryChild, _n as DeviceRole, d as DAY_NAMES, fn as BaseAddon, gn as DeviceFeature, h as DeviceStatusSchema, nt as deviceStateCapability, o as CAMERA_SWITCH_ORDER, ot as enumerateItemArrayFields, pt as formatMinutes, qt as runtimeStatePolicyFor, rt as deviceStatusCapability, s as CAP_NAMES_WITH_STATUS, st as enumerateSchemaFields, t as ALL_CAPABILITY_DEFINITIONS, tt as deviceManagerCapability, un as errMsg, vn as DeviceType, x as MINUTES_PER_DAY, xn as WELL_KNOWN_TAB_MAP, y as LocationIconIdSchema, zn as EventCategory } from "../../dist-DiMNxNDh.mjs";
2
- import { n as purgeRetiredSettingsRows } from "../../retired-settings-keys-DnCcgrCG.mjs";
1
+ import { $t as siteZoneKey, A as STREAM_PROFILE_META, Bn as EventCategory, Bt as parseStreamParamsFormPatch, G as buildStreamParamsConfigSchema, Jt as runtimeStatePolicyFor, Lt as normalizeUnit, Ot as locationIconKey, Sn as WELL_KNOWN_TAB_MAP, _n as DeviceFeature, d as DAY_NAMES, dn as errMsg, h as DeviceStatusSchema, jn as isDeviceConfigCap, mt as formatMinutes, nt as deviceStateCapability, o as CAMERA_SWITCH_ORDER, ot as enumerateItemArrayFields, pn as BaseAddon, rt as deviceStatusCapability, s as CAP_NAMES_WITH_STATUS, st as enumerateSchemaFields, t as ALL_CAPABILITY_DEFINITIONS, tt as deviceManagerCapability, ut as expandContainer, vn as DeviceRole, wt as legacyAutoLinkIds, x as MINUTES_PER_DAY, y as LocationIconIdSchema, yn as DeviceType, zn as sleep$1 } from "../../dist-DU72-y3J.mjs";
2
+ import { n as purgeRetiredSettingsRows } from "../../retired-settings-keys-DLOBYMC4.mjs";
3
3
  import { randomUUID } from "node:crypto";
4
4
  import { canonicalDeviceFingerprint } from "@camstack/types/node";
5
5
  //#region src/builtins/device-manager/adoption-job-engine.ts
@@ -2728,41 +2728,6 @@ function parseLinkedDevicesConfig(blob) {
2728
2728
  };
2729
2729
  }
2730
2730
  /**
2731
- * Resolve one candidate id to the ids it should actually contribute to a
2732
- * linked set: itself, unless it is a CONTAINER, in which case its own
2733
- * children (recursively expanded the same way — a container-of-containers
2734
- * is vanishingly unlikely per `DeviceType.Container`'s contract, but this
2735
- * costs nothing to handle). `visited` guards a pathological parent-cycle in
2736
- * persisted data from recursing forever; a candidate already on the current
2737
- * expansion path is dropped rather than re-expanded.
2738
- *
2739
- * This is the STRUCTURAL, location-independent way a container's child
2740
- * becomes reachable: the device-tree "children of the camera" rule and a
2741
- * persisted manual pick are parentDeviceId chains, never location-based —
2742
- * a container named there is excluded by expanding into whatever it
2743
- * actually contains, regardless of what its (or its children's) `location`
2744
- * column holds.
2745
- */
2746
- function expandContainer(id, byId, byParent, visited, out) {
2747
- if (visited.has(id)) return;
2748
- const candidate = byId.get(id);
2749
- if (!candidate) return;
2750
- if (candidate.type !== DeviceType.Container) {
2751
- out.add(id);
2752
- return;
2753
- }
2754
- const nextVisited = new Set(visited);
2755
- nextVisited.add(id);
2756
- const primary = resolveContainerPrimaryChild((byParent.get(id) ?? []).map((c) => ({
2757
- id: c.id,
2758
- stableId: c.stableId,
2759
- type: c.type,
2760
- ...c.role !== void 0 && c.role !== null ? { role: c.role } : {},
2761
- ...c.name !== void 0 ? { name: c.name } : {}
2762
- })), byId.get(id)?.primaryChildEntityId, byId.get(id)?.name);
2763
- if (primary !== null) expandContainer(primary.id, byId, byParent, nextVisited, out);
2764
- }
2765
- /**
2766
2731
  * Pure resolution core: children ∪ (auto → same-location | manual → list),
2767
2732
  * minus self, deduped, CONTAINERS expanded to their children (see file
2768
2733
  * header). Order: children first, then mode additions.
@@ -2785,40 +2750,6 @@ function resolveLinkedDeviceIds(params) {
2785
2750
  return [...ids];
2786
2751
  }
2787
2752
  /**
2788
- * What the retired `auto` mode (pre-D356) added beyond the device-tree
2789
- * children: every non-container candidate sharing the camera's location, a
2790
- * container child standing in for its container's PRIMARY child. Kept ONLY
2791
- * for the one-shot boot backfill that materialises it into the manual list
2792
- * (`linked-devices-manual-backfill.ts`); nothing on the read path calls it.
2793
- */
2794
- function legacyAutoLinkIds(params) {
2795
- const { selfId, selfLocation, candidates } = params;
2796
- if (selfLocation === null || selfLocation.length === 0) return [];
2797
- const byId = new Map(candidates.map((c) => [c.id, c]));
2798
- const byParent = /* @__PURE__ */ new Map();
2799
- for (const c of candidates) {
2800
- if (c.parentDeviceId === null) continue;
2801
- const siblings = byParent.get(c.parentDeviceId);
2802
- if (siblings) siblings.push(c);
2803
- else byParent.set(c.parentDeviceId, [c]);
2804
- }
2805
- const ids = /* @__PURE__ */ new Set();
2806
- const expand = (id) => expandContainer(id, byId, byParent, /* @__PURE__ */ new Set(), ids);
2807
- for (const c of candidates) {
2808
- if (c.type === DeviceType.Container) continue;
2809
- if (c.location !== selfLocation) continue;
2810
- if (c.parentDeviceId === selfId) continue;
2811
- const parent = c.parentDeviceId !== null ? byId.get(c.parentDeviceId) : void 0;
2812
- if (parent !== void 0 && parent.type === DeviceType.Container) {
2813
- expand(parent.id);
2814
- continue;
2815
- }
2816
- ids.add(c.id);
2817
- }
2818
- ids.delete(selfId);
2819
- return [...ids];
2820
- }
2821
- /**
2822
2753
  * Which linked devices materialize synthetic tracked events on the camera.
2823
2754
  * Absent / non-array config key ⇒ NONE — the operator must explicitly pick
2824
2755
  * producers (opt-in; flipped from the legacy absent⇒ALL default, which
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-XnunBp0n.js");
6
+ const require_dist = require("../../dist-D3zw1yHp.js");
7
7
  //#region src/builtins/doorbell/trigger-engine.ts
8
8
  /**
9
9
  * Pure trigger logic for the virtual-doorbell builtin — edge detection over
@@ -1,4 +1,4 @@
1
- import { D as SOURCE_CAPS, O as SOURCE_DEVICE_TYPES, Tn as createEvent, U as bareAddonId, bt as isSourceCap, ct as evaluateSensorEdge, fn as BaseAddon, it as doorbellCapability, un as errMsg, vn as DeviceType, yt as isSameAddonId, zn as EventCategory } from "../../dist-DiMNxNDh.mjs";
1
+ import { Bn as EventCategory, D as SOURCE_CAPS, En as createEvent, O as SOURCE_DEVICE_TYPES, U as bareAddonId, bt as isSameAddonId, ct as evaluateSensorEdge, dn as errMsg, it as doorbellCapability, pn as BaseAddon, xt as isSourceCap, yn as DeviceType } from "../../dist-DU72-y3J.mjs";
2
2
  //#region src/builtins/doorbell/trigger-engine.ts
3
3
  /**
4
4
  * Pure trigger logic for the virtual-doorbell builtin — edge detection over
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-XnunBp0n.js");
6
+ const require_dist = require("../../dist-D3zw1yHp.js");
7
7
  const require_formatter = require("../../formatter-DqAKDlvN.js");
8
8
  //#region src/builtins/hub-forwarder/hub-forwarder-destination.ts
9
9
  var DEFAULT_OUTBOUND_BUFFER_SIZE = 500;
@@ -1,4 +1,4 @@
1
- import { Dt as logDestinationCapability, fn as BaseAddon } from "../../dist-DiMNxNDh.mjs";
1
+ import { kt as logDestinationCapability, pn as BaseAddon } from "../../dist-DU72-y3J.mjs";
2
2
  import { t as formatLogLine } from "../../formatter-B7qW8bPJ.mjs";
3
3
  //#region src/builtins/hub-forwarder/hub-forwarder-destination.ts
4
4
  var DEFAULT_OUTBOUND_BUFFER_SIZE = 500;
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  require("../../chunk-Cek0wNdY.js");
3
- const require_dist = require("../../dist-XnunBp0n.js");
3
+ const require_dist = require("../../dist-D3zw1yHp.js");
4
4
  //#region src/builtins/liveness-monitor/liveness-checks.ts
5
5
  var NO_DEVICES = "liveness:no-devices";
6
6
  var ALL_OFFLINE = "liveness:all-devices-offline";
@@ -1,4 +1,4 @@
1
- import { C as RECORDING_SOURCE_CAMSTACK_ADDON, E as RecordingStatusSchema, Tn as createEvent, fn as BaseAddon, un as errMsg, zn as EventCategory } from "../../dist-DiMNxNDh.mjs";
1
+ import { Bn as EventCategory, C as RECORDING_SOURCE_CAMSTACK_ADDON, E as RecordingStatusSchema, En as createEvent, dn as errMsg, pn as BaseAddon } from "../../dist-DU72-y3J.mjs";
2
2
  //#region src/builtins/liveness-monitor/liveness-checks.ts
3
3
  var NO_DEVICES = "liveness:no-devices";
4
4
  var ALL_OFFLINE = "liveness:all-devices-offline";
@@ -3,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-XnunBp0n.js");
6
+ const require_dist = require("../../dist-D3zw1yHp.js");
7
7
  let node_crypto = require("node:crypto");
8
8
  node_crypto = require_chunk.__toESM(node_crypto);
9
9
  let crypto$1 = require("crypto");
@@ -1,5 +1,5 @@
1
1
  import { i as __require, o as __toESM, t as __commonJSMin } from "../../chunk-CNf5ZN-e.mjs";
2
- import { I as UserRecordSchema, V as authProviderCapability, fn as BaseAddon, j as ScopedTokenSchema, on as userManagementCapability, r as ApiKeyRecordSchema } from "../../dist-DiMNxNDh.mjs";
2
+ import { I as UserRecordSchema, V as authProviderCapability, j as ScopedTokenSchema, pn as BaseAddon, r as ApiKeyRecordSchema, sn as userManagementCapability } from "../../dist-DU72-y3J.mjs";
3
3
  import * as crypto$2 from "node:crypto";
4
4
  import { createHash, randomUUID, timingSafeEqual } from "node:crypto";
5
5
  import nodeCrypto from "crypto";
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_chunk = require("../../chunk-Cek0wNdY.js");
3
- const require_dist = require("../../dist-XnunBp0n.js");
3
+ const require_dist = require("../../dist-D3zw1yHp.js");
4
4
  const require_tls = require("../../tls-D_wUeOTD.js");
5
5
  let node_fs_promises = require("node:fs/promises");
6
6
  let node_path = require("node:path");
@@ -1,4 +1,4 @@
1
- import { Tt as localNetworkCapability, fn as BaseAddon, zn as EventCategory } from "../../dist-DiMNxNDh.mjs";
1
+ import { Bn as EventCategory, Dt as localNetworkCapability, pn as BaseAddon } from "../../dist-DU72-y3J.mjs";
2
2
  import { S as readLanHttpState, _ as DEFAULT_LAN_HTTP_PORT, a as writeTlsMode, i as writeExtraSans, l as reissueTlsLeaf, n as readTlsAccessStatus, o as validateUploadedTls, r as readTlsMode, s as ensureTlsCert, t as readExtraSans, y as applyLanHttp } from "../../tls-IM-v7JV4.mjs";
3
3
  import { mkdir, writeFile } from "node:fs/promises";
4
4
  import { join } from "node:path";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-XnunBp0n.js");
6
+ const require_dist = require("../../dist-D3zw1yHp.js");
7
7
  //#region src/builtins/loki-logging/loki-payload.ts
8
8
  /**
9
9
  * Loki rejects a label name that is not a valid Prometheus label
@@ -1,4 +1,4 @@
1
- import { Dt as logDestinationCapability, fn as BaseAddon } from "../../dist-DiMNxNDh.mjs";
1
+ import { kt as logDestinationCapability, pn as BaseAddon } from "../../dist-DU72-y3J.mjs";
2
2
  //#region src/builtins/loki-logging/loki-payload.ts
3
3
  /**
4
4
  * Loki rejects a label name that is not a valid Prometheus label
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-XnunBp0n.js");
6
+ const require_dist = require("../../dist-D3zw1yHp.js");
7
7
  let node_fs_promises = require("node:fs/promises");
8
8
  let node_fs = require("node:fs");
9
9
  node_fs = require_chunk.__toESM(node_fs);
@@ -1,4 +1,4 @@
1
- import { Ht as reducePoints, Mt as metricsProviderCapability, Tn as createEvent, Ut as resolveBucketMs, fn as BaseAddon, ft as foldSnapshotByFunction, un as errMsg, zn as EventCategory } from "../../dist-DiMNxNDh.mjs";
1
+ import { Bn as EventCategory, En as createEvent, Gt as resolveBucketMs, Pt as metricsProviderCapability, Wt as reducePoints, dn as errMsg, pn as BaseAddon, pt as foldSnapshotByFunction } from "../../dist-DU72-y3J.mjs";
2
2
  import { access, readFile, readdir } from "node:fs/promises";
3
3
  import * as fs from "node:fs";
4
4
  import { constants, readFileSync } from "node:fs";
@@ -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-XnunBp0n.js");
6
+ const require_dist = require("../../dist-D3zw1yHp.js");
7
7
  let node_fs = require("node:fs");
8
8
  node_fs = require_chunk.__toESM(node_fs);
9
9
  let node_child_process = require("node:child_process");
@@ -1,5 +1,5 @@
1
1
  import { o as __toESM } from "../../chunk-CNf5ZN-e.mjs";
2
- import { Dn as emitReadiness, Xt as scoreRuntimes, at as enumerateInferenceDevices, fn as BaseAddon, un as errMsg, zn as EventCategory, zt as platformProbeCapability } from "../../dist-DiMNxNDh.mjs";
2
+ import { Bn as EventCategory, On as emitReadiness, Vt as platformProbeCapability, Zt as scoreRuntimes, at as enumerateInferenceDevices, dn as errMsg, pn as BaseAddon } from "../../dist-DU72-y3J.mjs";
3
3
  import * as fs from "node:fs";
4
4
  import { execFile } from "node:child_process";
5
5
  import * as os from "node:os";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-XnunBp0n.js");
6
+ const require_dist = require("../../dist-D3zw1yHp.js");
7
7
  //#region src/builtins/remote-access-orchestrator/enabled-providers-reconcile.ts
8
8
  /**
9
9
  * Reconcile the durable `enabledProviders` set against authoritative
@@ -1,4 +1,4 @@
1
- import { fn as BaseAddon, zn as EventCategory } from "../../dist-DiMNxNDh.mjs";
1
+ import { Bn as EventCategory, pn as BaseAddon } from "../../dist-DU72-y3J.mjs";
2
2
  //#region src/builtins/remote-access-orchestrator/enabled-providers-reconcile.ts
3
3
  /**
4
4
  * Reconcile the durable `enabledProviders` set against authoritative
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-XnunBp0n.js");
6
+ const require_dist = require("../../dist-D3zw1yHp.js");
7
7
  const require_snapshot_courtesy = require("../../snapshot-courtesy-Cqs7GkOV.js");
8
8
  let zod = require("zod");
9
9
  let node_crypto = require("node:crypto");
@@ -1,4 +1,4 @@
1
- import { $t as snapshotCapability, Mn as nodePin, U as bareAddonId, W as batteryCapability, a as BatteryStatusSchema, an as streamQualityLabel, et as deriveBatteryPresence, fn as BaseAddon, gn as DeviceFeature, un as errMsg, vn as DeviceType, zn as EventCategory } from "../../dist-DiMNxNDh.mjs";
1
+ import { Bn as EventCategory, Nn as nodePin, U as bareAddonId, W as batteryCapability, _n as DeviceFeature, a as BatteryStatusSchema, dn as errMsg, en as snapshotCapability, et as deriveBatteryPresence, on as streamQualityLabel, pn as BaseAddon, yn as DeviceType } from "../../dist-DU72-y3J.mjs";
2
2
  import { i as renderCourtesyOverlayJpeg, n as courtesyCacheKey, r as renderCourtesyJpeg } from "../../snapshot-courtesy-CZPvteq2.mjs";
3
3
  import { z } from "zod";
4
4
  import { randomUUID } from "node:crypto";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-XnunBp0n.js");
6
+ const require_dist = require("../../dist-D3zw1yHp.js");
7
7
  let node_crypto = require("node:crypto");
8
8
  let node_fs_promises = require("node:fs/promises");
9
9
  let node_path = require("node:path");
@@ -1,4 +1,4 @@
1
- import { dt as filesystemBrowseCapability, fn as BaseAddon, rn as storageProviderCapability } from "../../dist-DiMNxNDh.mjs";
1
+ import { ft as filesystemBrowseCapability, in as storageProviderCapability, pn as BaseAddon } from "../../dist-DU72-y3J.mjs";
2
2
  import { randomUUID } from "node:crypto";
3
3
  import { mkdir, readdir, realpath, statfs } from "node:fs/promises";
4
4
  import * as path$1 from "node:path";
@@ -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-XnunBp0n.js");
6
+ const require_dist = require("../../dist-D3zw1yHp.js");
7
7
  const require_hub_cap_forward = require("../../hub-cap-forward-DmHNjbB0.js");
8
8
  let zod = require("zod");
9
9
  let node_crypto = require("node:crypto");
@@ -1,4 +1,4 @@
1
- import { At as mayReadLocation, Ct as legacyModeOf, F as StorageMigrationJobSchema, Gt as resolveLocationMode, M as StorageCleanupJobSchema, N as StorageLocationModeSchema, Nn as parseJsonObject, Nt as modeMayWrite, P as StorageLocationTypeSchema, Zt as settingsStoreCapability, _t as isLocationEnabled, en as storageCapability, fn as BaseAddon, jt as mayWriteToLocation, ln as withLocationMode, lt as evictionPolicyOfLocation, mt as gbToBytes, q as collectSecretConfigKeys, tn as storageMigrationCapability, v as LegacyStorageLocationDefaultSchema, w as REDACTED_SECRET, zn as EventCategory } from "../../dist-DiMNxNDh.mjs";
1
+ import { Bn as EventCategory, F as StorageMigrationJobSchema, Ft as modeMayWrite, Kt as resolveLocationMode, M as StorageCleanupJobSchema, Mt as mayReadLocation, N as StorageLocationModeSchema, Nt as mayWriteToLocation, P as StorageLocationTypeSchema, Pn as parseJsonObject, Qt as settingsStoreCapability, Tt as legacyModeOf, ht as gbToBytes, lt as evictionPolicyOfLocation, nn as storageMigrationCapability, pn as BaseAddon, q as collectSecretConfigKeys, tn as storageCapability, un as withLocationMode, v as LegacyStorageLocationDefaultSchema, vt as isLocationEnabled, w as REDACTED_SECRET } from "../../dist-DU72-y3J.mjs";
2
2
  import { t as HUB_CAP_FWD_ACTION } from "../../hub-cap-forward-BdT320dq.mjs";
3
3
  import { z } from "zod";
4
4
  import { randomUUID } from "node:crypto";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-XnunBp0n.js");
6
+ const require_dist = require("../../dist-D3zw1yHp.js");
7
7
  //#region src/builtins/system-config/system-config.addon.ts
8
8
  /**
9
9
  * Built-in `system-config` addon — Phase 4 of the settings redesign.
@@ -1,4 +1,4 @@
1
- import { fn as BaseAddon, kn as hydrateSchema, un as errMsg } from "../../dist-DiMNxNDh.mjs";
1
+ import { An as hydrateSchema, dn as errMsg, pn as BaseAddon } from "../../dist-DU72-y3J.mjs";
2
2
  //#region src/builtins/system-config/system-config.addon.ts
3
3
  /**
4
4
  * Built-in `system-config` addon — Phase 4 of the settings redesign.
@@ -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-XnunBp0n.js");
6
+ const require_dist = require("../../dist-D3zw1yHp.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 { Dt as logDestinationCapability, fn as BaseAddon } from "../../dist-DiMNxNDh.mjs";
1
+ import { kt as logDestinationCapability, pn as BaseAddon } from "../../dist-DU72-y3J.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";
@@ -12270,4 +12270,54 @@ async function defaultRun(command, args) {
12270
12270
  await execFileAsync(command, [...args], { timeout: INSTALL_TIMEOUT_MS });
12271
12271
  }
12272
12272
  //#endregion
12273
- export { buildNativeCapProxy as $, strandedMb as $t, createUdsLogger as A, readSocketQueues as An, HEAP_RECLAIM_TRIGGER_MB as At, UDS_NO_ROUTE_PREFIX as B, MAX_CAP_ACTIONS_PER_PEER as Bn, ZERO_LOOP_DELAY as Bt, deviceCapResolverLink as C, EMPTY_SOCKET_PLANE_BASELINE as Cn, resolveNpmInvocation as Ct, createUdsEventBridge as D, createSocketPlaneReader as Dn, createAddonDataPlaneFacility as Dt, createParentUnownedCallHandler as E, createSocketPlaneMeter as En, hostNodeIdOf as Et, callWithServiceDiscovery as F, socketDirectionBytes as Fn, HUB_RSS_BUDGET_ENV as Ft, getCapUsageRegistry as G, createEventPlaneMeter as Gn, describeRss as Gt, CapUsageRegistry as H, createCapActionCensus as Hn, createDeferredHeapWatchSink as Ht, CapRouteError as I, socketDirectionMessages as In, RSS_BUDGET_REANNOUNCE_MIN_MS as It, UdsLocalTransportServer as J, formatEventPlane as Jn, parseRssBudgetMb as Jt, createLocalTransport as K, createEventPlaneReader as Kn, hubMainRssBudget as Kt, classifyCapRoute as L, CAP_ACTION_OVERFLOW_LABEL as Ln, RSS_BUDGET_RELEASE_RATIO as Lt, AGENT_CAP_FWD_ACTION as M, createSocketDirectionCounters as Mn, HEAP_WATCH_WARN_RATIO as Mt, AGENT_CAP_FWD_SERVICE as N, recordSocketFrame as Nn, HUB_MAIN_HEAP_WATCH_LABEL as Nt, createUdsEventBus as O, diffSocketPlane as On, HEAP_RECLAIM_MIN_INTERVAL_MS as Ot, CapRouteResolver as P, sampleSocketDirection as Pn, HUB_MAIN_RSS_BUDGET_MB as Pt, encodeFrame as Q, startRunnerHeapWatch as Qt, LocalChildClient as R, CAP_ACTION_UNLABELLED as Rn, RUNNER_HEAP_WATCH_INTERVAL_MS as Rt, buildLinkChain as S, formatMeshQueue as Sn, buildNpmChildEnv as St, localProviderLink as T, SOCKET_QUEUE_TOP_N as Tn, createAddonPeerBytesFacility as Tt, PARENT_ROUTED_PROVIDER_ADDON_ID as U, diffCapActionCensus as Un, createLoopDelayMeter as Ut, readMoleculerFanoutMode as V, capActionLabel as Vn, buildHeapSample as Vt, __resetCapUsageRegistryForTests as W, EVENT_PLANE_TOP_N as Wn, createV8Reclaimer as Wt, localEndpointPath as X, shouldReclaim as Xt, SocketChannel as Y, reclaimIntervalMs as Yt, FrameDecoder as Z, startHeapWatch as Zt, AddonDepsManager as _, OUTBOUND_QUEUE_THRESHOLD_BYTES as _n, CapabilityHandle as _t, createUdsAddonContext as a, createInspectorArrayBufferCensus as an, setWorkerNativeCapsChangeListener as at, brokerCallForCap as b, MESH_QUEUE_TOP_N as bn, installManifestNativeDeps as bt, getOrInitReadinessRegistryForClient as c, DECISIVE_HEAP_SPACES as cn, NATIVE_PROVIDER_SERVICE_INFIX as ct, clusterEventTopic as d, formatHeapSpaces as dn, capBareAction as dt, ARRAY_BUFFER_CENSUS_COOLDOWN_MS as en, buildUdsNativeCapProxy as et, getBrokerEventBus as f, heapSpaceField as fn, capServiceName as ft, subscribePassthrough as g, OUTBOUND_QUEUE_SUSTAIN_MS as gn, DeviceRegistry as gt, setNodeEventInterest as h, OUTBOUND_QUEUE_COOLDOWN_MS as hn, serializeTypedArrays as ht, createAddonContext as i, createArrayBufferCensusGate as in, mountNativeCapService as it, createUdsLoggerWithControl as j, EMPTY_SOCKET_DIRECTION as jn, HEAP_WATCH_INTERVAL_MS as jt, udsChildLogToWorkerEntry as k, formatSocketPlane as kn, HEAP_RECLAIM_STEADY_STATE_INTERVAL_MS as kt, setHubConnected as l, HEAP_SPACE_REPORT_MIN_MB as ln, capActionName as lt, registerEventBusService as m, selectReportedSpaces as mn, deserializeTypedArrays as mt, installManifestPythonDeps as n, ARRAY_BUFFER_CENSUS_THRESHOLD_MB as nn, getWorkerNativeCapProvider as nt, getWorkerDeviceRegistry as o, formatArrayBufferCensus as on, createAddonService as ot, getMoleculerEventStats as p, readHeapSpaces as pn, parseCapAction as pt, UdsLocalTransportClient as q, diffEventPlane as qn, nextRssBudgetState as qt, adaptBrokerToCluster as r, ARRAY_BUFFER_RELEASE_MIN_DROP_RATIO as rn, getWorkerNativeCapSnapshot as rt, getOrInitReadinessRegistry as s, isArrayBufferCensusReport as sn, validateProviderRegistrations as st, installManifestSystemDeps as t, ARRAY_BUFFER_CENSUS_SUSTAIN_MS as tn, createBrokerDeviceManagerApi as tt, EVENT_TOPIC_PREFIX as u, emitHeapDiagnosticReport as un, capActionSuffix as ut, createKernelHwAccel as v, createOutboundQueueGate as vn, CapabilityUnavailableError as vt, ipcParentLink as w, SOCKET_PLANE_TOP_N as wn, runNpm as wt, brokerTransportLink as x, createMeshQueueReader as xn, resolveAddonClass as xt, resolveHwAccel as y, formatOutboundQueueVerdict as yn, copyBundledNativeModules as yt, LocalChildRegistry as z, EMPTY_CAP_ACTION_READING as zn, RUNNER_RSS_BUDGET_ENV as zt };
12273
+ //#region src/kernel/moleculer/child-cap-dispatch.ts
12274
+ /** Type guard narrowing a dynamically-read provider member to a callable method. */
12275
+ function isCapMethod(value) {
12276
+ return typeof value === "function";
12277
+ }
12278
+ /**
12279
+ * Prefix the hub matches to turn a child-side "declared optional, not served"
12280
+ * into a `NOT_IMPLEMENTED`. A prefix rather than an error subclass because the
12281
+ * error crosses a UDS boundary as a plain message.
12282
+ */
12283
+ var CAP_METHOD_NOT_IMPLEMENTED = "CAP_METHOD_NOT_IMPLEMENTED";
12284
+ /**
12285
+ * Extract a string `addonId` out of arbitrary method args — the fallback
12286
+ * provider-selection hint for calls that arrive WITHOUT the out-of-band
12287
+ * `CapCallMessage.addonId` (e.g. a sibling child's unowned collection call
12288
+ * forwarded by the parent, where the raw input still carries `addonId`).
12289
+ */
12290
+ function extractArgsAddonId(args) {
12291
+ if (args === null || typeof args !== "object") return void 0;
12292
+ const raw = Reflect.get(args, "addonId");
12293
+ return typeof raw === "string" ? raw : void 0;
12294
+ }
12295
+ /**
12296
+ * Creates a unified dispatcher that routes a {@link CapCallInput} to either a
12297
+ * device-scoped or singleton provider, then invokes the requested method.
12298
+ *
12299
+ * Pure module — no Moleculer, no broker, no addon-runner dependency.
12300
+ */
12301
+ function createChildCapDispatch(deps) {
12302
+ return async (call) => {
12303
+ const { capName, method, args, deviceId } = call;
12304
+ const addonId = call.addonId ?? extractArgsAddonId(args);
12305
+ let provider;
12306
+ if (deviceId !== void 0) {
12307
+ provider = deps.getDeviceProvider(capName, deviceId) ?? deps.getSingletonProvider(capName, addonId);
12308
+ if (provider == null) throw new Error(`child-cap-dispatch: no provider for '${capName}' (device '${String(deviceId)}' or singleton)`);
12309
+ } else {
12310
+ provider = deps.getSingletonProvider(capName, addonId);
12311
+ if (provider == null) throw new Error(`child-cap-dispatch: no singleton provider for '${capName}'`);
12312
+ }
12313
+ const fn = Reflect.get(provider, method);
12314
+ if (!isCapMethod(fn)) {
12315
+ if (deps.isCollectionListMethod(capName, method)) return [];
12316
+ if (deps.isProviderOptionalMethod(capName, method)) throw new Error(`${CAP_METHOD_NOT_IMPLEMENTED}: '${capName}.${method}' is declared optional and this provider does not serve it`);
12317
+ throw new Error(`child-cap-dispatch: method '${method}' not found on provider '${capName}'`);
12318
+ }
12319
+ return await fn.call(provider, args);
12320
+ };
12321
+ }
12322
+ //#endregion
12323
+ export { FrameDecoder as $, startHeapWatch as $t, createUdsEventBus as A, diffSocketPlane as An, HEAP_RECLAIM_MIN_INTERVAL_MS as At, LocalChildClient as B, CAP_ACTION_UNLABELLED as Bn, RUNNER_HEAP_WATCH_INTERVAL_MS as Bt, brokerTransportLink as C, createMeshQueueReader as Cn, resolveAddonClass as Ct, localProviderLink as D, SOCKET_QUEUE_TOP_N as Dn, createAddonPeerBytesFacility as Dt, ipcParentLink as E, SOCKET_PLANE_TOP_N as En, runNpm as Et, AGENT_CAP_FWD_SERVICE as F, recordSocketFrame as Fn, HUB_MAIN_HEAP_WATCH_LABEL as Ft, PARENT_ROUTED_PROVIDER_ADDON_ID as G, diffCapActionCensus as Gn, createLoopDelayMeter as Gt, UDS_NO_ROUTE_PREFIX as H, MAX_CAP_ACTIONS_PER_PEER as Hn, ZERO_LOOP_DELAY as Ht, CapRouteResolver as I, sampleSocketDirection as In, HUB_MAIN_RSS_BUDGET_MB as It, createLocalTransport as J, createEventPlaneReader as Jn, hubMainRssBudget as Jt, __resetCapUsageRegistryForTests as K, EVENT_PLANE_TOP_N as Kn, createV8Reclaimer as Kt, callWithServiceDiscovery as L, socketDirectionBytes as Ln, HUB_RSS_BUDGET_ENV as Lt, createUdsLogger as M, readSocketQueues as Mn, HEAP_RECLAIM_TRIGGER_MB as Mt, createUdsLoggerWithControl as N, EMPTY_SOCKET_DIRECTION as Nn, HEAP_WATCH_INTERVAL_MS as Nt, createParentUnownedCallHandler as O, createSocketPlaneMeter as On, hostNodeIdOf as Ot, AGENT_CAP_FWD_ACTION as P, createSocketDirectionCounters as Pn, HEAP_WATCH_WARN_RATIO as Pt, localEndpointPath as Q, shouldReclaim as Qt, CapRouteError as R, socketDirectionMessages as Rn, RSS_BUDGET_REANNOUNCE_MIN_MS as Rt, brokerCallForCap as S, MESH_QUEUE_TOP_N as Sn, installManifestNativeDeps as St, deviceCapResolverLink as T, EMPTY_SOCKET_PLANE_BASELINE as Tn, resolveNpmInvocation as Tt, readMoleculerFanoutMode as U, capActionLabel as Un, buildHeapSample as Ut, LocalChildRegistry as V, EMPTY_CAP_ACTION_READING as Vn, RUNNER_RSS_BUDGET_ENV as Vt, CapUsageRegistry as W, createCapActionCensus as Wn, createDeferredHeapWatchSink as Wt, UdsLocalTransportServer as X, formatEventPlane as Xn, parseRssBudgetMb as Xt, UdsLocalTransportClient as Y, diffEventPlane as Yn, nextRssBudgetState as Yt, SocketChannel as Z, reclaimIntervalMs as Zt, setNodeEventInterest as _, OUTBOUND_QUEUE_COOLDOWN_MS as _n, serializeTypedArrays as _t, adaptBrokerToCluster as a, ARRAY_BUFFER_RELEASE_MIN_DROP_RATIO as an, getWorkerNativeCapSnapshot as at, createKernelHwAccel as b, createOutboundQueueGate as bn, CapabilityUnavailableError as bt, getWorkerDeviceRegistry as c, formatArrayBufferCensus as cn, createAddonService as ct, setHubConnected as d, HEAP_SPACE_REPORT_MIN_MB as dn, capActionName as dt, startRunnerHeapWatch as en, encodeFrame as et, EVENT_TOPIC_PREFIX as f, emitHeapDiagnosticReport as fn, capActionSuffix as ft, registerEventBusService as g, selectReportedSpaces as gn, deserializeTypedArrays as gt, getMoleculerEventStats as h, readHeapSpaces as hn, parseCapAction as ht, installManifestPythonDeps as i, ARRAY_BUFFER_CENSUS_THRESHOLD_MB as in, getWorkerNativeCapProvider as it, udsChildLogToWorkerEntry as j, formatSocketPlane as jn, HEAP_RECLAIM_STEADY_STATE_INTERVAL_MS as jt, createUdsEventBridge as k, createSocketPlaneReader as kn, createAddonDataPlaneFacility as kt, getOrInitReadinessRegistry as l, isArrayBufferCensusReport as ln, validateProviderRegistrations as lt, getBrokerEventBus as m, heapSpaceField as mn, capServiceName as mt, createChildCapDispatch as n, ARRAY_BUFFER_CENSUS_COOLDOWN_MS as nn, buildUdsNativeCapProxy as nt, createAddonContext as o, createArrayBufferCensusGate as on, mountNativeCapService as ot, clusterEventTopic as p, formatHeapSpaces as pn, capBareAction as pt, getCapUsageRegistry as q, createEventPlaneMeter as qn, describeRss as qt, installManifestSystemDeps as r, ARRAY_BUFFER_CENSUS_SUSTAIN_MS as rn, createBrokerDeviceManagerApi as rt, createUdsAddonContext as s, createInspectorArrayBufferCensus as sn, setWorkerNativeCapsChangeListener as st, CAP_METHOD_NOT_IMPLEMENTED as t, strandedMb as tn, buildNativeCapProxy as tt, getOrInitReadinessRegistryForClient as u, DECISIVE_HEAP_SPACES as un, NATIVE_PROVIDER_SERVICE_INFIX as ut, subscribePassthrough as v, OUTBOUND_QUEUE_SUSTAIN_MS as vn, DeviceRegistry as vt, buildLinkChain as w, formatMeshQueue as wn, buildNpmChildEnv as wt, resolveHwAccel as x, formatOutboundQueueVerdict as xn, copyBundledNativeModules as xt, AddonDepsManager as y, OUTBOUND_QUEUE_THRESHOLD_BYTES as yn, CapabilityHandle as yt, classifyCapRoute as z, CAP_ACTION_OVERFLOW_LABEL as zn, RSS_BUDGET_RELEASE_RATIO as zt };
@@ -12273,6 +12273,56 @@ async function defaultRun(command, args) {
12273
12273
  await execFileAsync(command, [...args], { timeout: INSTALL_TIMEOUT_MS });
12274
12274
  }
12275
12275
  //#endregion
12276
+ //#region src/kernel/moleculer/child-cap-dispatch.ts
12277
+ /** Type guard narrowing a dynamically-read provider member to a callable method. */
12278
+ function isCapMethod(value) {
12279
+ return typeof value === "function";
12280
+ }
12281
+ /**
12282
+ * Prefix the hub matches to turn a child-side "declared optional, not served"
12283
+ * into a `NOT_IMPLEMENTED`. A prefix rather than an error subclass because the
12284
+ * error crosses a UDS boundary as a plain message.
12285
+ */
12286
+ var CAP_METHOD_NOT_IMPLEMENTED = "CAP_METHOD_NOT_IMPLEMENTED";
12287
+ /**
12288
+ * Extract a string `addonId` out of arbitrary method args — the fallback
12289
+ * provider-selection hint for calls that arrive WITHOUT the out-of-band
12290
+ * `CapCallMessage.addonId` (e.g. a sibling child's unowned collection call
12291
+ * forwarded by the parent, where the raw input still carries `addonId`).
12292
+ */
12293
+ function extractArgsAddonId(args) {
12294
+ if (args === null || typeof args !== "object") return void 0;
12295
+ const raw = Reflect.get(args, "addonId");
12296
+ return typeof raw === "string" ? raw : void 0;
12297
+ }
12298
+ /**
12299
+ * Creates a unified dispatcher that routes a {@link CapCallInput} to either a
12300
+ * device-scoped or singleton provider, then invokes the requested method.
12301
+ *
12302
+ * Pure module — no Moleculer, no broker, no addon-runner dependency.
12303
+ */
12304
+ function createChildCapDispatch(deps) {
12305
+ return async (call) => {
12306
+ const { capName, method, args, deviceId } = call;
12307
+ const addonId = call.addonId ?? extractArgsAddonId(args);
12308
+ let provider;
12309
+ if (deviceId !== void 0) {
12310
+ provider = deps.getDeviceProvider(capName, deviceId) ?? deps.getSingletonProvider(capName, addonId);
12311
+ if (provider == null) throw new Error(`child-cap-dispatch: no provider for '${capName}' (device '${String(deviceId)}' or singleton)`);
12312
+ } else {
12313
+ provider = deps.getSingletonProvider(capName, addonId);
12314
+ if (provider == null) throw new Error(`child-cap-dispatch: no singleton provider for '${capName}'`);
12315
+ }
12316
+ const fn = Reflect.get(provider, method);
12317
+ if (!isCapMethod(fn)) {
12318
+ if (deps.isCollectionListMethod(capName, method)) return [];
12319
+ if (deps.isProviderOptionalMethod(capName, method)) throw new Error(`${CAP_METHOD_NOT_IMPLEMENTED}: '${capName}.${method}' is declared optional and this provider does not serve it`);
12320
+ throw new Error(`child-cap-dispatch: method '${method}' not found on provider '${capName}'`);
12321
+ }
12322
+ return await fn.call(provider, args);
12323
+ };
12324
+ }
12325
+ //#endregion
12276
12326
  Object.defineProperty(exports, "AGENT_CAP_FWD_ACTION", {
12277
12327
  enumerable: true,
12278
12328
  get: function() {
@@ -12327,6 +12377,12 @@ Object.defineProperty(exports, "CAP_ACTION_UNLABELLED", {
12327
12377
  return CAP_ACTION_UNLABELLED;
12328
12378
  }
12329
12379
  });
12380
+ Object.defineProperty(exports, "CAP_METHOD_NOT_IMPLEMENTED", {
12381
+ enumerable: true,
12382
+ get: function() {
12383
+ return CAP_METHOD_NOT_IMPLEMENTED;
12384
+ }
12385
+ });
12330
12386
  Object.defineProperty(exports, "CapRouteError", {
12331
12387
  enumerable: true,
12332
12388
  get: function() {
@@ -12729,6 +12785,12 @@ Object.defineProperty(exports, "createCapActionCensus", {
12729
12785
  return createCapActionCensus;
12730
12786
  }
12731
12787
  });
12788
+ Object.defineProperty(exports, "createChildCapDispatch", {
12789
+ enumerable: true,
12790
+ get: function() {
12791
+ return createChildCapDispatch;
12792
+ }
12793
+ });
12732
12794
  Object.defineProperty(exports, "createDeferredHeapWatchSink", {
12733
12795
  enumerable: true,
12734
12796
  get: function() {