@camstack/system 1.2.75 → 1.2.77

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 (50) hide show
  1. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
  2. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
  3. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
  4. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
  5. package/dist/builtins/alerts/alerts.addon.js +1 -1
  6. package/dist/builtins/alerts/alerts.addon.mjs +1 -1
  7. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +1 -1
  8. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +1 -1
  9. package/dist/builtins/console-logging/index.js +1 -1
  10. package/dist/builtins/console-logging/index.mjs +1 -1
  11. package/dist/builtins/core-blocks/core-blocks.addon.js +1 -1
  12. package/dist/builtins/core-blocks/core-blocks.addon.mjs +1 -1
  13. package/dist/builtins/device-manager/device-manager.addon.js +1 -1
  14. package/dist/builtins/device-manager/device-manager.addon.mjs +1 -1
  15. package/dist/builtins/doorbell/virtual-doorbell.addon.js +1 -1
  16. package/dist/builtins/doorbell/virtual-doorbell.addon.mjs +1 -1
  17. package/dist/builtins/hub-forwarder/index.js +1 -1
  18. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  19. package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
  20. package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
  21. package/dist/builtins/local-auth/local-auth.addon.js +1 -1
  22. package/dist/builtins/local-auth/local-auth.addon.mjs +1 -1
  23. package/dist/builtins/local-network/local-network.addon.js +1 -1
  24. package/dist/builtins/local-network/local-network.addon.mjs +1 -1
  25. package/dist/builtins/loki-logging/index.js +1 -1
  26. package/dist/builtins/loki-logging/index.mjs +1 -1
  27. package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
  28. package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
  29. package/dist/builtins/platform-probe/index.js +1 -1
  30. package/dist/builtins/platform-probe/index.mjs +1 -1
  31. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  32. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  33. package/dist/builtins/snapshot/index.js +1 -1
  34. package/dist/builtins/snapshot/index.mjs +1 -1
  35. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  36. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
  37. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +1 -1
  38. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +1 -1
  39. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
  40. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
  41. package/dist/builtins/system-config/system-config.addon.js +1 -1
  42. package/dist/builtins/system-config/system-config.addon.mjs +1 -1
  43. package/dist/builtins/winston-logging/index.js +1 -1
  44. package/dist/builtins/winston-logging/index.mjs +1 -1
  45. package/dist/{dist-I0WgqQQ-.js → dist-DWZce90k.js} +104 -7
  46. package/dist/{dist-Daxx9CB0.mjs → dist-eBPa-ZBZ.mjs} +104 -7
  47. package/dist/http/reverse-proxy.d.ts +5 -0
  48. package/dist/index.js +13 -5
  49. package/dist/index.mjs +13 -5
  50. package/package.json +1 -1
@@ -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-I0WgqQQ-.js");
6
+ const require_dist = require("../../dist-DWZce90k.js");
7
7
  const require_settle_sources = require("../../settle-sources-Bhsy57y-.js");
8
8
  let node_crypto = require("node:crypto");
9
9
  let node_path = require("node:path");
@@ -1,4 +1,4 @@
1
- import { Bt as EventCategory, _ as addonPagesCapability, mt as BaseAddon, pt as errMsg } from "../../dist-Daxx9CB0.mjs";
1
+ import { Bt as EventCategory, _ as addonPagesCapability, mt as BaseAddon, pt as errMsg } from "../../dist-eBPa-ZBZ.mjs";
2
2
  import { t as settleSourcesWithTimeout } from "../../settle-sources-CDtNC8ub.mjs";
3
3
  import { createHash, randomUUID } from "node:crypto";
4
4
  import * as path$1 from "node:path";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-I0WgqQQ-.js");
6
+ const require_dist = require("../../dist-DWZce90k.js");
7
7
  const require_settle_sources = require("../../settle-sources-Bhsy57y-.js");
8
8
  let node_crypto = require("node:crypto");
9
9
  let node_path = require("node:path");
@@ -1,4 +1,4 @@
1
- import { Bt as EventCategory, mt as BaseAddon, pt as errMsg, y as addonWidgetsCapability } from "../../dist-Daxx9CB0.mjs";
1
+ import { Bt as EventCategory, mt as BaseAddon, pt as errMsg, y as addonWidgetsCapability } from "../../dist-eBPa-ZBZ.mjs";
2
2
  import { t as settleSourcesWithTimeout } from "../../settle-sources-CDtNC8ub.mjs";
3
3
  import { createHash, randomUUID } from "node:crypto";
4
4
  import * as path$1 from "node:path";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-I0WgqQQ-.js");
6
+ const require_dist = require("../../dist-DWZce90k.js");
7
7
  //#region src/builtins/alerts/prune-policy.ts
8
8
  /**
9
9
  * Ids older than `cutoffMs`, oldest first.
@@ -1,4 +1,4 @@
1
- import { Bt as EventCategory, Dt as createEvent, b as alertsCapability, mt as BaseAddon, n as AlertSchema, pt as errMsg } from "../../dist-Daxx9CB0.mjs";
1
+ import { Bt as EventCategory, Dt as createEvent, b as alertsCapability, mt as BaseAddon, n as AlertSchema, pt as errMsg } from "../../dist-eBPa-ZBZ.mjs";
2
2
  //#region src/builtins/alerts/prune-policy.ts
3
3
  /**
4
4
  * Ids older than `cutoffMs`, oldest first.
@@ -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-I0WgqQQ-.js");
6
+ const require_dist = require("../../dist-DWZce90k.js");
7
7
  let node_crypto = require("node:crypto");
8
8
  let buffer = require("buffer");
9
9
  let node_fs_promises = require("node:fs/promises");
@@ -1,4 +1,4 @@
1
- import { Bt as EventCategory, S as backupCapability, mt as BaseAddon } from "../../dist-Daxx9CB0.mjs";
1
+ import { Bt as EventCategory, S as backupCapability, mt as BaseAddon } from "../../dist-eBPa-ZBZ.mjs";
2
2
  import { randomBytes, randomUUID } from "node:crypto";
3
3
  import { Buffer as Buffer$1 } from "buffer";
4
4
  import * as fsp from "node:fs/promises";
@@ -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-I0WgqQQ-.js");
6
+ const require_dist = require("../../dist-DWZce90k.js");
7
7
  const require_formatter = require("../../formatter-DqAKDlvN.js");
8
8
  //#region src/builtins/console-logging/console-destination.ts
9
9
  var LEVEL_RANK = {
@@ -1,4 +1,4 @@
1
- import { mt as BaseAddon, q as logDestinationCapability } from "../../dist-Daxx9CB0.mjs";
1
+ import { mt as BaseAddon, q as logDestinationCapability } from "../../dist-eBPa-ZBZ.mjs";
2
2
  import { t as formatLogLine } from "../../formatter-B7qW8bPJ.mjs";
3
3
  //#region src/builtins/console-logging/console-destination.ts
4
4
  var LEVEL_RANK = {
@@ -1,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-I0WgqQQ-.js");
3
+ const require_dist = require("../../dist-DWZce90k.js");
4
4
  let node_crypto = require("node:crypto");
5
5
  let node_fs_promises = require("node:fs/promises");
6
6
  node_fs_promises = require_chunk.__toESM(node_fs_promises);
@@ -1,4 +1,4 @@
1
- import { D as coreBlocksCapability, E as coreBlockIdFromAddonId, T as coreBlockAddonId, c as CoreBlockSchema, l as DeclaredDevices, mt as BaseAddon, o as CORE_BLOCKS_ADDON_ID, s as CORE_BLOCK_ADDON_PREFIX } from "../../dist-Daxx9CB0.mjs";
1
+ import { D as coreBlocksCapability, E as coreBlockIdFromAddonId, T as coreBlockAddonId, c as CoreBlockSchema, l as DeclaredDevices, mt as BaseAddon, o as CORE_BLOCKS_ADDON_ID, s as CORE_BLOCK_ADDON_PREFIX } from "../../dist-eBPa-ZBZ.mjs";
2
2
  import { randomUUID } from "node:crypto";
3
3
  import * as fs 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
  require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-I0WgqQQ-.js");
6
+ const require_dist = require("../../dist-DWZce90k.js");
7
7
  let node_crypto = require("node:crypto");
8
8
  let _camstack_types_node = require("@camstack/types/node");
9
9
  //#region src/builtins/device-manager/adoption-job-engine.ts
@@ -1,4 +1,4 @@
1
- import { $ as parseStreamParamsFormPatch, A as deviceManagerCapability, Bt as EventCategory, Ct as WELL_KNOWN_TAB_MAP, F as enumerateItemArrayFields, I as enumerateSchemaFields, M as deviceStatusCapability, Mt as isDeviceConfigCap, Z as normalizeUnit, a as CAP_NAMES_WITH_STATUS, bt as DeviceType, j as deviceStateCapability, mt as BaseAddon, p as STREAM_PROFILE_META, pt as errMsg, t as ALL_CAPABILITY_DEFINITIONS, u as DeviceStatusSchema, vt as DeviceFeature, w as buildStreamParamsConfigSchema, yt as DeviceRole, zt as sleep } from "../../dist-Daxx9CB0.mjs";
1
+ import { $ as parseStreamParamsFormPatch, A as deviceManagerCapability, Bt as EventCategory, Ct as WELL_KNOWN_TAB_MAP, F as enumerateItemArrayFields, I as enumerateSchemaFields, M as deviceStatusCapability, Mt as isDeviceConfigCap, Z as normalizeUnit, a as CAP_NAMES_WITH_STATUS, bt as DeviceType, j as deviceStateCapability, mt as BaseAddon, p as STREAM_PROFILE_META, pt as errMsg, t as ALL_CAPABILITY_DEFINITIONS, u as DeviceStatusSchema, vt as DeviceFeature, w as buildStreamParamsConfigSchema, yt as DeviceRole, zt as sleep } from "../../dist-eBPa-ZBZ.mjs";
2
2
  import { randomUUID } from "node:crypto";
3
3
  import { canonicalDeviceFingerprint } from "@camstack/types/node";
4
4
  //#region src/builtins/device-manager/adoption-job-engine.ts
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-I0WgqQQ-.js");
6
+ const require_dist = require("../../dist-DWZce90k.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 { Bt as EventCategory, C as bareAddonId, Dt as createEvent, H as isSameAddonId, N as doorbellCapability, bt as DeviceType, mt as BaseAddon, pt as errMsg } from "../../dist-Daxx9CB0.mjs";
1
+ import { Bt as EventCategory, C as bareAddonId, Dt as createEvent, H as isSameAddonId, N as doorbellCapability, bt as DeviceType, mt as BaseAddon, pt as errMsg } from "../../dist-eBPa-ZBZ.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-I0WgqQQ-.js");
6
+ const require_dist = require("../../dist-DWZce90k.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 { mt as BaseAddon, q as logDestinationCapability } from "../../dist-Daxx9CB0.mjs";
1
+ import { mt as BaseAddon, q as logDestinationCapability } from "../../dist-eBPa-ZBZ.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-I0WgqQQ-.js");
3
+ const require_dist = require("../../dist-DWZce90k.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 { Bt as EventCategory, Dt as createEvent, mt as BaseAddon, pt as errMsg } from "../../dist-Daxx9CB0.mjs";
1
+ import { Bt as EventCategory, Dt as createEvent, mt as BaseAddon, pt as errMsg } from "../../dist-eBPa-ZBZ.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-I0WgqQQ-.js");
6
+ const require_dist = require("../../dist-DWZce90k.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 { g as UserRecordSchema, m as ScopedTokenSchema, mt as BaseAddon, r as ApiKeyRecordSchema, ut as userManagementCapability, x as authProviderCapability } from "../../dist-Daxx9CB0.mjs";
2
+ import { g as UserRecordSchema, m as ScopedTokenSchema, mt as BaseAddon, r as ApiKeyRecordSchema, ut as userManagementCapability, x as authProviderCapability } from "../../dist-eBPa-ZBZ.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-I0WgqQQ-.js");
3
+ const require_dist = require("../../dist-DWZce90k.js");
4
4
  let node_os = require("node:os");
5
5
  node_os = require_chunk.__toESM(node_os);
6
6
  //#region src/builtins/local-network/local-network.addon.ts
@@ -1,4 +1,4 @@
1
- import { Bt as EventCategory, K as localNetworkCapability, mt as BaseAddon } from "../../dist-Daxx9CB0.mjs";
1
+ import { Bt as EventCategory, K as localNetworkCapability, mt as BaseAddon } from "../../dist-eBPa-ZBZ.mjs";
2
2
  import * as os from "node:os";
3
3
  //#region src/builtins/local-network/local-network.addon.ts
4
4
  /**
@@ -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-I0WgqQQ-.js");
6
+ const require_dist = require("../../dist-DWZce90k.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 { mt as BaseAddon, q as logDestinationCapability } from "../../dist-Daxx9CB0.mjs";
1
+ import { mt as BaseAddon, q as logDestinationCapability } from "../../dist-eBPa-ZBZ.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-I0WgqQQ-.js");
6
+ const require_dist = require("../../dist-DWZce90k.js");
7
7
  let node_child_process = require("node:child_process");
8
8
  let node_util = require("node:util");
9
9
  let node_os = require("node:os");
@@ -1,4 +1,4 @@
1
- import { Bt as EventCategory, Dt as createEvent, X as metricsProviderCapability, mt as BaseAddon } from "../../dist-Daxx9CB0.mjs";
1
+ import { Bt as EventCategory, Dt as createEvent, X as metricsProviderCapability, mt as BaseAddon } from "../../dist-eBPa-ZBZ.mjs";
2
2
  import { execFile, execFileSync } from "node:child_process";
3
3
  import { promisify } from "node:util";
4
4
  import * as os from "node:os";
@@ -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-I0WgqQQ-.js");
6
+ const require_dist = require("../../dist-DWZce90k.js");
7
7
  let node_child_process = require("node:child_process");
8
8
  let node_util = require("node:util");
9
9
  let node_os = require("node:os");
@@ -1,5 +1,5 @@
1
1
  import { o as __toESM } from "../../chunk-CNf5ZN-e.mjs";
2
- import { Bt as EventCategory, P as enumerateInferenceDevices, et as platformProbeCapability, it as scoreRuntimes, kt as emitReadiness, mt as BaseAddon, pt as errMsg } from "../../dist-Daxx9CB0.mjs";
2
+ import { Bt as EventCategory, P as enumerateInferenceDevices, et as platformProbeCapability, it as scoreRuntimes, kt as emitReadiness, mt as BaseAddon, pt as errMsg } from "../../dist-eBPa-ZBZ.mjs";
3
3
  import { execFile } from "node:child_process";
4
4
  import { promisify } from "node:util";
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-I0WgqQQ-.js");
6
+ const require_dist = require("../../dist-DWZce90k.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 { Bt as EventCategory, mt as BaseAddon } from "../../dist-Daxx9CB0.mjs";
1
+ import { Bt as EventCategory, mt as BaseAddon } from "../../dist-eBPa-ZBZ.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
  require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-I0WgqQQ-.js");
6
+ const require_dist = require("../../dist-DWZce90k.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");
@@ -1,4 +1,4 @@
1
- import { C as bareAddonId, Nt as nodePin, bt as DeviceType, i as BatteryStatusSchema, lt as streamQualityLabel, mt as BaseAddon, ot as snapshotCapability, pt as errMsg, vt as DeviceFeature } from "../../dist-Daxx9CB0.mjs";
1
+ import { C as bareAddonId, Nt as nodePin, bt as DeviceType, i as BatteryStatusSchema, lt as streamQualityLabel, mt as BaseAddon, ot as snapshotCapability, pt as errMsg, vt as DeviceFeature } from "../../dist-eBPa-ZBZ.mjs";
2
2
  import { z } from "zod";
3
3
  import { randomUUID } from "node:crypto";
4
4
  import { signExpiringUrl, verifyExpiringUrl } from "@camstack/types/node";
@@ -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-I0WgqQQ-.js");
6
+ const require_dist = require("../../dist-DWZce90k.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 { R as filesystemBrowseCapability, ct as storageProviderCapability, mt as BaseAddon } from "../../dist-Daxx9CB0.mjs";
1
+ import { R as filesystemBrowseCapability, ct as storageProviderCapability, mt as BaseAddon } from "../../dist-eBPa-ZBZ.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-I0WgqQQ-.js");
6
+ const require_dist = require("../../dist-DWZce90k.js");
7
7
  let node_crypto = require("node:crypto");
8
8
  let node_fs = require("node:fs");
9
9
  let node_module = require("node:module");
@@ -1,4 +1,4 @@
1
- import { C as bareAddonId, Ft as parseJsonUnknown, O as dataStoreProviderCapability, dt as vectorDimFromBase64, f as RUNTIME_DEFAULTS, ft as vectorStoreCapability, k as decodeVectorBase64, mt as BaseAddon, pt as errMsg, wt as asJsonObject } from "../../dist-Daxx9CB0.mjs";
1
+ import { C as bareAddonId, Ft as parseJsonUnknown, O as dataStoreProviderCapability, dt as vectorDimFromBase64, f as RUNTIME_DEFAULTS, ft as vectorStoreCapability, k as decodeVectorBase64, mt as BaseAddon, pt as errMsg, wt as asJsonObject } from "../../dist-eBPa-ZBZ.mjs";
2
2
  import { createRequire } from "node:module";
3
3
  import { randomUUID } from "node:crypto";
4
4
  import { statSync } 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-I0WgqQQ-.js");
6
+ const require_dist = require("../../dist-DWZce90k.js");
7
7
  let node_fs_promises = require("node:fs/promises");
8
8
  node_fs_promises = require_chunk.__toESM(node_fs_promises);
9
9
  let node_path = require("node:path");
@@ -1,4 +1,4 @@
1
- import { Pt as parseJsonObject, at as settingsStoreCapability, h as StorageLocationTypeSchema, mt as BaseAddon, st as storageCapability } from "../../dist-Daxx9CB0.mjs";
1
+ import { Pt as parseJsonObject, at as settingsStoreCapability, h as StorageLocationTypeSchema, mt as BaseAddon, st as storageCapability } from "../../dist-eBPa-ZBZ.mjs";
2
2
  import * as fs from "node:fs/promises";
3
3
  import * as path$1 from "node:path";
4
4
  import { buildStorageLocationRegistry } from "@camstack/system";
@@ -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-I0WgqQQ-.js");
6
+ const require_dist = require("../../dist-DWZce90k.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 { jt as hydrateSchema, mt as BaseAddon, pt as errMsg } from "../../dist-Daxx9CB0.mjs";
1
+ import { jt as hydrateSchema, mt as BaseAddon, pt as errMsg } from "../../dist-eBPa-ZBZ.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-I0WgqQQ-.js");
6
+ const require_dist = require("../../dist-DWZce90k.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 { mt as BaseAddon, q as logDestinationCapability } from "../../dist-Daxx9CB0.mjs";
1
+ import { mt as BaseAddon, q as logDestinationCapability } from "../../dist-eBPa-ZBZ.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,5 +1,5 @@
1
1
  let zod = require("zod");
2
- //#region ../types/dist/event-category-41fKf-q9.mjs
2
+ //#region ../types/dist/event-category-Cv9dO26A.mjs
3
3
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
4
4
  EventCategory["SystemBoot"] = "system.boot";
5
5
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -15,6 +15,13 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
15
15
  */
16
16
  EventCategory["SystemRestartCompleted"] = "system.restart-completed";
17
17
  /**
18
+ * A newer addon or server-root package version was found by the
19
+ * authoritative registry check. Emitted once per
20
+ * `(target, packageName, currentVersion, latestVersion)` transition; repeated
21
+ * polling of the same result is deduplicated by the checker.
22
+ */
23
+ EventCategory["UpdateAvailable"] = "update.available";
24
+ /**
18
25
  * Readiness transition for a capability provider. Every producer emits
19
26
  * this event on `onInitialize` completion, `onDestroy`, and
20
27
  * `$node.reconnect`; every consumer that needs to gate on a cross-process
@@ -11933,8 +11940,35 @@ var NcDeliverySchema = zod.z.enum([
11933
11940
  "immediate",
11934
11941
  "track-end",
11935
11942
  "device-event",
11936
- "package-event"
11943
+ "package-event",
11944
+ "system-event"
11937
11945
  ]);
11946
+ /**
11947
+ * Stable Notification Center vocabulary over infrastructure/liveness events.
11948
+ * Bus categories are normalized into these intent-level kinds so rules do not
11949
+ * depend on a provider's raw event name or payload shape.
11950
+ */
11951
+ var NcSystemEventKindSchema = zod.z.enum([
11952
+ "camera-online",
11953
+ "camera-offline",
11954
+ "stream-online",
11955
+ "stream-offline",
11956
+ "node-online",
11957
+ "node-offline",
11958
+ "addon-update-available",
11959
+ "server-update-available"
11960
+ ]);
11961
+ /**
11962
+ * One coherent system-event condition. `kinds` is the required opt-in safety
11963
+ * gate; the remaining lists are optional narrowing filters relevant to the
11964
+ * selected kinds.
11965
+ */
11966
+ var NcSystemEventConditionSchema = zod.z.object({
11967
+ kinds: zod.z.array(NcSystemEventKindSchema).min(1),
11968
+ deviceIds: zod.z.array(zod.z.number().int()).min(1).optional(),
11969
+ nodeIds: zod.z.array(zod.z.string().min(1)).min(1).optional(),
11970
+ packageNames: zod.z.array(zod.z.string().min(1)).min(1).optional()
11971
+ });
11938
11972
  /** One weekly activation window. `startMinute > endMinute` crosses midnight. */
11939
11973
  var NcScheduleWindowSchema = zod.z.object({
11940
11974
  /** Days of week the window STARTS on (0 = Sunday … 6 = Saturday). */
@@ -12252,6 +12286,8 @@ var NcConditionsSchema = zod.z.object({
12252
12286
  "picked-up",
12253
12287
  "both"
12254
12288
  ]).optional(),
12289
+ /** Infrastructure/liveness/update event matcher (`system-event` delivery). */
12290
+ systemEvent: NcSystemEventConditionSchema.optional(),
12255
12291
  /**
12256
12292
  * PERSONAL-RULE custom zones (viewer-drawn). Inline normalized polygons
12257
12293
  * (MaskShape vocabulary). A record passes when its bbox overlaps ANY
@@ -12471,7 +12507,8 @@ var NcTestResultSchema = zod.z.object({
12471
12507
  "object-event",
12472
12508
  "track",
12473
12509
  "device-event",
12474
- "package-event"
12510
+ "package-event",
12511
+ "system-event"
12475
12512
  ]),
12476
12513
  deviceId: zod.z.number(),
12477
12514
  timestamp: zod.z.number(),
@@ -12493,7 +12530,8 @@ var NcConditionDescriptorSchema = zod.z.object({
12493
12530
  "schedule",
12494
12531
  "device",
12495
12532
  "package",
12496
- "occupancy"
12533
+ "occupancy",
12534
+ "system"
12497
12535
  ]),
12498
12536
  label: zod.z.string(),
12499
12537
  /** Editor widget the UI renders — never hardcode per-condition forms. */
@@ -12511,7 +12549,8 @@ var NcConditionDescriptorSchema = zod.z.object({
12511
12549
  "crossingSelect",
12512
12550
  "polygonDraw",
12513
12551
  "occupancy",
12514
- "deviceState"
12552
+ "deviceState",
12553
+ "systemEvent"
12515
12554
  ]),
12516
12555
  operator: zod.z.enum([
12517
12556
  "in",
@@ -12570,7 +12609,8 @@ var NcHistoryRecordKindSchema = zod.z.enum([
12570
12609
  "object-event",
12571
12610
  "track-end",
12572
12611
  "device-event",
12573
- "package-event"
12612
+ "package-event",
12613
+ "system-event"
12574
12614
  ]);
12575
12615
  /** Subject summary frozen on the row at fire time (survives rule/record edits). */
12576
12616
  var NcHistorySubjectSchema = zod.z.object({
@@ -12578,7 +12618,14 @@ var NcHistorySubjectSchema = zod.z.object({
12578
12618
  label: zod.z.string().optional(),
12579
12619
  confidence: zod.z.number().optional(),
12580
12620
  zones: zod.z.array(zod.z.string()),
12581
- timestamp: zod.z.number()
12621
+ timestamp: zod.z.number(),
12622
+ systemEvent: zod.z.object({
12623
+ kind: NcSystemEventKindSchema,
12624
+ subject: zod.z.string(),
12625
+ title: zod.z.string(),
12626
+ body: zod.z.string(),
12627
+ data: zod.z.record(zod.z.string(), zod.z.unknown())
12628
+ }).optional()
12582
12629
  });
12583
12630
  /**
12584
12631
  * One delivery-history row. This is a read-only VIEW over the durable
@@ -17808,6 +17855,22 @@ var TerminalProfileInfoSchema = zod.z.object({
17808
17855
  label: zod.z.string(),
17809
17856
  description: zod.z.string().optional()
17810
17857
  });
17858
+ var TerminalOutputEventSchema = zod.z.discriminatedUnion("kind", [zod.z.object({
17859
+ seq: zod.z.number().int().positive(),
17860
+ kind: zod.z.literal("data"),
17861
+ data: zod.z.string()
17862
+ }), zod.z.object({
17863
+ seq: zod.z.number().int().positive(),
17864
+ kind: zod.z.literal("exit"),
17865
+ exitCode: zod.z.number().int(),
17866
+ signal: zod.z.number().int().optional()
17867
+ })]);
17868
+ var TerminalOutputBatchSchema = zod.z.object({
17869
+ cursor: zod.z.number().int().nonnegative(),
17870
+ reset: zod.z.boolean(),
17871
+ snapshot: zod.z.string().optional(),
17872
+ events: zod.z.array(TerminalOutputEventSchema).readonly()
17873
+ });
17811
17874
  /**
17812
17875
  * terminal-session — singleton system capability for interactive TTY sessions.
17813
17876
  *
@@ -17846,6 +17909,28 @@ var terminalSessionCapability = {
17846
17909
  kind: "mutation",
17847
17910
  auth: "admin"
17848
17911
  }),
17912
+ /**
17913
+ * Pull ordered output after a cursor. This capability transport is what
17914
+ * makes remote-agent terminals possible; `reset + snapshot` repairs a
17915
+ * caller that fell behind the bounded replay window.
17916
+ */
17917
+ pullOutput: method(zod.z.object({
17918
+ sessionId: zod.z.string(),
17919
+ afterSeq: zod.z.number().int().nonnegative(),
17920
+ waitMs: zod.z.number().int().min(0).max(2e3).default(0)
17921
+ }), TerminalOutputBatchSchema, {
17922
+ kind: "mutation",
17923
+ auth: "admin",
17924
+ timeoutMs: 15e3
17925
+ }),
17926
+ /** Write terminal input through the node-routable capability plane. */
17927
+ writeInput: method(zod.z.object({
17928
+ sessionId: zod.z.string(),
17929
+ data: zod.z.string().max(64 * 1024)
17930
+ }), zod.z.void(), {
17931
+ kind: "mutation",
17932
+ auth: "admin"
17933
+ }),
17849
17934
  /** Terminate a live session and release its pty. */
17850
17935
  close: method(zod.z.object({ sessionId: zod.z.string() }), zod.z.void(), {
17851
17936
  kind: "mutation",
@@ -32441,12 +32526,24 @@ var METHOD_ACCESS_MAP = Object.freeze({
32441
32526
  addonId: null,
32442
32527
  access: "create"
32443
32528
  },
32529
+ "terminalSession.pullOutput": {
32530
+ capName: "terminal-session",
32531
+ capScope: "system",
32532
+ addonId: null,
32533
+ access: "create"
32534
+ },
32444
32535
  "terminalSession.resize": {
32445
32536
  capName: "terminal-session",
32446
32537
  capScope: "system",
32447
32538
  addonId: null,
32448
32539
  access: "create"
32449
32540
  },
32541
+ "terminalSession.writeInput": {
32542
+ capName: "terminal-session",
32543
+ capScope: "system",
32544
+ addonId: null,
32545
+ access: "create"
32546
+ },
32450
32547
  "toast.onToast": {
32451
32548
  capName: "toast",
32452
32549
  capScope: "system",
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- //#region ../types/dist/event-category-41fKf-q9.mjs
2
+ //#region ../types/dist/event-category-Cv9dO26A.mjs
3
3
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
4
4
  EventCategory["SystemBoot"] = "system.boot";
5
5
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -15,6 +15,13 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
15
15
  */
16
16
  EventCategory["SystemRestartCompleted"] = "system.restart-completed";
17
17
  /**
18
+ * A newer addon or server-root package version was found by the
19
+ * authoritative registry check. Emitted once per
20
+ * `(target, packageName, currentVersion, latestVersion)` transition; repeated
21
+ * polling of the same result is deduplicated by the checker.
22
+ */
23
+ EventCategory["UpdateAvailable"] = "update.available";
24
+ /**
18
25
  * Readiness transition for a capability provider. Every producer emits
19
26
  * this event on `onInitialize` completion, `onDestroy`, and
20
27
  * `$node.reconnect`; every consumer that needs to gate on a cross-process
@@ -11933,8 +11940,35 @@ var NcDeliverySchema = z.enum([
11933
11940
  "immediate",
11934
11941
  "track-end",
11935
11942
  "device-event",
11936
- "package-event"
11943
+ "package-event",
11944
+ "system-event"
11937
11945
  ]);
11946
+ /**
11947
+ * Stable Notification Center vocabulary over infrastructure/liveness events.
11948
+ * Bus categories are normalized into these intent-level kinds so rules do not
11949
+ * depend on a provider's raw event name or payload shape.
11950
+ */
11951
+ var NcSystemEventKindSchema = z.enum([
11952
+ "camera-online",
11953
+ "camera-offline",
11954
+ "stream-online",
11955
+ "stream-offline",
11956
+ "node-online",
11957
+ "node-offline",
11958
+ "addon-update-available",
11959
+ "server-update-available"
11960
+ ]);
11961
+ /**
11962
+ * One coherent system-event condition. `kinds` is the required opt-in safety
11963
+ * gate; the remaining lists are optional narrowing filters relevant to the
11964
+ * selected kinds.
11965
+ */
11966
+ var NcSystemEventConditionSchema = z.object({
11967
+ kinds: z.array(NcSystemEventKindSchema).min(1),
11968
+ deviceIds: z.array(z.number().int()).min(1).optional(),
11969
+ nodeIds: z.array(z.string().min(1)).min(1).optional(),
11970
+ packageNames: z.array(z.string().min(1)).min(1).optional()
11971
+ });
11938
11972
  /** One weekly activation window. `startMinute > endMinute` crosses midnight. */
11939
11973
  var NcScheduleWindowSchema = z.object({
11940
11974
  /** Days of week the window STARTS on (0 = Sunday … 6 = Saturday). */
@@ -12252,6 +12286,8 @@ var NcConditionsSchema = z.object({
12252
12286
  "picked-up",
12253
12287
  "both"
12254
12288
  ]).optional(),
12289
+ /** Infrastructure/liveness/update event matcher (`system-event` delivery). */
12290
+ systemEvent: NcSystemEventConditionSchema.optional(),
12255
12291
  /**
12256
12292
  * PERSONAL-RULE custom zones (viewer-drawn). Inline normalized polygons
12257
12293
  * (MaskShape vocabulary). A record passes when its bbox overlaps ANY
@@ -12471,7 +12507,8 @@ var NcTestResultSchema = z.object({
12471
12507
  "object-event",
12472
12508
  "track",
12473
12509
  "device-event",
12474
- "package-event"
12510
+ "package-event",
12511
+ "system-event"
12475
12512
  ]),
12476
12513
  deviceId: z.number(),
12477
12514
  timestamp: z.number(),
@@ -12493,7 +12530,8 @@ var NcConditionDescriptorSchema = z.object({
12493
12530
  "schedule",
12494
12531
  "device",
12495
12532
  "package",
12496
- "occupancy"
12533
+ "occupancy",
12534
+ "system"
12497
12535
  ]),
12498
12536
  label: z.string(),
12499
12537
  /** Editor widget the UI renders — never hardcode per-condition forms. */
@@ -12511,7 +12549,8 @@ var NcConditionDescriptorSchema = z.object({
12511
12549
  "crossingSelect",
12512
12550
  "polygonDraw",
12513
12551
  "occupancy",
12514
- "deviceState"
12552
+ "deviceState",
12553
+ "systemEvent"
12515
12554
  ]),
12516
12555
  operator: z.enum([
12517
12556
  "in",
@@ -12570,7 +12609,8 @@ var NcHistoryRecordKindSchema = z.enum([
12570
12609
  "object-event",
12571
12610
  "track-end",
12572
12611
  "device-event",
12573
- "package-event"
12612
+ "package-event",
12613
+ "system-event"
12574
12614
  ]);
12575
12615
  /** Subject summary frozen on the row at fire time (survives rule/record edits). */
12576
12616
  var NcHistorySubjectSchema = z.object({
@@ -12578,7 +12618,14 @@ var NcHistorySubjectSchema = z.object({
12578
12618
  label: z.string().optional(),
12579
12619
  confidence: z.number().optional(),
12580
12620
  zones: z.array(z.string()),
12581
- timestamp: z.number()
12621
+ timestamp: z.number(),
12622
+ systemEvent: z.object({
12623
+ kind: NcSystemEventKindSchema,
12624
+ subject: z.string(),
12625
+ title: z.string(),
12626
+ body: z.string(),
12627
+ data: z.record(z.string(), z.unknown())
12628
+ }).optional()
12582
12629
  });
12583
12630
  /**
12584
12631
  * One delivery-history row. This is a read-only VIEW over the durable
@@ -17808,6 +17855,22 @@ var TerminalProfileInfoSchema = z.object({
17808
17855
  label: z.string(),
17809
17856
  description: z.string().optional()
17810
17857
  });
17858
+ var TerminalOutputEventSchema = z.discriminatedUnion("kind", [z.object({
17859
+ seq: z.number().int().positive(),
17860
+ kind: z.literal("data"),
17861
+ data: z.string()
17862
+ }), z.object({
17863
+ seq: z.number().int().positive(),
17864
+ kind: z.literal("exit"),
17865
+ exitCode: z.number().int(),
17866
+ signal: z.number().int().optional()
17867
+ })]);
17868
+ var TerminalOutputBatchSchema = z.object({
17869
+ cursor: z.number().int().nonnegative(),
17870
+ reset: z.boolean(),
17871
+ snapshot: z.string().optional(),
17872
+ events: z.array(TerminalOutputEventSchema).readonly()
17873
+ });
17811
17874
  /**
17812
17875
  * terminal-session — singleton system capability for interactive TTY sessions.
17813
17876
  *
@@ -17846,6 +17909,28 @@ var terminalSessionCapability = {
17846
17909
  kind: "mutation",
17847
17910
  auth: "admin"
17848
17911
  }),
17912
+ /**
17913
+ * Pull ordered output after a cursor. This capability transport is what
17914
+ * makes remote-agent terminals possible; `reset + snapshot` repairs a
17915
+ * caller that fell behind the bounded replay window.
17916
+ */
17917
+ pullOutput: method(z.object({
17918
+ sessionId: z.string(),
17919
+ afterSeq: z.number().int().nonnegative(),
17920
+ waitMs: z.number().int().min(0).max(2e3).default(0)
17921
+ }), TerminalOutputBatchSchema, {
17922
+ kind: "mutation",
17923
+ auth: "admin",
17924
+ timeoutMs: 15e3
17925
+ }),
17926
+ /** Write terminal input through the node-routable capability plane. */
17927
+ writeInput: method(z.object({
17928
+ sessionId: z.string(),
17929
+ data: z.string().max(64 * 1024)
17930
+ }), z.void(), {
17931
+ kind: "mutation",
17932
+ auth: "admin"
17933
+ }),
17849
17934
  /** Terminate a live session and release its pty. */
17850
17935
  close: method(z.object({ sessionId: z.string() }), z.void(), {
17851
17936
  kind: "mutation",
@@ -32441,12 +32526,24 @@ var METHOD_ACCESS_MAP = Object.freeze({
32441
32526
  addonId: null,
32442
32527
  access: "create"
32443
32528
  },
32529
+ "terminalSession.pullOutput": {
32530
+ capName: "terminal-session",
32531
+ capScope: "system",
32532
+ addonId: null,
32533
+ access: "create"
32534
+ },
32444
32535
  "terminalSession.resize": {
32445
32536
  capName: "terminal-session",
32446
32537
  capScope: "system",
32447
32538
  addonId: null,
32448
32539
  access: "create"
32449
32540
  },
32541
+ "terminalSession.writeInput": {
32542
+ capName: "terminal-session",
32543
+ capScope: "system",
32544
+ addonId: null,
32545
+ access: "create"
32546
+ },
32450
32547
  "toast.onToast": {
32451
32548
  capName: "toast",
32452
32549
  capScope: "system",
@@ -8,6 +8,11 @@ export interface ReverseProxyOptions {
8
8
  readonly upstreamPath: string;
9
9
  readonly clientReq: IncomingMessage;
10
10
  readonly clientRes: ServerResponse;
11
+ /**
12
+ * Body already consumed by the host HTTP framework. When present, replay it
13
+ * explicitly instead of piping the now-ended raw request stream.
14
+ */
15
+ readonly replayBody?: Buffer;
11
16
  }
12
17
  /** Reverse-proxy one request to an addon data-plane listener. Fire-and-forget:
13
18
  * the caller must `reply.hijack()` (or otherwise stop the framework from also
package/dist/index.js CHANGED
@@ -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-I0WgqQQ-.js");
3
+ const require_dist = require("./dist-DWZce90k.js");
4
4
  const require_builtins_alerts_alerts_addon = require("./builtins/alerts/alerts.addon.js");
5
5
  require("./builtins/alerts/index.js");
6
6
  const require_formatter = require("./formatter-DqAKDlvN.js");
@@ -392,12 +392,13 @@ var DataPlaneRegistry = class {
392
392
  * the caller must `reply.hijack()` (or otherwise stop the framework from also
393
393
  * responding) before calling this, since we drive `clientRes` directly. */
394
394
  function proxyToUpstream(opts) {
395
- const { baseUrl, secret, upstreamPath, clientReq, clientRes } = opts;
395
+ const { baseUrl, secret, upstreamPath, clientReq, clientRes, replayBody } = opts;
396
396
  const base = new URL(baseUrl);
397
397
  const headers = { ...clientReq.headers };
398
398
  delete headers.host;
399
399
  delete headers.connection;
400
400
  delete headers["content-length"];
401
+ if (replayBody !== void 0) headers["content-length"] = replayBody.byteLength;
401
402
  headers[require_dist.DATAPLANE_SECRET_HEADER] = secret;
402
403
  const upstream = (0, node_http.request)({
403
404
  protocol: base.protocol,
@@ -407,11 +408,17 @@ function proxyToUpstream(opts) {
407
408
  path: upstreamPath,
408
409
  headers
409
410
  }, (upRes) => {
410
- clientRes.writeHead(upRes.statusCode ?? 502, upRes.headers);
411
+ clientRes.writeHead(upRes.statusCode ?? 502, {
412
+ "access-control-allow-origin": "*",
413
+ ...upRes.headers
414
+ });
411
415
  upRes.pipe(clientRes);
412
416
  });
413
417
  upstream.on("error", (err) => {
414
- if (!clientRes.headersSent) clientRes.writeHead(502, { "content-type": "application/json" });
418
+ if (!clientRes.headersSent) clientRes.writeHead(502, {
419
+ "content-type": "application/json",
420
+ "access-control-allow-origin": "*"
421
+ });
415
422
  clientRes.end(JSON.stringify({
416
423
  error: "data-plane upstream error",
417
424
  detail: String(err)
@@ -420,7 +427,8 @@ function proxyToUpstream(opts) {
420
427
  clientRes.on("close", () => {
421
428
  if (!clientRes.writableFinished && !upstream.destroyed) upstream.destroy();
422
429
  });
423
- clientReq.pipe(upstream);
430
+ if (replayBody !== void 0) upstream.end(replayBody);
431
+ else clientReq.pipe(upstream);
424
432
  }
425
433
  //#endregion
426
434
  //#region src/kernel/heap-watch.ts
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { a as __toCommonJS, i as __require, n as __esmMin, o as __toESM$1, r as __exportAll, t as __commonJSMin$1 } from "./chunk-CNf5ZN-e.mjs";
2
- import { At as expandCapMethods, B as isCollectionArrayMethod, Bt as EventCategory$1, Dt as createEvent, Et as asString$1, Ft as parseJsonUnknown$1, G as lifecycleJobSchema, It as readinessKey, J as logLevelAtMost, L as extractNestedAddonId, Lt as resolveCapMount, Ot as emitDownForOwnedCaps, Pt as parseJsonObject, Q as objectInputDeclaresAddonId, Rt as scopeKey, St as ReadinessTimeoutError, Tt as asNumber, U as isVoidInput, V as isObjectInput, W as kebabToCamel, Y as looseSchema, _t as DEVICE_STATUS_METHOD, d as METHOD_ACCESS_MAP, f as RUNTIME_DEFAULTS, gt as DEVICE_SETTINGS_CONTRIBUTION_METHODS, ht as DATAPLANE_SECRET_HEADER$1, nt as scopesAllowAddon, pt as errMsg$1, rt as scopesAllowDeviceCap, t as ALL_CAPABILITY_DEFINITIONS, tt as procedureAuthKey, v as addonSettingsCapability, wt as asJsonObject$1, xt as ReadinessRegistry, z as isArrayOutputSchema } from "./dist-Daxx9CB0.mjs";
2
+ import { At as expandCapMethods, B as isCollectionArrayMethod, Bt as EventCategory$1, Dt as createEvent, Et as asString$1, Ft as parseJsonUnknown$1, G as lifecycleJobSchema, It as readinessKey, J as logLevelAtMost, L as extractNestedAddonId, Lt as resolveCapMount, Ot as emitDownForOwnedCaps, Pt as parseJsonObject, Q as objectInputDeclaresAddonId, Rt as scopeKey, St as ReadinessTimeoutError, Tt as asNumber, U as isVoidInput, V as isObjectInput, W as kebabToCamel, Y as looseSchema, _t as DEVICE_STATUS_METHOD, d as METHOD_ACCESS_MAP, f as RUNTIME_DEFAULTS, gt as DEVICE_SETTINGS_CONTRIBUTION_METHODS, ht as DATAPLANE_SECRET_HEADER$1, nt as scopesAllowAddon, pt as errMsg$1, rt as scopesAllowDeviceCap, t as ALL_CAPABILITY_DEFINITIONS, tt as procedureAuthKey, v as addonSettingsCapability, wt as asJsonObject$1, xt as ReadinessRegistry, z as isArrayOutputSchema } from "./dist-eBPa-ZBZ.mjs";
3
3
  import { AlertCenterAddon } from "./builtins/alerts/alerts.addon.mjs";
4
4
  import "./builtins/alerts/index.mjs";
5
5
  import { t as formatLogLine } from "./formatter-B7qW8bPJ.mjs";
@@ -384,12 +384,13 @@ var DataPlaneRegistry = class {
384
384
  * the caller must `reply.hijack()` (or otherwise stop the framework from also
385
385
  * responding) before calling this, since we drive `clientRes` directly. */
386
386
  function proxyToUpstream(opts) {
387
- const { baseUrl, secret, upstreamPath, clientReq, clientRes } = opts;
387
+ const { baseUrl, secret, upstreamPath, clientReq, clientRes, replayBody } = opts;
388
388
  const base = new URL(baseUrl);
389
389
  const headers = { ...clientReq.headers };
390
390
  delete headers.host;
391
391
  delete headers.connection;
392
392
  delete headers["content-length"];
393
+ if (replayBody !== void 0) headers["content-length"] = replayBody.byteLength;
393
394
  headers[DATAPLANE_SECRET_HEADER$1] = secret;
394
395
  const upstream = request({
395
396
  protocol: base.protocol,
@@ -399,11 +400,17 @@ function proxyToUpstream(opts) {
399
400
  path: upstreamPath,
400
401
  headers
401
402
  }, (upRes) => {
402
- clientRes.writeHead(upRes.statusCode ?? 502, upRes.headers);
403
+ clientRes.writeHead(upRes.statusCode ?? 502, {
404
+ "access-control-allow-origin": "*",
405
+ ...upRes.headers
406
+ });
403
407
  upRes.pipe(clientRes);
404
408
  });
405
409
  upstream.on("error", (err) => {
406
- if (!clientRes.headersSent) clientRes.writeHead(502, { "content-type": "application/json" });
410
+ if (!clientRes.headersSent) clientRes.writeHead(502, {
411
+ "content-type": "application/json",
412
+ "access-control-allow-origin": "*"
413
+ });
407
414
  clientRes.end(JSON.stringify({
408
415
  error: "data-plane upstream error",
409
416
  detail: String(err)
@@ -412,7 +419,8 @@ function proxyToUpstream(opts) {
412
419
  clientRes.on("close", () => {
413
420
  if (!clientRes.writableFinished && !upstream.destroyed) upstream.destroy();
414
421
  });
415
- clientReq.pipe(upstream);
422
+ if (replayBody !== void 0) upstream.end(replayBody);
423
+ else clientReq.pipe(upstream);
416
424
  }
417
425
  //#endregion
418
426
  //#region src/kernel/heap-watch.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/system",
3
- "version": "1.2.75",
3
+ "version": "1.2.77",
4
4
  "description": "Core addon for CamStack — builtins, pipeline, process management, auth, logging, events",
5
5
  "keywords": [
6
6
  "camstack",