@camstack/system 1.1.34 → 1.1.36

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 (49) hide show
  1. package/dist/addon-runner.js +87 -35
  2. package/dist/addon-runner.mjs +87 -35
  3. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +6 -6
  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 +6 -6
  6. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
  7. package/dist/builtins/alerts/alerts.addon.js +12 -12
  8. package/dist/builtins/alerts/alerts.addon.mjs +1 -1
  9. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +5 -5
  10. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +1 -1
  11. package/dist/builtins/console-logging/index.js +3 -3
  12. package/dist/builtins/console-logging/index.mjs +1 -1
  13. package/dist/builtins/device-manager/device-manager.addon.js +69 -69
  14. package/dist/builtins/device-manager/device-manager.addon.mjs +2 -2
  15. package/dist/builtins/hub-forwarder/index.js +3 -3
  16. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  17. package/dist/builtins/local-auth/local-auth.addon.js +7 -7
  18. package/dist/builtins/local-auth/local-auth.addon.mjs +1 -1
  19. package/dist/builtins/local-network/local-network.addon.js +7 -7
  20. package/dist/builtins/local-network/local-network.addon.mjs +1 -1
  21. package/dist/builtins/native-metrics/native-metrics.addon.js +5 -5
  22. package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
  23. package/dist/builtins/platform-probe/index.js +13 -13
  24. package/dist/builtins/platform-probe/index.mjs +1 -1
  25. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +4 -4
  26. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  27. package/dist/builtins/snapshot/index.js +13 -13
  28. package/dist/builtins/snapshot/index.mjs +1 -1
  29. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +4 -4
  30. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
  31. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +9 -9
  32. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +1 -1
  33. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +5 -5
  34. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
  35. package/dist/builtins/system-config/system-config.addon.js +5 -5
  36. package/dist/builtins/system-config/system-config.addon.mjs +1 -1
  37. package/dist/builtins/winston-logging/index.js +3 -3
  38. package/dist/builtins/winston-logging/index.mjs +1 -1
  39. package/dist/dist-C7oOY4iL.mjs +24559 -0
  40. package/dist/dist-COIhbSao.js +25032 -0
  41. package/dist/index.d.ts +1 -0
  42. package/dist/index.js +92 -115
  43. package/dist/index.mjs +52 -52
  44. package/dist/kernel/moleculer/child-cap-descriptors.d.ts +34 -0
  45. package/dist/kernel/moleculer/child-cap-dispatch.d.ts +10 -2
  46. package/dist/kernel/transport/child-cap-protocol.d.ts +20 -0
  47. package/dist/{manifest-python-deps-u-AQBQY6.mjs → manifest-python-deps-BYIV8-rc.mjs} +31 -29
  48. package/dist/{manifest-python-deps-CAnO1wPx.js → manifest-python-deps-CZFqI4wp.js} +7 -5
  49. 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
- let _camstack_types = require("@camstack/types");
6
+ const require_dist = require("../../dist-COIhbSao.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");
@@ -6135,7 +6135,7 @@ function parseRecord(kind, schema, data) {
6135
6135
  //#region src/auth/user-manager.ts
6136
6136
  var USERS_COLLECTION$1 = "users";
6137
6137
  function parseUser(data) {
6138
- return parseRecord("user", _camstack_types.UserRecordSchema, data);
6138
+ return parseRecord("user", require_dist.UserRecordSchema, data);
6139
6139
  }
6140
6140
  var UserManager = class {
6141
6141
  storageAccess;
@@ -6255,7 +6255,7 @@ var UserManager = class {
6255
6255
  //#region src/auth/api-key-manager.ts
6256
6256
  var API_KEYS_COLLECTION$1 = "api_keys";
6257
6257
  function parseApiKey(data) {
6258
- return parseRecord("api-key", _camstack_types.ApiKeyRecordSchema, data);
6258
+ return parseRecord("api-key", require_dist.ApiKeyRecordSchema, data);
6259
6259
  }
6260
6260
  var ApiKeyManager = class {
6261
6261
  storageAccess;
@@ -6337,7 +6337,7 @@ var ApiKeyManager = class {
6337
6337
  var TOKENS_COLLECTION = "scoped_tokens";
6338
6338
  var TOKEN_PREFIX = "cst_";
6339
6339
  function parseToken(data) {
6340
- return parseRecord("scoped-token", _camstack_types.ScopedTokenSchema, data);
6340
+ return parseRecord("scoped-token", require_dist.ScopedTokenSchema, data);
6341
6341
  }
6342
6342
  /**
6343
6343
  * Manages scoped API tokens with restricted addon/route/capability access.
@@ -9285,7 +9285,7 @@ function toAuthResult(user) {
9285
9285
  isAdmin: user.isAdmin
9286
9286
  };
9287
9287
  }
9288
- var LocalAuthAddon = class extends _camstack_types.BaseAddon {
9288
+ var LocalAuthAddon = class extends require_dist.BaseAddon {
9289
9289
  authManager = null;
9290
9290
  userManager = null;
9291
9291
  apiKeyManager = null;
@@ -9532,10 +9532,10 @@ var LocalAuthAddon = class extends _camstack_types.BaseAddon {
9532
9532
  };
9533
9533
  this.ctx.logger.info("registered auth-provider + user-management capabilities");
9534
9534
  return [{
9535
- capability: _camstack_types.authProviderCapability,
9535
+ capability: require_dist.authProviderCapability,
9536
9536
  provider: authProvider
9537
9537
  }, {
9538
- capability: _camstack_types.userManagementCapability,
9538
+ capability: require_dist.userManagementCapability,
9539
9539
  provider: userMgmt
9540
9540
  }];
9541
9541
  }
@@ -1,5 +1,5 @@
1
+ import { Z as userManagementCapability, _ as authProviderCapability, d as UserRecordSchema, et as BaseAddon, l as ScopedTokenSchema, r as ApiKeyRecordSchema } from "../../dist-C7oOY4iL.mjs";
1
2
  import { createRequire } from "node:module";
2
- import { ApiKeyRecordSchema, BaseAddon, ScopedTokenSchema, UserRecordSchema, authProviderCapability, userManagementCapability } from "@camstack/types";
3
3
  import * as crypto$1 from "node:crypto";
4
4
  import { randomUUID } 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
- let _camstack_types = require("@camstack/types");
3
+ const require_dist = require("../../dist-COIhbSao.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
@@ -28,7 +28,7 @@ node_os = require_chunk.__toESM(node_os);
28
28
  */
29
29
  var MESH_PROVIDER_ADDON_IDS = ["tailscale-client"];
30
30
  var POLL_INTERVAL_MS = 3e4;
31
- var LocalNetworkAddon = class extends _camstack_types.BaseAddon {
31
+ var LocalNetworkAddon = class extends require_dist.BaseAddon {
32
32
  pollTimer = null;
33
33
  lastSnapshotKey = "";
34
34
  /** Optional public hostname tracked from `NetworkTunnelStarted`/
@@ -95,15 +95,15 @@ var LocalNetworkAddon = class extends _camstack_types.BaseAddon {
95
95
  this.lastSnapshotKey = snapshotKey(this.enumerate());
96
96
  this.pollTimer = setInterval(() => this.detectChanges(), POLL_INTERVAL_MS);
97
97
  this.pollTimer.unref?.();
98
- this.ctx.eventBus?.subscribe({ category: _camstack_types.EventCategory.NetworkTunnelStarted }, (event) => {
98
+ this.ctx.eventBus?.subscribe({ category: require_dist.EventCategory.NetworkTunnelStarted }, (event) => {
99
99
  const data = event.data ?? {};
100
100
  if (typeof data.url === "string") try {
101
101
  const hostname = new URL(data.url).hostname;
102
102
  if (hostname && !hostname.endsWith(".placeholder") && !hostname.startsWith("pending.")) this.setPublicHostname(hostname);
103
103
  } catch {}
104
104
  });
105
- this.ctx.eventBus?.subscribe({ category: _camstack_types.EventCategory.NetworkTunnelStopped }, () => this.setPublicHostname(""));
106
- this.ctx.eventBus?.subscribe({ category: _camstack_types.EventCategory.MeshNetworkChanged }, (event) => {
105
+ this.ctx.eventBus?.subscribe({ category: require_dist.EventCategory.NetworkTunnelStopped }, () => this.setPublicHostname(""));
106
+ this.ctx.eventBus?.subscribe({ category: require_dist.EventCategory.MeshNetworkChanged }, (event) => {
107
107
  const data = event.data ?? {};
108
108
  const host = typeof data.host === "string" ? data.host : "";
109
109
  const port = typeof data.port === "number" ? data.port : 0;
@@ -114,7 +114,7 @@ var LocalNetworkAddon = class extends _camstack_types.BaseAddon {
114
114
  });
115
115
  this.ctx.logger.info("local-network initialized", { meta: { interfaceCount: this.enumerate().length } });
116
116
  return [{
117
- capability: _camstack_types.localNetworkCapability,
117
+ capability: require_dist.localNetworkCapability,
118
118
  provider
119
119
  }];
120
120
  }
@@ -205,7 +205,7 @@ var LocalNetworkAddon = class extends _camstack_types.BaseAddon {
205
205
  type: "core",
206
206
  id: "local-network"
207
207
  },
208
- category: _camstack_types.EventCategory.LocalNetworkChanged,
208
+ category: require_dist.EventCategory.LocalNetworkChanged,
209
209
  data: { count: interfaces.length }
210
210
  });
211
211
  }
@@ -1,4 +1,4 @@
1
- import { BaseAddon, EventCategory, localNetworkCapability } from "@camstack/types";
1
+ import { N as localNetworkCapability, et as BaseAddon, st as EventCategory } from "../../dist-C7oOY4iL.mjs";
2
2
  import * as os from "node:os";
3
3
  //#region src/builtins/local-network/local-network.addon.ts
4
4
  /**
@@ -3,9 +3,9 @@ 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-COIhbSao.js");
6
7
  let node_fs = require("node:fs");
7
8
  node_fs = require_chunk.__toESM(node_fs);
8
- let _camstack_types = require("@camstack/types");
9
9
  let node_child_process = require("node:child_process");
10
10
  let node_util = require("node:util");
11
11
  let node_os = require("node:os");
@@ -578,7 +578,7 @@ function narrowWorkerState(state) {
578
578
  * Native metrics — CPU, memory, disk usage sampling.
579
579
  * Settings appear under Cluster → NodeDetail → Settings.
580
580
  */
581
- var NativeMetricsAddon = class extends _camstack_types.BaseAddon {
581
+ var NativeMetricsAddon = class extends require_dist.BaseAddon {
582
582
  provider = null;
583
583
  startedAtMs = Date.now();
584
584
  snapshotTimer = null;
@@ -618,7 +618,7 @@ var NativeMetricsAddon = class extends _camstack_types.BaseAddon {
618
618
  this.snapshotTimer = setInterval(() => this.emitResourcesSnapshot(), METRICS_SNAPSHOT_INTERVAL_MS);
619
619
  this.processSnapshotTimer = setInterval(() => this.emitProcessesSnapshot(), PROCESS_SNAPSHOT_INTERVAL_MS);
620
620
  return [{
621
- capability: _camstack_types.metricsProviderCapability,
621
+ capability: require_dist.metricsProviderCapability,
622
622
  provider: composed
623
623
  }];
624
624
  }
@@ -664,7 +664,7 @@ var NativeMetricsAddon = class extends _camstack_types.BaseAddon {
664
664
  coarse,
665
665
  emittedAt: timestamp
666
666
  };
667
- eventBus.emit((0, _camstack_types.createEvent)(_camstack_types.EventCategory.MetricsNodeResourcesSnapshot, {
667
+ eventBus.emit(require_dist.createEvent(require_dist.EventCategory.MetricsNodeResourcesSnapshot, {
668
668
  type: "node",
669
669
  id: nodeId,
670
670
  nodeId
@@ -697,7 +697,7 @@ var NativeMetricsAddon = class extends _camstack_types.BaseAddon {
697
697
  coarse,
698
698
  emittedAt: timestamp
699
699
  };
700
- eventBus.emit((0, _camstack_types.createEvent)(_camstack_types.EventCategory.MetricsNodeProcessesSnapshot, {
700
+ eventBus.emit(require_dist.createEvent(require_dist.EventCategory.MetricsNodeProcessesSnapshot, {
701
701
  type: "node",
702
702
  id: nodeId,
703
703
  nodeId
@@ -1,5 +1,5 @@
1
+ import { I as metricsProviderCapability, et as BaseAddon, mt as createEvent, st as EventCategory } from "../../dist-C7oOY4iL.mjs";
1
2
  import * as fs from "node:fs";
2
- import { BaseAddon, EventCategory, createEvent, metricsProviderCapability } from "@camstack/types";
3
3
  import { execFile, execFileSync } from "node:child_process";
4
4
  import { promisify } from "node:util";
5
5
  import * as os from "node:os";
@@ -3,9 +3,9 @@ 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-COIhbSao.js");
6
7
  let node_fs = require("node:fs");
7
8
  node_fs = require_chunk.__toESM(node_fs);
8
- let _camstack_types = require("@camstack/types");
9
9
  let node_child_process = require("node:child_process");
10
10
  let node_util = require("node:util");
11
11
  let node_os = require("node:os");
@@ -42,7 +42,7 @@ async function getAvailableRAM_MB() {
42
42
  const mem = await (await import("systeminformation")).mem();
43
43
  return Math.round(mem.available / 1024 / 1024);
44
44
  } catch (err) {
45
- console.debug(`systeminformation not available, using platform-specific RAM probe: ${(0, _camstack_types.errMsg)(err)}`);
45
+ console.debug(`systeminformation not available, using platform-specific RAM probe: ${require_dist.errMsg(err)}`);
46
46
  const platform = node_os.platform();
47
47
  try {
48
48
  if (platform === "darwin") {
@@ -61,7 +61,7 @@ async function getAvailableRAM_MB() {
61
61
  if (match) return Math.round(parseInt(match[1]) / 1024);
62
62
  }
63
63
  } catch (probeErr) {
64
- console.debug(`RAM probe failed, using total RAM fallback: ${(0, _camstack_types.errMsg)(probeErr)}`);
64
+ console.debug(`RAM probe failed, using total RAM fallback: ${require_dist.errMsg(probeErr)}`);
65
65
  }
66
66
  return Math.round(node_os.totalmem() / 1024 / 1024);
67
67
  }
@@ -110,7 +110,7 @@ var PlatformScorer = class {
110
110
  if (hardware.gpu) this.logger.info("GPU detected", { meta: { name: hardware.gpu.name } });
111
111
  if (hardware.npu) this.logger.info("NPU detected", { meta: { type: hardware.npu.type } });
112
112
  onPhase?.("hardware", { hardware });
113
- const { scores, best: bestScore } = (0, _camstack_types.scoreRuntimes)(hardware);
113
+ const { scores, best: bestScore } = require_dist.scoreRuntimes(hardware);
114
114
  const pythonPath = await this.resolvePythonPath();
115
115
  if (pythonPath) this.logger.info("Python interpreter located", { meta: { pythonPath } });
116
116
  else this.logger.info("Python: not found");
@@ -185,7 +185,7 @@ var PlatformScorer = class {
185
185
  };
186
186
  }
187
187
  } catch (err) {
188
- this.logger.debug("NVIDIA GPU detection failed", { meta: { error: (0, _camstack_types.errMsg)(err) } });
188
+ this.logger.debug("NVIDIA GPU detection failed", { meta: { error: require_dist.errMsg(err) } });
189
189
  }
190
190
  if (!gpu || !npu) {
191
191
  const { classifyIntelAccelerators } = await Promise.resolve().then(() => require("../../intel-accelerators-Gg0P5mnl.js"));
@@ -240,7 +240,7 @@ var PlatformScorer = class {
240
240
  await execFileAsync(cmd, ["--version"], { timeout: 5e3 });
241
241
  return cmd;
242
242
  } catch (err) {
243
- this.logger.debug(`Python command "${cmd}" not found`, { meta: { error: (0, _camstack_types.errMsg)(err) } });
243
+ this.logger.debug(`Python command "${cmd}" not found`, { meta: { error: require_dist.errMsg(err) } });
244
244
  }
245
245
  return null;
246
246
  }
@@ -364,7 +364,7 @@ function narrowHwAccelPrefer(value) {
364
364
  if (typeof value === "string" && isHwAccelBackend(value)) return value;
365
365
  return null;
366
366
  }
367
- var PlatformProbeNativeAddon = class extends _camstack_types.BaseAddon {
367
+ var PlatformProbeNativeAddon = class extends require_dist.BaseAddon {
368
368
  scorer = null;
369
369
  cachedCaps = null;
370
370
  /**
@@ -401,8 +401,8 @@ var PlatformProbeNativeAddon = class extends _camstack_types.BaseAddon {
401
401
  if (!ctx) return;
402
402
  const nodeId = this.bareLocalNodeId();
403
403
  try {
404
- (0, _camstack_types.emitReadiness)(ctx.eventBus, {
405
- capName: _camstack_types.platformProbeCapability.name,
404
+ require_dist.emitReadiness(ctx.eventBus, {
405
+ capName: require_dist.platformProbeCapability.name,
406
406
  scope: {
407
407
  type: "node",
408
408
  nodeId
@@ -416,7 +416,7 @@ var PlatformProbeNativeAddon = class extends _camstack_types.BaseAddon {
416
416
  async onInitialize() {
417
417
  this.emitProbeReadiness("starting");
418
418
  const embeddedPython = await this.ctx.deps.ensurePython().catch((err) => {
419
- this.ctx.logger.debug("ensurePython unavailable for platform probe", { meta: { error: (0, _camstack_types.errMsg)(err) } });
419
+ this.ctx.logger.debug("ensurePython unavailable for platform probe", { meta: { error: require_dist.errMsg(err) } });
420
420
  return null;
421
421
  });
422
422
  this.scorer = new PlatformScorer(this.ctx.logger, embeddedPython);
@@ -428,7 +428,7 @@ var PlatformProbeNativeAddon = class extends _camstack_types.BaseAddon {
428
428
  type: "core",
429
429
  id: "platform-probe-native"
430
430
  },
431
- category: _camstack_types.EventCategory.PlatformProbePhase,
431
+ category: require_dist.EventCategory.PlatformProbePhase,
432
432
  data: {
433
433
  type: "platform-probe.phase",
434
434
  phase,
@@ -449,7 +449,7 @@ var PlatformProbeNativeAddon = class extends _camstack_types.BaseAddon {
449
449
  this.emitProbeReadiness("ready");
450
450
  return caps;
451
451
  }).catch((err) => {
452
- const msg = (0, _camstack_types.errMsg)(err);
452
+ const msg = require_dist.errMsg(err);
453
453
  this.ctx.logger.error("Platform probe failed", { meta: { error: msg } });
454
454
  emitPhase("error", { message: msg });
455
455
  throw err;
@@ -458,7 +458,7 @@ var PlatformProbeNativeAddon = class extends _camstack_types.BaseAddon {
458
458
  return this.cachedCaps ?? probePromise;
459
459
  };
460
460
  return [{
461
- capability: _camstack_types.platformProbeCapability,
461
+ capability: require_dist.platformProbeCapability,
462
462
  provider: {
463
463
  getCapabilities: async () => {
464
464
  return getCaps();
@@ -1,5 +1,5 @@
1
+ import { $ as errMsg, B as platformProbeCapability, U as scoreRuntimes, et as BaseAddon, gt as emitReadiness, st as EventCategory } from "../../dist-C7oOY4iL.mjs";
1
2
  import * as fs from "node:fs";
2
- import { BaseAddon, EventCategory, emitReadiness, errMsg, platformProbeCapability, scoreRuntimes } from "@camstack/types";
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
- let _camstack_types = require("@camstack/types");
6
+ const require_dist = require("../../dist-COIhbSao.js");
7
7
  //#region src/builtins/remote-access-orchestrator/enabled-providers-reconcile.ts
8
8
  /**
9
9
  * Reconcile the durable `enabledProviders` set against authoritative
@@ -67,16 +67,16 @@ function reconcileEnabledProviders(currentEnabled, probes) {
67
67
  * stopped). Running before `autoStartEnabledProviders` is safe:
68
68
  * it can only add already-connected providers, never evict.
69
69
  */
70
- var RemoteAccessOrchestratorAddon = class extends _camstack_types.BaseAddon {
70
+ var RemoteAccessOrchestratorAddon = class extends require_dist.BaseAddon {
71
71
  constructor() {
72
72
  super({ enabledProviders: [] });
73
73
  }
74
74
  async onInitialize() {
75
75
  this.ctx.logger.info("Remote-access orchestrator initialized (backend-only)", { meta: { enabledCount: this.config.enabledProviders.length } });
76
- this.ctx.eventBus?.subscribe({ category: _camstack_types.EventCategory.NetworkTunnelStarted }, (event) => {
76
+ this.ctx.eventBus?.subscribe({ category: require_dist.EventCategory.NetworkTunnelStarted }, (event) => {
77
77
  this.onTunnelLifecycle(event.source, true);
78
78
  });
79
- this.ctx.eventBus?.subscribe({ category: _camstack_types.EventCategory.NetworkTunnelStopped }, (event) => {
79
+ this.ctx.eventBus?.subscribe({ category: require_dist.EventCategory.NetworkTunnelStopped }, (event) => {
80
80
  this.onTunnelLifecycle(event.source, false);
81
81
  });
82
82
  setImmediate(() => {
@@ -1,4 +1,4 @@
1
- import { BaseAddon, EventCategory } from "@camstack/types";
1
+ import { et as BaseAddon, st as EventCategory } from "../../dist-C7oOY4iL.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
- let _camstack_types = require("@camstack/types");
6
+ const require_dist = require("../../dist-COIhbSao.js");
7
7
  let node_child_process = require("node:child_process");
8
8
  //#region src/builtins/snapshot/snapshot.addon.ts
9
9
  /** Default cache window for non-battery cams (seconds). 10s feels live. */
@@ -28,7 +28,7 @@ var BATTERY_DEFAULT_MAX_AGE_S = 3600;
28
28
  * ffmpeg fallback, caching) is this addon's concern; stream-broker only
29
29
  * publishes stream endpoints.
30
30
  */
31
- var SnapshotAddon = class SnapshotAddon extends _camstack_types.BaseAddon {
31
+ var SnapshotAddon = class SnapshotAddon extends require_dist.BaseAddon {
32
32
  cache = /* @__PURE__ */ new Map();
33
33
  /**
34
34
  * Cached resolution of `pipelineOrchestrator.getIngestOwner` — SnapshotAddon
@@ -46,7 +46,7 @@ var SnapshotAddon = class SnapshotAddon extends _camstack_types.BaseAddon {
46
46
  async onInitialize() {
47
47
  this.ctx.logger.info("Snapshot wrapper initialized");
48
48
  return [{
49
- capability: _camstack_types.snapshotCapability,
49
+ capability: require_dist.snapshotCapability,
50
50
  provider: {
51
51
  getSnapshot: (input) => this.getSnapshot(input),
52
52
  invalidateCache: (input) => this.invalidateCache(input),
@@ -124,7 +124,7 @@ var SnapshotAddon = class SnapshotAddon extends _camstack_types.BaseAddon {
124
124
  let nativeError = null;
125
125
  let nativeAbsent = false;
126
126
  try {
127
- const native = this.ctx.getNativeProvider(_camstack_types.snapshotCapability, deviceId);
127
+ const native = this.ctx.getNativeProvider(require_dist.snapshotCapability, deviceId);
128
128
  if (native) {
129
129
  const result = await native.getSnapshot(input);
130
130
  if (result) {
@@ -141,7 +141,7 @@ var SnapshotAddon = class SnapshotAddon extends _camstack_types.BaseAddon {
141
141
  log.debug("native snapshot provider not resolved — falling through to broker", { tags: { deviceId } });
142
142
  }
143
143
  } catch (err) {
144
- const msg = (0, _camstack_types.errMsg)(err);
144
+ const msg = require_dist.errMsg(err);
145
145
  if (isAbsentNativeError(msg)) {
146
146
  nativeAbsent = true;
147
147
  log.debug("native snapshot absent", {
@@ -169,7 +169,7 @@ var SnapshotAddon = class SnapshotAddon extends _camstack_types.BaseAddon {
169
169
  } catch (err) {
170
170
  log.warn("stream-broker snapshot fallback failed", {
171
171
  tags: { deviceId },
172
- meta: { error: (0, _camstack_types.errMsg)(err) }
172
+ meta: { error: require_dist.errMsg(err) }
173
173
  });
174
174
  }
175
175
  else log.debug("snapshot: skipping broker fallback — battery device with absent native and no streaming broker", { tags: { deviceId } });
@@ -284,7 +284,7 @@ var SnapshotAddon = class SnapshotAddon extends _camstack_types.BaseAddon {
284
284
  try {
285
285
  return await this.ctx.api.pipelineOrchestrator.getIngestOwner.query();
286
286
  } catch (err) {
287
- this.ctx.logger.warn("snapshot: getIngestOwner unavailable — defaulting to hub (cap not mounted yet?)", { meta: { error: (0, _camstack_types.errMsg)(err) } });
287
+ this.ctx.logger.warn("snapshot: getIngestOwner unavailable — defaulting to hub (cap not mounted yet?)", { meta: { error: require_dist.errMsg(err) } });
288
288
  return { ownerNodeId: "hub" };
289
289
  }
290
290
  }
@@ -298,7 +298,7 @@ var SnapshotAddon = class SnapshotAddon extends _camstack_types.BaseAddon {
298
298
  try {
299
299
  buf = await runFfmpegFrameGrab(url, 15e3);
300
300
  } catch (err) {
301
- if (isBrokerColdError((0, _camstack_types.errMsg)(err))) {
301
+ if (isBrokerColdError(require_dist.errMsg(err))) {
302
302
  this.ctx.logger.debug("grabFrame: broker-resume race — retrying in 1500ms", { tags: { deviceId } });
303
303
  await new Promise((r) => setTimeout(r, 1500));
304
304
  buf = await runFfmpegFrameGrab(url, 15e3);
@@ -380,7 +380,7 @@ var SnapshotAddon = class SnapshotAddon extends _camstack_types.BaseAddon {
380
380
  }
381
381
  async buildDeviceSettingsContribution(deviceId) {
382
382
  const meta = await this.lookupDeviceMeta(deviceId);
383
- if (meta && meta.type !== _camstack_types.DeviceType.Camera) return null;
383
+ if (meta && meta.type !== require_dist.DeviceType.Camera) return null;
384
384
  const current = await this.readDeviceSettings(deviceId);
385
385
  const streamOptions = await this.getStreamOptions(deviceId);
386
386
  const isBattery = await this.isDeviceBattery(deviceId);
@@ -442,7 +442,7 @@ var SnapshotAddon = class SnapshotAddon extends _camstack_types.BaseAddon {
442
442
  const rawType = found.type;
443
443
  return {
444
444
  ...found.name ? { name: found.name } : {},
445
- isBattery: features.includes(_camstack_types.DeviceFeature.BatteryOperated),
445
+ isBattery: features.includes(require_dist.DeviceFeature.BatteryOperated),
446
446
  ...rawType ? { type: rawType } : {}
447
447
  };
448
448
  } catch (err) {
@@ -479,12 +479,12 @@ var SnapshotAddon = class SnapshotAddon extends _camstack_types.BaseAddon {
479
479
  label: "Auto"
480
480
  }, ...entries.filter((e) => e.enabled).map((e) => e.brokerId.slice(prefix.length)).map((id) => ({
481
481
  value: id,
482
- label: (0, _camstack_types.streamQualityLabel)(id)
482
+ label: require_dist.streamQualityLabel(id)
483
483
  }))];
484
484
  } catch (err) {
485
485
  this.ctx.logger.error("getStreamOptions failed", {
486
486
  tags: { deviceId },
487
- meta: { error: (0, _camstack_types.errMsg)(err) }
487
+ meta: { error: require_dist.errMsg(err) }
488
488
  });
489
489
  return [{
490
490
  value: "auto",
@@ -539,7 +539,7 @@ function isAbsentNativeError(msg) {
539
539
  async function fetchSnapshotBrokerEntries(api, params) {
540
540
  const { deviceId, ownerNodeId, reachableHost } = params;
541
541
  const prefix = `${deviceId}/`;
542
- const pin = (0, _camstack_types.nodePin)(ownerNodeId);
542
+ const pin = require_dist.nodePin(ownerNodeId);
543
543
  const [allEntries, allSlots] = await Promise.all([api.streamBroker.getAllRtspEntries.query(reachableHost !== void 0 ? { hostname: reachableHost } : {}, pin), api.streamBroker.listAllProfileSlots.query(void 0, pin)]);
544
544
  return {
545
545
  entries: allEntries.filter((e) => e.brokerId.startsWith(prefix)),
@@ -1,4 +1,4 @@
1
- import { BaseAddon, DeviceFeature, DeviceType, errMsg, nodePin, snapshotCapability, streamQualityLabel } from "@camstack/types";
1
+ import { $ as errMsg, K as snapshotCapability, L as nodePin, Y as streamQualityLabel, et as BaseAddon, it as DeviceFeature, ot as DeviceType } from "../../dist-C7oOY4iL.mjs";
2
2
  import { execFile } from "node:child_process";
3
3
  //#region src/builtins/snapshot/snapshot.addon.ts
4
4
  /** Default cache window for non-battery cams (seconds). 10s feels live. */
@@ -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-COIhbSao.js");
6
7
  let node_fs = require("node:fs");
7
8
  node_fs = require_chunk.__toESM(node_fs);
8
9
  let node_path = require("node:path");
9
10
  node_path = require_chunk.__toESM(node_path);
10
- let _camstack_types = require("@camstack/types");
11
11
  let node_crypto = require("node:crypto");
12
12
  let node_os = require("node:os");
13
13
  let node_fs_promises = require("node:fs/promises");
@@ -362,7 +362,7 @@ function defaultAllowedRoots() {
362
362
  * provider itself is now stateless — every call carries the live
363
363
  * `StorageLocation` inline.
364
364
  */
365
- var FilesystemStorageAddon = class extends _camstack_types.BaseAddon {
365
+ var FilesystemStorageAddon = class extends require_dist.BaseAddon {
366
366
  provider = null;
367
367
  constructor() {
368
368
  super({
@@ -375,10 +375,10 @@ var FilesystemStorageAddon = class extends _camstack_types.BaseAddon {
375
375
  const browse = new FilesystemBrowseProvider(() => this.config.storageAllowedRoots);
376
376
  this.ctx.logger.info("Filesystem storage-provider initialized");
377
377
  return [{
378
- capability: _camstack_types.storageProviderCapability,
378
+ capability: require_dist.storageProviderCapability,
379
379
  provider: this.provider
380
380
  }, {
381
- capability: _camstack_types.filesystemBrowseCapability,
381
+ capability: require_dist.filesystemBrowseCapability,
382
382
  provider: browse
383
383
  }];
384
384
  }
@@ -1,7 +1,7 @@
1
+ import { E as filesystemBrowseCapability, J as storageProviderCapability, et as BaseAddon } from "../../dist-C7oOY4iL.mjs";
1
2
  import * as fs from "node:fs";
2
3
  import * as path$1 from "node:path";
3
4
  import { basename, dirname, join, resolve, sep } from "node:path";
4
- import { BaseAddon, filesystemBrowseCapability, storageProviderCapability } from "@camstack/types";
5
5
  import { randomUUID } from "node:crypto";
6
6
  import { homedir } from "node:os";
7
7
  import { mkdir, readdir, realpath, statfs } from "node:fs/promises";
@@ -3,13 +3,13 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../../chunk-Cek0wNdY.js");
6
- let _camstack_types = require("@camstack/types");
6
+ const require_dist = require("../../dist-COIhbSao.js");
7
7
  let node_crypto = require("node:crypto");
8
8
  let better_sqlite3 = require("better-sqlite3");
9
9
  better_sqlite3 = require_chunk.__toESM(better_sqlite3);
10
10
  //#region src/builtins/sqlite-storage/sqlite-settings-backend.ts
11
11
  function parseRowData(raw) {
12
- return (0, _camstack_types.asJsonObject)((0, _camstack_types.parseJsonUnknown)(raw)) ?? {};
12
+ return require_dist.asJsonObject(require_dist.parseJsonUnknown(raw)) ?? {};
13
13
  }
14
14
  /**
15
15
  * SQLite implementation of ISettingsBackend.
@@ -564,11 +564,11 @@ var SqliteSettingsBackend = class SqliteSettingsBackend {
564
564
  sql += ` OFFSET ?`;
565
565
  values.push(options.offset);
566
566
  }
567
- return this.getDb().prepare(sql).all(...values).flatMap((r) => (0, _camstack_types.asJsonObject)(r) ? [(0, _camstack_types.asJsonObject)(r)] : []);
567
+ return this.getDb().prepare(sql).all(...values).flatMap((r) => require_dist.asJsonObject(r) ? [require_dist.asJsonObject(r)] : []);
568
568
  }
569
569
  async tableGet(table, filter) {
570
570
  const { whereSql, whereValues } = this.buildWhere(filter);
571
- return (0, _camstack_types.asJsonObject)(this.getDb().prepare(`SELECT * FROM "${table}"${whereSql} LIMIT 1`).get(...whereValues));
571
+ return require_dist.asJsonObject(this.getDb().prepare(`SELECT * FROM "${table}"${whereSql} LIMIT 1`).get(...whereValues));
572
572
  }
573
573
  async tableCount(table, filter) {
574
574
  let sql = `SELECT COUNT(*) as count FROM "${table}"`;
@@ -578,7 +578,7 @@ var SqliteSettingsBackend = class SqliteSettingsBackend {
578
578
  sql += whereSql;
579
579
  values.push(...whereValues);
580
580
  }
581
- const row = (0, _camstack_types.asJsonObject)(this.getDb().prepare(sql).get(...values));
581
+ const row = require_dist.asJsonObject(this.getDb().prepare(sql).get(...values));
582
582
  return typeof row?.count === "number" ? row.count : 0;
583
583
  }
584
584
  buildWhere(filter) {
@@ -600,7 +600,7 @@ var SqliteSettingsBackend = class SqliteSettingsBackend {
600
600
  * SQLite Settings addon — provides persistent settings storage.
601
601
  * Capability: 'settings-store' (singleton)
602
602
  */
603
- var SqliteSettingsAddon = class extends _camstack_types.BaseAddon {
603
+ var SqliteSettingsAddon = class extends require_dist.BaseAddon {
604
604
  backend = null;
605
605
  constructor() {
606
606
  super({});
@@ -616,18 +616,18 @@ var SqliteSettingsAddon = class extends _camstack_types.BaseAddon {
616
616
  dbExists = fs.existsSync(dbPath);
617
617
  if (!dbExists) await fs.promises.mkdir(path.dirname(dbPath), { recursive: true });
618
618
  } catch (err) {
619
- this.ctx.logger.warn("Failed to check/create DB directory", { meta: { error: (0, _camstack_types.errMsg)(err) } });
619
+ this.ctx.logger.warn("Failed to check/create DB directory", { meta: { error: require_dist.errMsg(err) } });
620
620
  }
621
621
  this.ctx.logger.info("DB path resolved", { meta: {
622
622
  pathSource,
623
623
  dbPath
624
624
  } });
625
625
  this.ctx.logger.info("DB file status", { meta: { dbExists } });
626
- this.backend = new SqliteSettingsBackend(dbPath, { ..._camstack_types.RUNTIME_DEFAULTS });
626
+ this.backend = new SqliteSettingsBackend(dbPath, { ...require_dist.RUNTIME_DEFAULTS });
627
627
  await this.backend.initialize();
628
628
  this.ctx.logger.info("Initialized successfully");
629
629
  return [{
630
- capability: _camstack_types.settingsStoreCapability,
630
+ capability: require_dist.settingsStoreCapability,
631
631
  provider: this.backend
632
632
  }];
633
633
  }
@@ -1,4 +1,4 @@
1
- import { BaseAddon, RUNTIME_DEFAULTS, asJsonObject, errMsg, parseJsonUnknown, settingsStoreCapability } from "@camstack/types";
1
+ import { $ as errMsg, G as settingsStoreCapability, dt as asJsonObject, et as BaseAddon, s as RUNTIME_DEFAULTS, xt as parseJsonUnknown } from "../../dist-C7oOY4iL.mjs";
2
2
  import { randomUUID } from "node:crypto";
3
3
  import Database from "better-sqlite3";
4
4
  //#region src/builtins/sqlite-storage/sqlite-settings-backend.ts
@@ -3,9 +3,9 @@ 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-COIhbSao.js");
6
7
  let node_path = require("node:path");
7
8
  node_path = require_chunk.__toESM(node_path);
8
- let _camstack_types = require("@camstack/types");
9
9
  let node_fs_promises = require("node:fs/promises");
10
10
  node_fs_promises = require_chunk.__toESM(node_fs_promises);
11
11
  let _camstack_system = require("@camstack/system");
@@ -566,13 +566,13 @@ function mapLocationToRow(loc) {
566
566
  */
567
567
  function mapRowToLocation(row) {
568
568
  const typeRaw = row["type"];
569
- const parsedType = _camstack_types.StorageLocationTypeSchema.safeParse(typeRaw);
569
+ const parsedType = require_dist.StorageLocationTypeSchema.safeParse(typeRaw);
570
570
  if (!parsedType.success) return null;
571
571
  const type = parsedType.data;
572
572
  const id = String(row["id"] ?? "");
573
573
  if (!id) return null;
574
574
  const configRaw = row["config"];
575
- const storedConfig = typeof configRaw === "string" && configRaw.length > 0 ? (0, _camstack_types.parseJsonObject)(configRaw) ?? {} : {};
575
+ const storedConfig = typeof configRaw === "string" && configRaw.length > 0 ? require_dist.parseJsonObject(configRaw) ?? {} : {};
576
576
  const nodeIdRaw = storedConfig[NODE_ID_CONFIG_KEY];
577
577
  const nodeId = typeof nodeIdRaw === "string" && nodeIdRaw.length > 0 ? nodeIdRaw : void 0;
578
578
  const config = { ...storedConfig };
@@ -712,7 +712,7 @@ var PRESSURE_SWEEP_INTERVAL_MS = 6e4;
712
712
  * infra layer (every cap-bound event is a custom-shape payload).
713
713
  */
714
714
  var CAP_PROVIDER_REGISTERED_CATEGORY = "capability:provider-registered";
715
- var StorageOrchestratorAddon = class extends _camstack_types.BaseAddon {
715
+ var StorageOrchestratorAddon = class extends require_dist.BaseAddon {
716
716
  service = null;
717
717
  pressureManager = null;
718
718
  pressureTimer = null;
@@ -930,7 +930,7 @@ var StorageOrchestratorAddon = class extends _camstack_types.BaseAddon {
930
930
  }, PRESSURE_SWEEP_INTERVAL_MS);
931
931
  this.ctx.logger.info("Storage orchestrator initialized");
932
932
  return [{
933
- capability: _camstack_types.storageCapability,
933
+ capability: require_dist.storageCapability,
934
934
  provider
935
935
  }];
936
936
  }
@@ -1,5 +1,5 @@
1
+ import { bt as parseJsonObject, et as BaseAddon, q as storageCapability, u as StorageLocationTypeSchema } from "../../dist-C7oOY4iL.mjs";
1
2
  import * as path$1 from "node:path";
2
- import { BaseAddon, StorageLocationTypeSchema, parseJsonObject, storageCapability } from "@camstack/types";
3
3
  import * as fs from "node:fs/promises";
4
4
  import { buildStorageLocationRegistry } from "@camstack/system";
5
5
  //#region src/builtins/storage-orchestrator/storage-orchestrator.service.ts