@camstack/system 1.1.33 → 1.1.35

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 (46) hide show
  1. package/dist/addon-runner.js +1 -1
  2. package/dist/addon-runner.mjs +1 -1
  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-DlGZpWo8.mjs +24597 -0
  40. package/dist/dist-DriXJoVg.js +25070 -0
  41. package/dist/index.d.ts +1 -0
  42. package/dist/index.js +113 -126
  43. package/dist/index.mjs +73 -63
  44. package/dist/{manifest-python-deps-u-AQBQY6.mjs → manifest-python-deps-MUu1e33G.mjs} +27 -27
  45. package/dist/{manifest-python-deps-CAnO1wPx.js → manifest-python-deps-jZA_Qorz.js} +3 -3
  46. package/package.json +1 -1
package/dist/index.mjs CHANGED
@@ -1,3 +1,4 @@
1
+ import { $ as errMsg$1, A as isVoidInput, Ct as resolveCapMount, F as looseSchema, M as lifecycleJobSchema, O as isArrayOutputSchema, St as readinessKey, V as procedureAuthKey, _t as expandCapMethods, bt as parseJsonObject, ct as ReadinessRegistry, dt as asJsonObject$1, ft as asNumber, ht as emitDownForOwnedCaps, j as kebabToCamel, k as isObjectInput, lt as ReadinessTimeoutError, mt as createEvent, nt as DEVICE_SETTINGS_CONTRIBUTION_METHODS, o as METHOD_ACCESS_MAP, p as addonSettingsCapability, pt as asString$1, rt as DEVICE_STATUS_METHOD, s as RUNTIME_DEFAULTS, st as EventCategory$1, t as ALL_CAPABILITY_DEFINITIONS, tt as DATAPLANE_SECRET_HEADER$1, wt as scopeKey, xt as parseJsonUnknown$1 } from "./dist-DlGZpWo8.mjs";
1
2
  import { a as downloadModel, c as getModelFilePath, d as contentTypeFor, f as createAuthenticatedFileServer, h as resolveFilePath, i as downloadFile, l as isModelDownloaded, m as parseTokenizedUrl, n as collectModelFiles, o as ensureModel, p as parseRangeHeader, r as deleteModelFromDisk, s as fetchJson, t as ModelDownloadService, u as createFileDataPlaneHandler } from "./model-download-service-C-IHWnXx.mjs";
2
3
  import { n as getSinglePidStats, t as getPidStats } from "./resource-monitor-Le3l0qS2.mjs";
3
4
  import { FilesystemStorageAddon, t as FilesystemStorageProvider } from "./builtins/sqlite-storage/filesystem-storage.addon.mjs";
@@ -18,15 +19,15 @@ import { LocalAuthAddon, a as require_ms, c as __esmMin, d as __toCommonJS, f as
18
19
  import "./builtins/local-auth/index.mjs";
19
20
  import { DeviceManagerAddon } from "./builtins/device-manager/device-manager.addon.mjs";
20
21
  import "./builtins/device-manager/index.mjs";
21
- import { $ as buildUdsNativeCapProxy, A as createParentUnownedCallHandler, B as AGENT_CAP_FWD_SERVICE, C as buildLinkChain, D as HUB_CAP_FWD_ACTION, E as localProviderLink, F as createUdsLoggerWithControl, G as createLocalTransport, H as CapRouteError, I as LocalChildClient, J as SocketChannel, K as UdsLocalTransportClient, L as LocalChildRegistry, M as createUdsEventBus, N as udsChildLogToWorkerEntry, O as HUB_CAP_FWD_SERVICE, P as createUdsLogger, Q as buildNativeCapProxy, R as UDS_NO_ROUTE_PREFIX, S as brokerTransportLink, T as ipcParentLink, U as classifyCapRoute, V as CapRouteResolver, W as callWithServiceDiscovery, X as FrameDecoder, Y as localEndpointPath, Z as encodeFrame, _ as resolveHwAccel, _t as CapabilityUnavailableError, a as getWorkerDeviceRegistry, at as createAddonService, b as getCapUsageRegistry, c as setHubConnected, ct as capActionName, d as getMoleculerEventStats, dt as capServiceName, et as createBrokerDeviceManagerApi, f as registerEventBusService, ft as parseCapAction, g as createKernelHwAccel, gt as CapabilityHandle, h as AddonDepsManager, ht as DeviceRegistry, i as createUdsAddonContext, j as createUdsEventBridge, k as createHubCapForwardService, l as EVENT_TOPIC_PREFIX, lt as capActionSuffix, m as subscribePassthrough, mt as serializeTypedArrays, n as adaptBrokerToCluster, o as getOrInitReadinessRegistry, ot as validateProviderRegistrations, p as setNodeEventInterest, pt as deserializeTypedArrays, q as UdsLocalTransportServer, r as createAddonContext, rt as mountNativeCapService, s as getOrInitReadinessRegistryForClient, st as NATIVE_PROVIDER_SERVICE_INFIX, t as installManifestPythonDeps, u as getBrokerEventBus, ut as capBareAction, v as CapUsageRegistry, vt as installManifestNativeDeps, w as ipcChildLink, x as brokerCallForCap, y as __resetCapUsageRegistryForTests, yt as resolveAddonClass, z as AGENT_CAP_FWD_ACTION } from "./manifest-python-deps-u-AQBQY6.mjs";
22
+ import { $ as buildUdsNativeCapProxy, A as createParentUnownedCallHandler, B as AGENT_CAP_FWD_SERVICE, C as buildLinkChain, D as HUB_CAP_FWD_ACTION, E as localProviderLink, F as createUdsLoggerWithControl, G as createLocalTransport, H as CapRouteError, I as LocalChildClient, J as SocketChannel, K as UdsLocalTransportClient, L as LocalChildRegistry, M as createUdsEventBus, N as udsChildLogToWorkerEntry, O as HUB_CAP_FWD_SERVICE, P as createUdsLogger, Q as buildNativeCapProxy, R as UDS_NO_ROUTE_PREFIX, S as brokerTransportLink, T as ipcParentLink, U as classifyCapRoute, V as CapRouteResolver, W as callWithServiceDiscovery, X as FrameDecoder, Y as localEndpointPath, Z as encodeFrame, _ as resolveHwAccel, _t as CapabilityUnavailableError, a as getWorkerDeviceRegistry, at as createAddonService, b as getCapUsageRegistry, c as setHubConnected, ct as capActionName, d as getMoleculerEventStats, dt as capServiceName, et as createBrokerDeviceManagerApi, f as registerEventBusService, ft as parseCapAction, g as createKernelHwAccel, gt as CapabilityHandle, h as AddonDepsManager, ht as DeviceRegistry, i as createUdsAddonContext, j as createUdsEventBridge, k as createHubCapForwardService, l as EVENT_TOPIC_PREFIX, lt as capActionSuffix, m as subscribePassthrough, mt as serializeTypedArrays, n as adaptBrokerToCluster, o as getOrInitReadinessRegistry, ot as validateProviderRegistrations, p as setNodeEventInterest, pt as deserializeTypedArrays, q as UdsLocalTransportServer, r as createAddonContext, rt as mountNativeCapService, s as getOrInitReadinessRegistryForClient, st as NATIVE_PROVIDER_SERVICE_INFIX, t as installManifestPythonDeps, u as getBrokerEventBus, ut as capBareAction, v as CapUsageRegistry, vt as installManifestNativeDeps, w as ipcChildLink, x as brokerCallForCap, y as __resetCapUsageRegistryForTests, yt as resolveAddonClass, z as AGENT_CAP_FWD_ACTION } from "./manifest-python-deps-MUu1e33G.mjs";
22
23
  import { t as CustomActionRegistry } from "./custom-action-registry-BEXwC-oo.mjs";
23
24
  import { PYTHON_VERSION, buildBinaryPath, downloadBinary, ensureBinary, ensureFfmpeg, ensurePython, findInPath, getFfmpegDownloadUrl, getPlatformInfo, getPythonDownloadUrl, installPythonPackages, installPythonRequirements } from "@camstack/types/node";
25
+ import { z } from "zod";
24
26
  import { request } from "node:http";
25
27
  import * as fs$17 from "node:fs";
26
28
  import { accessSync, constants, existsSync, mkdirSync, readFileSync } from "node:fs";
27
29
  import * as path$39 from "node:path";
28
30
  import { dirname, isAbsolute, join, posix, resolve, win32 } from "node:path";
29
- import { ALL_CAPABILITY_DEFINITIONS, DATAPLANE_SECRET_HEADER, EventCategory, RUNTIME_DEFAULTS, ReadinessRegistry, ReadinessTimeoutError, asJsonObject, asNumber, asString, createEvent, emitDownForOwnedCaps, errMsg, expandCapMethods, isObjectInput, isVoidInput, kebabToCamel, lifecycleJobSchema, looseSchema, parseJsonObject, parseJsonUnknown, procedureAuthKey, readinessKey, resolveCapMount, scopeKey } from "@camstack/types";
30
31
  import { X509Certificate, createHash, randomUUID, timingSafeEqual } from "node:crypto";
31
32
  import { execFile, spawn } from "node:child_process";
32
33
  import * as util$10 from "node:util";
@@ -34,8 +35,7 @@ import { promisify } from "node:util";
34
35
  import * as vm from "node:vm";
35
36
  import * as os$18 from "node:os";
36
37
  import { lstat, readdir, readlink, realpath } from "node:fs/promises";
37
- import { z } from "zod";
38
- import { asJsonObject as asJsonObject$1, parseJsonUnknown as parseJsonUnknown$1 } from "@camstack/types/addon";
38
+ import { asJsonObject, parseJsonUnknown } from "@camstack/types/addon";
39
39
  import { EventEmitter } from "node:events";
40
40
  import As from "node:stream";
41
41
  import { StringDecoder } from "node:string_decoder";
@@ -150,7 +150,7 @@ function proxyToUpstream(opts) {
150
150
  delete headers.host;
151
151
  delete headers.connection;
152
152
  delete headers["content-length"];
153
- headers[DATAPLANE_SECRET_HEADER] = secret;
153
+ headers[DATAPLANE_SECRET_HEADER$1] = secret;
154
154
  const upstream = request({
155
155
  protocol: base.protocol,
156
156
  hostname: base.hostname,
@@ -320,7 +320,7 @@ var PipelineRunner = class {
320
320
  }
321
321
  } catch (error) {
322
322
  const stepMs = performance.now() - stepStart;
323
- const message = errMsg(error);
323
+ const message = errMsg$1(error);
324
324
  results.push({
325
325
  addon: node.addon,
326
326
  slot: "detector",
@@ -1562,7 +1562,7 @@ var NotificationService = class {
1562
1562
  this.logger.error("Notification target failed", { meta: {
1563
1563
  addonId: ref.addonId,
1564
1564
  targetId: ref.targetId,
1565
- error: errMsg(err)
1565
+ error: errMsg$1(err)
1566
1566
  } });
1567
1567
  }
1568
1568
  }));
@@ -2338,7 +2338,7 @@ var AddonLoader = class {
2338
2338
  /** Load addon from a specific directory (package.json + dist/) */
2339
2339
  async loadFromAddonDir(addonDir) {
2340
2340
  const pkgJsonPath = path$39.join(addonDir, "package.json");
2341
- const pkgJson = asJsonObject(parseJsonUnknown(fs$17.readFileSync(pkgJsonPath, "utf-8"))) ?? {};
2341
+ const pkgJson = asJsonObject$1(parseJsonUnknown$1(fs$17.readFileSync(pkgJsonPath, "utf-8"))) ?? {};
2342
2342
  const packageNameRaw = pkgJson["name"];
2343
2343
  const packageName = typeof packageNameRaw === "string" ? packageNameRaw : "";
2344
2344
  const packageVersionRaw = pkgJson["version"];
@@ -2704,7 +2704,7 @@ async function installPackageFromNpm(packageName, targetDir) {
2704
2704
  const distSrc = path$39.join(srcPkgJsonDir, "dist");
2705
2705
  if (fs$17.existsSync(distSrc)) await copyDirRecursive(distSrc, path$39.join(targetDir, "dist"));
2706
2706
  try {
2707
- const npmPkg = asJsonObject(parseJsonUnknown(await fs$17.promises.readFile(path$39.join(srcPkgJsonDir, "package.json"), "utf-8")));
2707
+ const npmPkg = asJsonObject$1(parseJsonUnknown$1(await fs$17.promises.readFile(path$39.join(srcPkgJsonDir, "package.json"), "utf-8")));
2708
2708
  if (npmPkg) await copyExtraFileDirs(npmPkg, srcPkgJsonDir, targetDir);
2709
2709
  } catch {}
2710
2710
  } finally {
@@ -2936,15 +2936,15 @@ function parseInstallSource(value) {
2936
2936
  function readPackageJson(pkgJsonPath) {
2937
2937
  let raw;
2938
2938
  try {
2939
- raw = asJsonObject(parseJsonUnknown(fs$17.readFileSync(pkgJsonPath, "utf-8")));
2939
+ raw = asJsonObject$1(parseJsonUnknown$1(fs$17.readFileSync(pkgJsonPath, "utf-8")));
2940
2940
  } catch {
2941
2941
  return null;
2942
2942
  }
2943
2943
  if (!raw) return null;
2944
- const name = asString(raw["name"]);
2945
- const version = asString(raw["version"]);
2944
+ const name = asString$1(raw["name"]);
2945
+ const version = asString$1(raw["version"]);
2946
2946
  if (!name || !version) return null;
2947
- const camstack = asJsonObject(raw["camstack"]);
2947
+ const camstack = asJsonObject$1(raw["camstack"]);
2948
2948
  const addonsField = camstack ? camstack["addons"] : void 0;
2949
2949
  return {
2950
2950
  name,
@@ -3064,7 +3064,7 @@ var AddonInstaller = class AddonInstaller {
3064
3064
  }
3065
3065
  await this.installFromNpm(packageName);
3066
3066
  } catch (err) {
3067
- const msg = errMsg(err);
3067
+ const msg = errMsg$1(err);
3068
3068
  if (packageName === "@camstack/system") throw new Error(`Required package ${packageName} failed to install: ${msg}`, { cause: err });
3069
3069
  this.logger.error(`Failed to install ${packageName}`, { meta: { error: msg } });
3070
3070
  }
@@ -3117,7 +3117,7 @@ var AddonInstaller = class AddonInstaller {
3117
3117
  if (this.installSource === "symlink") try {
3118
3118
  return await this.installSymlink(packageName, sourceDir, pkgView.raw, targetDir);
3119
3119
  } catch (err) {
3120
- this.logger.warn(`${packageName} — symlink failed, falling back to copy: ${errMsg(err)}`);
3120
+ this.logger.warn(`${packageName} — symlink failed, falling back to copy: ${errMsg$1(err)}`);
3121
3121
  }
3122
3122
  return this.installCopy(packageName, sourceDir, pkgView.raw, targetDir);
3123
3123
  }
@@ -3145,13 +3145,13 @@ var AddonInstaller = class AddonInstaller {
3145
3145
  ensureDir(path$39.dirname(targetDir));
3146
3146
  fs$17.symlinkSync(sourceDir, targetDir, "dir");
3147
3147
  this.manifest.upsert(packageName, {
3148
- version: asString(pkgData.version, "0.0.0"),
3148
+ version: asString$1(pkgData.version, "0.0.0"),
3149
3149
  source: "local"
3150
3150
  });
3151
3151
  this.logger.info(`${packageName} — symlinked → ${sourceDir}`);
3152
3152
  return {
3153
- name: asString(pkgData.name, packageName),
3154
- version: asString(pkgData.version, "0.0.0")
3153
+ name: asString$1(pkgData.name, packageName),
3154
+ version: asString$1(pkgData.version, "0.0.0")
3155
3155
  };
3156
3156
  }
3157
3157
  async installCopy(packageName, sourceDir, pkgData, targetDir) {
@@ -3167,7 +3167,7 @@ var AddonInstaller = class AddonInstaller {
3167
3167
  await copyDirRecursive(distDir, path$39.join(targetDir, "dist"));
3168
3168
  await copyExtraFileDirs(pkgData, sourceDir, targetDir);
3169
3169
  await fs$17.promises.writeFile(path$39.join(targetDir, ".install-source"), "local");
3170
- const localPkgVersion = asString(pkgData.version, "0.0.0");
3170
+ const localPkgVersion = asString$1(pkgData.version, "0.0.0");
3171
3171
  this.manifest.upsert(packageName, {
3172
3172
  version: localPkgVersion,
3173
3173
  source: "local"
@@ -3186,7 +3186,7 @@ var AddonInstaller = class AddonInstaller {
3186
3186
  try {
3187
3187
  await installManifestNativeDeps(targetDir, pkgData, this.logger, this.registry);
3188
3188
  } catch (err) {
3189
- this.logger.warn(`${packageName} — native deps install failed (continuing)`, { meta: { error: errMsg(err) } });
3189
+ this.logger.warn(`${packageName} — native deps install failed (continuing)`, { meta: { error: errMsg$1(err) } });
3190
3190
  }
3191
3191
  this.logger.info(`${packageName} — copied from ${sourceDir}`);
3192
3192
  return {
@@ -3312,7 +3312,7 @@ var AddonInstaller = class AddonInstaller {
3312
3312
  }).catch((cleanupErr) => {
3313
3313
  this.logger.debug("evictInstallDir: aside cleanup deferred (likely held open)", { meta: {
3314
3314
  asideDir,
3315
- error: errMsg(cleanupErr)
3315
+ error: errMsg$1(cleanupErr)
3316
3316
  } });
3317
3317
  });
3318
3318
  }
@@ -3375,7 +3375,7 @@ var AddonInstaller = class AddonInstaller {
3375
3375
  try {
3376
3376
  await installManifestNativeDeps(pkgDir, pkgView.raw, this.logger, this.registry);
3377
3377
  } catch (nativeErr) {
3378
- throw new Error(`${pkgView.name} — native deps install failed: ${errMsg(nativeErr)}`, { cause: nativeErr });
3378
+ throw new Error(`${pkgView.name} — native deps install failed: ${errMsg$1(nativeErr)}`, { cause: nativeErr });
3379
3379
  }
3380
3380
  await this.evictInstallDir(targetDir);
3381
3381
  ensureDir(path$39.dirname(targetDir));
@@ -3434,7 +3434,7 @@ var AddonInstaller = class AddonInstaller {
3434
3434
  };
3435
3435
  } else result = await this.installFromNpm(packageName, version);
3436
3436
  } catch (installErr) {
3437
- this.logger.error(`${packageName} — install failed, restoring backup`, { meta: { error: errMsg(installErr) } });
3437
+ this.logger.error(`${packageName} — install failed, restoring backup`, { meta: { error: errMsg$1(installErr) } });
3438
3438
  try {
3439
3439
  if (fs$17.existsSync(addonDir)) fs$17.rmSync(addonDir, {
3440
3440
  recursive: true,
@@ -3449,7 +3449,7 @@ var AddonInstaller = class AddonInstaller {
3449
3449
  } catch (restoreErr) {
3450
3450
  this.logger.error(`${packageName} — backup restore ALSO failed; manual recovery needed`, { meta: {
3451
3451
  backupDir,
3452
- error: errMsg(restoreErr)
3452
+ error: errMsg$1(restoreErr)
3453
3453
  } });
3454
3454
  }
3455
3455
  throw installErr;
@@ -3504,7 +3504,7 @@ var AddonInstaller = class AddonInstaller {
3504
3504
  } else throw renameErr;
3505
3505
  }
3506
3506
  } catch (swapErr) {
3507
- this.logger.error(`${packageName} — staged swap failed, restoring backup`, { meta: { error: errMsg(swapErr) } });
3507
+ this.logger.error(`${packageName} — staged swap failed, restoring backup`, { meta: { error: errMsg$1(swapErr) } });
3508
3508
  try {
3509
3509
  if (fs$17.existsSync(addonDir)) fs$17.rmSync(addonDir, {
3510
3510
  recursive: true,
@@ -3519,7 +3519,7 @@ var AddonInstaller = class AddonInstaller {
3519
3519
  } catch (restoreErr) {
3520
3520
  this.logger.error(`${packageName} — backup restore ALSO failed; manual recovery needed`, { meta: {
3521
3521
  backupDir,
3522
- error: errMsg(restoreErr)
3522
+ error: errMsg$1(restoreErr)
3523
3523
  } });
3524
3524
  }
3525
3525
  throw swapErr;
@@ -3663,8 +3663,8 @@ var AddonInstaller = class AddonInstaller {
3663
3663
  ]) {
3664
3664
  const candidate = path$39.join(this.workspaceDir, dirName);
3665
3665
  try {
3666
- const pkg = asJsonObject(parseJsonUnknown(fs$17.readFileSync(path$39.join(candidate, "package.json"), "utf-8")));
3667
- if (pkg && asString(pkg["name"]) === packageName) return candidate;
3666
+ const pkg = asJsonObject$1(parseJsonUnknown$1(fs$17.readFileSync(path$39.join(candidate, "package.json"), "utf-8")));
3667
+ if (pkg && asString$1(pkg["name"]) === packageName) return candidate;
3668
3668
  } catch {}
3669
3669
  }
3670
3670
  return null;
@@ -3680,7 +3680,7 @@ var AddonInstaller = class AddonInstaller {
3680
3680
  timeout: 18e4
3681
3681
  });
3682
3682
  } catch (err) {
3683
- const msg = errMsg(err);
3683
+ const msg = errMsg$1(err);
3684
3684
  this.logger.warn(`${packageName} auto-build failed`, { meta: { error: msg } });
3685
3685
  }
3686
3686
  }
@@ -3800,7 +3800,7 @@ function readPendingRestart(dataDir) {
3800
3800
  }
3801
3801
  let parsed;
3802
3802
  try {
3803
- parsed = asJsonObject(parseJsonUnknown(raw));
3803
+ parsed = asJsonObject$1(parseJsonUnknown$1(raw));
3804
3804
  } catch (err) {
3805
3805
  console.error("[restart-coordinator] Marker JSON invalid — clearing:", err);
3806
3806
  clearPendingRestart(dataDir);
@@ -3811,7 +3811,7 @@ function readPendingRestart(dataDir) {
3811
3811
  clearPendingRestart(dataDir);
3812
3812
  return null;
3813
3813
  }
3814
- const kindRaw = asString(parsed["kind"]);
3814
+ const kindRaw = asString$1(parsed["kind"]);
3815
3815
  const requestedAt = asNumber(parsed["requestedAt"]);
3816
3816
  if (!isRestartKind(kindRaw) || requestedAt <= 0) {
3817
3817
  console.error("[restart-coordinator] Marker missing kind/requestedAt — clearing");
@@ -4909,13 +4909,24 @@ var CapabilityRegistry = class CapabilityRegistry {
4909
4909
  * this builder's output to that static type at the single documented
4910
4910
  * boundary, so the SDK keeps full procedure inference.
4911
4911
  *
4912
- * Behaviour MUST stay byte-identical to the codegen output
4913
- * (`scripts/generate-cap-routers.ts`). The per-method procedure shape is
4914
- * mechanically derived from each `cap.methods.*` (input/output zod schema
4915
- * + kind) + the auto-injected `getStatus` / 3 settings-contribution
4916
- * methods (via `expandCapMethods`). Provider resolution is derived from
4917
- * the declarative `mount` hint (`resolveCapMount`) — the same decision the
4918
- * codegen `generate-cap-mounts.ts` baked in.
4912
+ * The per-method procedure shape is mechanically derived from each
4913
+ * `cap.methods.*` (input zod schema + kind) + the auto-injected
4914
+ * `getStatus` / 3 settings-contribution methods (via `expandCapMethods`).
4915
+ * Provider resolution is derived from the declarative `mount` hint
4916
+ * (`resolveCapMount`) the same decision the codegen
4917
+ * `generate-cap-mounts.ts` baked in.
4918
+ *
4919
+ * OUTPUT PASS-THROUGH (2026-07-11): unlike the historical codegen, the
4920
+ * builder deliberately does NOT apply `.output(schema)`. Re-validating an
4921
+ * output the hub does not own against the hub's OWN (framework-versioned,
4922
+ * therefore potentially stale) copy of the cap def silently STRIPS fields
4923
+ * a fresher addon added (a self-contained addon bundles its own newer
4924
+ * `@camstack/types`; the hub-closure copy lags). That is exactly how
4925
+ * `models[].group.resolution` vanished from `pipelineExecutor.getSchema`.
4926
+ * Cap dispatch is structural (CLAUDE.md invariant): the owning provider is
4927
+ * typed to return a complete `z.infer<output>` and is the SOLE authority
4928
+ * for the payload shape, so the hub forwards it verbatim. Input validation
4929
+ * is retained (`.input(...)`) — the hub still guards the client boundary.
4919
4930
  *
4920
4931
  * This module owns NO tRPC primitives of its own: `@camstack/system`
4921
4932
  * cannot import the server's `TrpcContext`-bound procedures. The server
@@ -4988,7 +4999,6 @@ function buildOneCapRouter(def, primitives, services) {
4988
4999
  for (const method of methodsFor(def)) {
4989
5000
  const base = primitives.procedures[procedureAuthKey(method.auth)];
4990
5001
  const inputSchema = method.schema.input;
4991
- const outputSchema = method.schema.output;
4992
5002
  if (method.kind === "subscription") {
4993
5003
  procedures[method.name] = base.input(inputSchema).subscription(({ input, ctx }) => {
4994
5004
  const provider = requireLocal(capName, () => getLocal(ctx), services);
@@ -5006,7 +5016,7 @@ function buildOneCapRouter(def, primitives, services) {
5006
5016
  nodeId: z.string().optional(),
5007
5017
  addonId: z.string().optional()
5008
5018
  }).optional() : z.object({ nodeId: z.string().optional() }).optional();
5009
- procedures[method.name] = base.input(voidSelector).output(outputSchema)[procKind](({ input, ctx }) => {
5019
+ procedures[method.name] = base.input(voidSelector)[procKind](({ input, ctx }) => {
5010
5020
  const sel = input ?? {};
5011
5021
  return (nodeIdData ? requireLocal(capName, () => getLocal(ctx, isCollection ? sel.addonId : void 0), services) : resolveProviderForCall(capName, sel.nodeId, () => getLocal(ctx, isCollection ? sel.addonId : void 0), services))[method.name]?.();
5012
5022
  });
@@ -5014,7 +5024,7 @@ function buildOneCapRouter(def, primitives, services) {
5014
5024
  }
5015
5025
  if (method.isObject) {
5016
5026
  const schema = nodeIdData ? inputSchema : looseSchema(inputSchema);
5017
- procedures[method.name] = base.input(schema).output(outputSchema)[procKind](({ input, ctx }) => {
5027
+ procedures[method.name] = base.input(schema)[procKind](({ input, ctx }) => {
5018
5028
  if (nodeIdData) return requireLocal(capName, () => getLocal(ctx), services)[method.name]?.(input);
5019
5029
  if (isCollection) {
5020
5030
  const { rest, picked } = stripKeys(input, ["nodeId", "addonId"]);
@@ -5027,7 +5037,7 @@ function buildOneCapRouter(def, primitives, services) {
5027
5037
  });
5028
5038
  continue;
5029
5039
  }
5030
- procedures[method.name] = base.input(inputSchema).output(outputSchema)[procKind](({ input, ctx }) => {
5040
+ procedures[method.name] = base.input(inputSchema)[procKind](({ input, ctx }) => {
5031
5041
  return requireLocal(capName, () => getLocal(ctx), services)[method.name]?.(input);
5032
5042
  });
5033
5043
  }
@@ -7598,7 +7608,7 @@ var ConfigManager = class ConfigManager {
7598
7608
  constructor(configPath) {
7599
7609
  this.configPath = configPath;
7600
7610
  const rawYaml = this.loadYaml();
7601
- const merged = this.applyEnvOverrides(asJsonObject$1(rawYaml) ?? {});
7611
+ const merged = this.applyEnvOverrides(asJsonObject(rawYaml) ?? {});
7602
7612
  this.bootstrapConfig = bootstrapSchema.parse(merged);
7603
7613
  this.warnDefaultCredentials();
7604
7614
  const dataPath = this.bootstrapConfig.server.dataPath ?? "camstack-data";
@@ -7653,9 +7663,9 @@ var ConfigManager = class ConfigManager {
7653
7663
  */
7654
7664
  getSection(section) {
7655
7665
  const merged = {};
7656
- const defaults = asJsonObject$1(this.getFromRuntimeDefaults(section));
7666
+ const defaults = asJsonObject(this.getFromRuntimeDefaults(section));
7657
7667
  if (defaults) Object.assign(merged, defaults);
7658
- const bootstrapSection = asJsonObject$1({ ...this.bootstrapConfig }[section]);
7668
+ const bootstrapSection = asJsonObject({ ...this.bootstrapConfig }[section]);
7659
7669
  if (bootstrapSection) Object.assign(merged, bootstrapSection);
7660
7670
  if (this.settingsStore !== null) {
7661
7671
  const nested = this.getNestedFromSystemSettings(section);
@@ -7674,7 +7684,7 @@ var ConfigManager = class ConfigManager {
7674
7684
  /** Read all config for an addon from addon_settings. */
7675
7685
  getAddonConfig(addonId) {
7676
7686
  if (this.settingsStore !== null) return this.settingsStore.getAllAddon(addonId);
7677
- return asJsonObject$1(this.getFromBootstrap(`addons.${addonId}`)) ?? {};
7687
+ return asJsonObject(this.getFromBootstrap(`addons.${addonId}`)) ?? {};
7678
7688
  }
7679
7689
  /** Write (bulk-replace) config for an addon to addon_settings. */
7680
7690
  setAddonConfig(addonId, config) {
@@ -7912,8 +7922,8 @@ var ConfigManager = class ConfigManager {
7912
7922
  update(section, data) {
7913
7923
  if (!ConfigManager.BOOTSTRAP_SECTIONS.has(section)) throw new Error(`[ConfigManager] Section "${section}" is a runtime setting — use setSection() to persist via the settings-store, not update() which writes to config.yaml`);
7914
7924
  let raw = {};
7915
- if (fs$17.existsSync(this.configPath)) raw = asJsonObject$1(load$1(fs$17.readFileSync(this.configPath, "utf-8"))) ?? {};
7916
- const existing = asJsonObject$1(raw[section]) ?? {};
7925
+ if (fs$17.existsSync(this.configPath)) raw = asJsonObject(load$1(fs$17.readFileSync(this.configPath, "utf-8"))) ?? {};
7926
+ const existing = asJsonObject(raw[section]) ?? {};
7917
7927
  raw[section] = {
7918
7928
  ...existing,
7919
7929
  ...data
@@ -8014,13 +8024,13 @@ var ConfigManager = class ConfigManager {
8014
8024
  loadRuntimeState() {
8015
8025
  if (!fs$17.existsSync(this.runtimeStatePath)) return EMPTY_RUNTIME_STATE;
8016
8026
  try {
8017
- const parsed = asJsonObject$1(parseJsonUnknown$1(fs$17.readFileSync(this.runtimeStatePath, "utf-8")));
8027
+ const parsed = asJsonObject(parseJsonUnknown(fs$17.readFileSync(this.runtimeStatePath, "utf-8")));
8018
8028
  if (parsed === null) return EMPTY_RUNTIME_STATE;
8019
- const systemActivation = asJsonObject$1(parsed.systemActivation) ?? {};
8020
- const deviceActivationRaw = asJsonObject$1(parsed.deviceActivation) ?? {};
8029
+ const systemActivation = asJsonObject(parsed.systemActivation) ?? {};
8030
+ const deviceActivationRaw = asJsonObject(parsed.deviceActivation) ?? {};
8021
8031
  const deviceActivation = {};
8022
8032
  for (const [deviceId, entry] of Object.entries(deviceActivationRaw)) {
8023
- const nested = asJsonObject$1(entry);
8033
+ const nested = asJsonObject(entry);
8024
8034
  if (nested === null) continue;
8025
8035
  const bools = {};
8026
8036
  for (const [k, v] of Object.entries(nested)) if (typeof v === "boolean") bools[k] = v;
@@ -91652,7 +91662,7 @@ var HubLogForwarder = class {
91652
91662
  tags: mergedTags,
91653
91663
  ...entry.meta !== void 0 ? { meta: entry.meta } : {}
91654
91664
  }).catch((err) => {
91655
- console.error(`[HubLogForwarder] $hub.log call failed: ${errMsg(err)}`);
91665
+ console.error(`[HubLogForwarder] $hub.log call failed: ${errMsg$1(err)}`);
91656
91666
  });
91657
91667
  }
91658
91668
  async shutdown() {
@@ -92029,7 +92039,7 @@ var AddonHealthMonitor = class {
92029
92039
  alertEmitted: false,
92030
92040
  retrying: false
92031
92041
  });
92032
- if (wasAlerting) this.emit(EventCategory.AddonLoadRecovered, {
92042
+ if (wasAlerting) this.emit(EventCategory$1.AddonLoadRecovered, {
92033
92043
  packageName,
92034
92044
  addonId: addonId ?? existing?.addonId,
92035
92045
  retryCount: existing.retryCount
@@ -92047,7 +92057,7 @@ var AddonHealthMonitor = class {
92047
92057
  const intervalIdx = Math.min(retryCount - 1, this.retryIntervalsMs.length - 1);
92048
92058
  const nextRetryAt = t + this.retryIntervalsMs[intervalIdx];
92049
92059
  const errPayload = {
92050
- message: errMsg(err),
92060
+ message: errMsg$1(err),
92051
92061
  ...err instanceof Error && err.stack ? { stack: err.stack } : {}
92052
92062
  };
92053
92063
  const next = {
@@ -92071,7 +92081,7 @@ var AddonHealthMonitor = class {
92071
92081
  inGrace: this.inGracePeriod(),
92072
92082
  error: errPayload.message
92073
92083
  } });
92074
- this.emit(EventCategory.AddonRetryScheduled, {
92084
+ this.emit(EventCategory$1.AddonRetryScheduled, {
92075
92085
  packageName,
92076
92086
  addonId: next.addonId,
92077
92087
  retryCount,
@@ -92079,7 +92089,7 @@ var AddonHealthMonitor = class {
92079
92089
  });
92080
92090
  if (!this.inGracePeriod() && !next.alertEmitted) {
92081
92091
  next.alertEmitted = true;
92082
- this.emit(EventCategory.AddonLoadFailed, {
92092
+ this.emit(EventCategory$1.AddonLoadFailed, {
92083
92093
  packageName,
92084
92094
  addonId: next.addonId,
92085
92095
  error: errPayload,
@@ -92167,7 +92177,7 @@ var AddonHealthMonitor = class {
92167
92177
  this.graceEmittedFor = true;
92168
92178
  for (const s of this.state.values()) if (s.phase === "failed" && !s.alertEmitted && s.lastError) {
92169
92179
  s.alertEmitted = true;
92170
- this.emit(EventCategory.AddonLoadFailed, {
92180
+ this.emit(EventCategory$1.AddonLoadFailed, {
92171
92181
  packageName: s.packageName,
92172
92182
  addonId: s.addonId,
92173
92183
  error: s.lastError,
@@ -92184,7 +92194,7 @@ var AddonHealthMonitor = class {
92184
92194
  const existing = this.state.get(packageName);
92185
92195
  if (!existing) return;
92186
92196
  existing.retrying = true;
92187
- this.emit(EventCategory.AddonRetryAttempting, {
92197
+ this.emit(EventCategory$1.AddonRetryAttempting, {
92188
92198
  packageName,
92189
92199
  addonId: existing.addonId,
92190
92200
  retryCount: existing.retryCount
@@ -92498,7 +92508,7 @@ function createProcessService(parentNodeId, dataDir, deps, parentTcpPort, parent
92498
92508
  entry.state = "crashed";
92499
92509
  capturedBroker?.logger.error(`[${runnerId}] Process exited (code=${code}, signal=${signal})`);
92500
92510
  const decision = crashSupervisor.recordCrash(runnerId);
92501
- emitRunnerEvent(EventCategory.ProcessCrashed, runnerId, {
92511
+ emitRunnerEvent(EventCategory$1.ProcessCrashed, runnerId, {
92502
92512
  processId: runnerId,
92503
92513
  exitCode: code ?? void 0,
92504
92514
  signal: signal ?? void 0
@@ -92508,14 +92518,14 @@ function createProcessService(parentNodeId, dataDir, deps, parentTcpPort, parent
92508
92518
  capturedBroker?.logger.error(`[${runnerId}] Crash circuit-breaker tripped — ${decision.crashesInWindow} crashes in ${CRASH_WINDOW_MS}ms. Not respawning.`);
92509
92519
  processes.set(runnerId, entry);
92510
92520
  if (capturedBroker) forceMoleculerDisconnect(capturedBroker, entry.nodeId);
92511
- for (const addon of entry.runnerAddons) emitRunnerEvent(EventCategory.AddonCrashed, addon.addonId, {
92521
+ for (const addon of entry.runnerAddons) emitRunnerEvent(EventCategory$1.AddonCrashed, addon.addonId, {
92512
92522
  addonId: addon.addonId,
92513
92523
  error: `Crash circuit-breaker tripped after ${decision.crashesInWindow} crashes in ${CRASH_WINDOW_MS}ms`
92514
92524
  });
92515
92525
  return;
92516
92526
  }
92517
92527
  capturedBroker?.logger.warn(`[${runnerId}] Restart scheduled (attempt #${decision.crashesInWindow}, backoff ${decision.backoffMs}ms)...`);
92518
- emitRunnerEvent(EventCategory.ProcessRestartScheduled, runnerId, {
92528
+ emitRunnerEvent(EventCategory$1.ProcessRestartScheduled, runnerId, {
92519
92529
  processId: runnerId,
92520
92530
  delayMs: decision.backoffMs
92521
92531
  });
@@ -93231,4 +93241,4 @@ async function stageFrameworkLockstep(input) {
93231
93241
  return results;
93232
93242
  }
93233
93243
  //#endregion
93234
- export { AGENT_CAP_FWD_ACTION, AGENT_CAP_FWD_SERVICE, AddonApiFactory, AddonDepsManager, AddonEngineManager, AddonHealthMonitor, AddonInstaller, AddonLoader, AddonManifest, AddonRouteRegistry, AlertCenterAddon, ApiKeyManager, AuthManager, CLUSTER_SECRET_MISMATCH_TYPE, CLUSTER_SECRET_REJECTED_EXIT_CODE, CORE_CAP_SERVICE_NAME, CapRouteError, CapRouteResolver, CapUsageRegistry, CapabilityHandle, CapabilityRegistry, CapabilityUnavailableError, ConfigManager, ConfigStore, ConsoleDestination, ConsoleLoggingAddon, CustomActionRegistry, DEFAULT_DATA_PATH, DataPlaneRegistry, DeviceManagerAddon, DeviceRegistry, DeviceStore, EVENT_TOPIC_PREFIX, EngineManagerResolver, EventBus, FRAMEWORK_LOCKSTEP, FeatureManager, FilesystemStorageAddon, FilesystemStorageProvider, FrameDecoder, FsStorageBackend, HEALTH_MONITOR_GRACE_PERIOD_MS, HEALTH_MONITOR_RETRY_INTERVALS_MS, HEALTH_MONITOR_TICK_MS, HUB_CAP_FWD_ACTION, HUB_CAP_FWD_SERVICE, HubForwarderAddon, HubForwarderDestination, HubLogForwarder, HubNodeRegistry, INFRA_CAPABILITIES, IntegrationRegistry, JobJournal, LifecycleJobEngine, LifecycleStateMachine, LocalAuthAddon, LocalChildClient, LocalChildRegistry, LogManager, LogRingBuffer, ModelDownloadService, NATIVE_PROVIDER_SERVICE_INFIX, NativeMetricsAddon, NativeMetricsProvider, NetworkQualityTracker, NotificationService, PYTHON_VERSION, PipelineRunner, PipelineValidator, PythonEnvManager, RESTART_MARKER_FILE, RUNTIME_DEFAULTS, ReadinessRegistry, ReadinessTimeoutError, ReplEngine, RingBuffer, ScopedLogger, ScopedTokenManager, SocketChannel, SqliteSettingsAddon, SqliteSettingsBackend, StagingArea, StorageLocationManager, StorageManager, StorageOrchestratorAddon, StorageOrchestratorService, SystemConfigAddon, SystemEventBus, ToastService, UDS_NO_ROUTE_PREFIX, UdsLocalTransportClient, UdsLocalTransportServer, UserManager, WinstonDestination, WinstonLoggingAddon, __resetCapUsageRegistryForTests, adaptBrokerToCluster, bootstrapSchema, brokerCallForCap, brokerTransportLink, buildBinaryPath, buildCapRouters, buildLinkChain, buildNativeCapProxy, buildNodeManifest, buildStorageLocationRegistry, buildUdsNativeCapProxy, builderMountedCapNames, callRegisterNodeWithRetry, callWithServiceDiscovery, capActionName, capActionSuffix, capBareAction, capServiceName, classifyCapRoute, clearPendingRestart, clusterSecretMatches, collectModelFiles, contentTypeFor, copyDirRecursive, copyExtraFileDirs, createAddonContext, createAddonService, createAuthenticatedFileServer, createBroker, createBrokerDeviceManagerApi, createCoreCapService, createFileDataPlaneHandler, createHubCapForwardService, createHubService, createKernelHwAccel, createLocalTransport, createParentUnownedCallHandler, createProcessService, createReadinessService, createReadinessServiceForRegistry, createScopedProcessManager, createStreamProbeBrokerService, createUdsAddonContext, createUdsEventBridge, createUdsEventBus, createUdsLogger, createUdsLoggerWithControl, deleteModelFromDisk, deriveAgentListenPort, describeProviderKindDrift, detectWorkspacePackagesDir, downloadBinary, downloadFile, downloadModel, emitDownForOwnedCaps, encodeFrame, ensureBinary, ensureDir, ensureFfmpeg, ensureLibraryBuilt, ensureModel, ensurePython, ensureTlsCert, fetchJson, findInPath, formatLogLine, getBrokerEventBus, getCapUsageRegistry, getFfmpegDownloadUrl, getModelFilePath, getMoleculerEventStats, getOrInitReadinessRegistry, getOrInitReadinessRegistryForClient, getPidStats, getPlatformInfo, getPythonDownloadUrl, getRestartMarkerPath, getSinglePidStats, getWorkerDeviceRegistry, hashClusterSecret, installManifestNativeDeps, installManifestPythonDeps, installPackageFromNpm, installPythonPackages, installPythonRequirements, ipcChildLink, ipcParentLink, isAddonDeploySource, isClusterSecretMismatchError, isInfraCapability, isModelDownloaded, isSourceNewer, loadTlsCert, localEndpointPath, localProviderLink, mountNativeCapService, parseCapAction, parseRangeHeader, parseTokenizedUrl, proxyToUpstream, readPendingRestart, readinessKey, registerEventBusService, resolveFilePath, resolveHwAccel, scheduleSelfRestart, scopeKey, scopesAllowDeviceCap, serializeTypedArrays, setHubConnected, setNodeEventInterest, stageFrameworkLockstep, stripCamstackDeps, subscribePassthrough, udsChildLogToWorkerEntry, validateProviderRegistrations, writePendingRestart };
93244
+ export { AGENT_CAP_FWD_ACTION, AGENT_CAP_FWD_SERVICE, ALL_CAPABILITY_DEFINITIONS, AddonApiFactory, AddonDepsManager, AddonEngineManager, AddonHealthMonitor, AddonInstaller, AddonLoader, AddonManifest, AddonRouteRegistry, AlertCenterAddon, ApiKeyManager, AuthManager, CLUSTER_SECRET_MISMATCH_TYPE, CLUSTER_SECRET_REJECTED_EXIT_CODE, CORE_CAP_SERVICE_NAME, CapRouteError, CapRouteResolver, CapUsageRegistry, CapabilityHandle, CapabilityRegistry, CapabilityUnavailableError, ConfigManager, ConfigStore, ConsoleDestination, ConsoleLoggingAddon, CustomActionRegistry, DEFAULT_DATA_PATH, DEVICE_SETTINGS_CONTRIBUTION_METHODS, DEVICE_STATUS_METHOD, DataPlaneRegistry, DeviceManagerAddon, DeviceRegistry, DeviceStore, EVENT_TOPIC_PREFIX, EngineManagerResolver, EventBus, FRAMEWORK_LOCKSTEP, FeatureManager, FilesystemStorageAddon, FilesystemStorageProvider, FrameDecoder, FsStorageBackend, HEALTH_MONITOR_GRACE_PERIOD_MS, HEALTH_MONITOR_RETRY_INTERVALS_MS, HEALTH_MONITOR_TICK_MS, HUB_CAP_FWD_ACTION, HUB_CAP_FWD_SERVICE, HubForwarderAddon, HubForwarderDestination, HubLogForwarder, HubNodeRegistry, INFRA_CAPABILITIES, IntegrationRegistry, JobJournal, LifecycleJobEngine, LifecycleStateMachine, LocalAuthAddon, LocalChildClient, LocalChildRegistry, LogManager, LogRingBuffer, METHOD_ACCESS_MAP, ModelDownloadService, NATIVE_PROVIDER_SERVICE_INFIX, NativeMetricsAddon, NativeMetricsProvider, NetworkQualityTracker, NotificationService, PYTHON_VERSION, PipelineRunner, PipelineValidator, PythonEnvManager, RESTART_MARKER_FILE, RUNTIME_DEFAULTS, ReadinessRegistry, ReadinessTimeoutError, ReplEngine, RingBuffer, ScopedLogger, ScopedTokenManager, SocketChannel, SqliteSettingsAddon, SqliteSettingsBackend, StagingArea, StorageLocationManager, StorageManager, StorageOrchestratorAddon, StorageOrchestratorService, SystemConfigAddon, SystemEventBus, ToastService, UDS_NO_ROUTE_PREFIX, UdsLocalTransportClient, UdsLocalTransportServer, UserManager, WinstonDestination, WinstonLoggingAddon, __resetCapUsageRegistryForTests, adaptBrokerToCluster, addonSettingsCapability, bootstrapSchema, brokerCallForCap, brokerTransportLink, buildBinaryPath, buildCapRouters, buildLinkChain, buildNativeCapProxy, buildNodeManifest, buildStorageLocationRegistry, buildUdsNativeCapProxy, builderMountedCapNames, callRegisterNodeWithRetry, callWithServiceDiscovery, capActionName, capActionSuffix, capBareAction, capServiceName, classifyCapRoute, clearPendingRestart, clusterSecretMatches, collectModelFiles, contentTypeFor, copyDirRecursive, copyExtraFileDirs, createAddonContext, createAddonService, createAuthenticatedFileServer, createBroker, createBrokerDeviceManagerApi, createCoreCapService, createFileDataPlaneHandler, createHubCapForwardService, createHubService, createKernelHwAccel, createLocalTransport, createParentUnownedCallHandler, createProcessService, createReadinessService, createReadinessServiceForRegistry, createScopedProcessManager, createStreamProbeBrokerService, createUdsAddonContext, createUdsEventBridge, createUdsEventBus, createUdsLogger, createUdsLoggerWithControl, deleteModelFromDisk, deriveAgentListenPort, describeProviderKindDrift, detectWorkspacePackagesDir, downloadBinary, downloadFile, downloadModel, emitDownForOwnedCaps, encodeFrame, ensureBinary, ensureDir, ensureFfmpeg, ensureLibraryBuilt, ensureModel, ensurePython, ensureTlsCert, expandCapMethods, fetchJson, findInPath, formatLogLine, getBrokerEventBus, getCapUsageRegistry, getFfmpegDownloadUrl, getModelFilePath, getMoleculerEventStats, getOrInitReadinessRegistry, getOrInitReadinessRegistryForClient, getPidStats, getPlatformInfo, getPythonDownloadUrl, getRestartMarkerPath, getSinglePidStats, getWorkerDeviceRegistry, hashClusterSecret, installManifestNativeDeps, installManifestPythonDeps, installPackageFromNpm, installPythonPackages, installPythonRequirements, ipcChildLink, ipcParentLink, isAddonDeploySource, isArrayOutputSchema, isClusterSecretMismatchError, isInfraCapability, isModelDownloaded, isSourceNewer, loadTlsCert, localEndpointPath, localProviderLink, mountNativeCapService, parseCapAction, parseRangeHeader, parseTokenizedUrl, proxyToUpstream, readPendingRestart, readinessKey, registerEventBusService, resolveFilePath, resolveHwAccel, scheduleSelfRestart, scopeKey, scopesAllowDeviceCap, serializeTypedArrays, setHubConnected, setNodeEventInterest, stageFrameworkLockstep, stripCamstackDeps, subscribePassthrough, udsChildLogToWorkerEntry, validateProviderRegistrations, writePendingRestart };