@camstack/system 1.2.156 → 1.2.159
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.
- package/dist/addon-runner.js +17 -16
- package/dist/addon-runner.mjs +2 -1
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
- package/dist/builtins/alerts/alerts.addon.js +1 -1
- package/dist/builtins/alerts/alerts.addon.mjs +1 -1
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +1 -1
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +1 -1
- package/dist/builtins/console-logging/index.js +1 -1
- package/dist/builtins/console-logging/index.mjs +1 -1
- package/dist/builtins/core-blocks/core-blocks.addon.js +1 -1
- package/dist/builtins/core-blocks/core-blocks.addon.mjs +1 -1
- package/dist/builtins/device-manager/device-manager.addon.js +2 -2
- package/dist/builtins/device-manager/device-manager.addon.mjs +2 -2
- package/dist/builtins/doorbell/virtual-doorbell.addon.js +1 -1
- package/dist/builtins/doorbell/virtual-doorbell.addon.mjs +1 -1
- package/dist/builtins/hub-forwarder/index.js +1 -1
- package/dist/builtins/hub-forwarder/index.mjs +1 -1
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
- package/dist/builtins/local-auth/local-auth.addon.js +1 -1
- package/dist/builtins/local-auth/local-auth.addon.mjs +1 -1
- package/dist/builtins/local-network/local-network.addon.js +1 -1
- package/dist/builtins/local-network/local-network.addon.mjs +1 -1
- package/dist/builtins/loki-logging/index.js +1 -1
- package/dist/builtins/loki-logging/index.mjs +1 -1
- package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
- package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
- package/dist/builtins/platform-probe/index.js +1 -1
- package/dist/builtins/platform-probe/index.mjs +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
- package/dist/builtins/snapshot/index.js +1 -1
- package/dist/builtins/snapshot/index.mjs +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +0 -0
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +0 -0
- package/dist/builtins/sqlite-storage/vector-index-shared.d.ts +30 -5
- package/dist/builtins/sqlite-storage/vector-index-vec.d.ts +28 -6
- package/dist/builtins/storage-orchestrator/access-guards.d.ts +32 -0
- package/dist/builtins/storage-orchestrator/location-secrets.d.ts +33 -0
- package/dist/builtins/storage-orchestrator/storage-migration-coordinator.d.ts +71 -1
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.d.ts +26 -0
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +491 -9
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +491 -9
- package/dist/builtins/storage-orchestrator/storage-orchestrator.service.d.ts +37 -1
- package/dist/builtins/system-config/system-config.addon.js +1 -1
- package/dist/builtins/system-config/system-config.addon.mjs +1 -1
- package/dist/builtins/winston-logging/index.js +1 -1
- package/dist/builtins/winston-logging/index.mjs +1 -1
- package/dist/{dist-CDgIzo82.js → dist-Ck2jkBZk.js} +463 -10
- package/dist/{dist-LvKus-mT.mjs → dist-DLh4_rn3.mjs} +446 -11
- package/dist/index.js +204 -151
- package/dist/index.mjs +67 -15
- package/dist/kernel/config-manager.d.ts +31 -0
- package/dist/kernel/deps/manifest-system-deps.d.ts +15 -0
- package/dist/kernel/index.d.ts +2 -0
- package/dist/kernel/settings-door-view.d.ts +2 -2
- package/dist/kernel/storage-location-registry.d.ts +16 -1
- package/dist/{manifest-python-deps-DVODn-qc.js → manifest-system-deps-8boi90D9.js} +202 -7
- package/dist/{manifest-python-deps-CD14Pv0-.mjs → manifest-system-deps-tZZYG3RR.mjs} +197 -8
- package/dist/{retired-settings-keys-CV4QVdXj.mjs → retired-settings-keys-Bi0ZKBjb.mjs} +1 -1
- package/dist/{retired-settings-keys-BfAzWvPC.js → retired-settings-keys-Dp_CyuCW.js} +1 -1
- package/package.json +2 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "./dist-
|
|
1
|
+
import "./dist-DLh4_rn3.mjs";
|
|
2
2
|
import * as crypto$1 from "node:crypto";
|
|
3
3
|
import { randomBytes, randomUUID } from "node:crypto";
|
|
4
4
|
import { ensureBinary, ensureFfmpeg, ensurePython, installPythonPackages, installPythonRequirements } from "@camstack/types/node";
|
|
@@ -1603,7 +1603,7 @@ function createAddonDataPlaneFacility(args) {
|
|
|
1603
1603
|
* Failures THROW with an actionable message — a caller must never proceed as
|
|
1604
1604
|
* if dependencies were installed when they were not.
|
|
1605
1605
|
*/
|
|
1606
|
-
var execFileAsync$
|
|
1606
|
+
var execFileAsync$2 = promisify(execFile);
|
|
1607
1607
|
var DEFAULT_REGISTRY = "https://registry.npmjs.org";
|
|
1608
1608
|
/** Where the bootstrap lands inside `cacheDir` (npm tgz carries a `package/` prefix). */
|
|
1609
1609
|
function bootstrappedCliPath(cacheDir) {
|
|
@@ -1611,7 +1611,7 @@ function bootstrappedCliPath(cacheDir) {
|
|
|
1611
1611
|
}
|
|
1612
1612
|
async function defaultProbeSystemNpm() {
|
|
1613
1613
|
try {
|
|
1614
|
-
await execFileAsync$
|
|
1614
|
+
await execFileAsync$2("npm", ["--version"], { timeout: 15e3 });
|
|
1615
1615
|
return true;
|
|
1616
1616
|
} catch {
|
|
1617
1617
|
return false;
|
|
@@ -1629,7 +1629,7 @@ async function defaultDownloadTarball(url, destTgz) {
|
|
|
1629
1629
|
await fs.promises.writeFile(destTgz, bytes);
|
|
1630
1630
|
}
|
|
1631
1631
|
async function defaultExtractTarball(tgzPath, destDir) {
|
|
1632
|
-
await execFileAsync$
|
|
1632
|
+
await execFileAsync$2("tar", [
|
|
1633
1633
|
"-xzf",
|
|
1634
1634
|
tgzPath,
|
|
1635
1635
|
"-C",
|
|
@@ -1668,7 +1668,7 @@ async function runNpm(args, options) {
|
|
|
1668
1668
|
registry: options.registry,
|
|
1669
1669
|
logger: options.logger
|
|
1670
1670
|
});
|
|
1671
|
-
return execFileAsync$
|
|
1671
|
+
return execFileAsync$2(invocation.command, [...invocation.argsPrefix, ...args], {
|
|
1672
1672
|
...options.cwd !== void 0 ? { cwd: options.cwd } : {},
|
|
1673
1673
|
timeout: options.timeout ?? 3e5
|
|
1674
1674
|
});
|
|
@@ -1748,7 +1748,7 @@ function resolveAddonClass(mod) {
|
|
|
1748
1748
|
}
|
|
1749
1749
|
//#endregion
|
|
1750
1750
|
//#region src/kernel/deps/manifest-native-deps.ts
|
|
1751
|
-
var execFileAsync = promisify(execFile);
|
|
1751
|
+
var execFileAsync$1 = promisify(execFile);
|
|
1752
1752
|
/**
|
|
1753
1753
|
* Fallback bootstrap-cache location when the caller doesn't thread one
|
|
1754
1754
|
* through (the forked addon-runner's spawn-time install). tmpdir survives the
|
|
@@ -2057,7 +2057,7 @@ async function rebuildNativeDeps(addonDir, packageNames, logger, npmCacheDir, re
|
|
|
2057
2057
|
return;
|
|
2058
2058
|
}
|
|
2059
2059
|
logger.warn("@electron/rebuild not available — falling back to npx", { meta: { addonDir } });
|
|
2060
|
-
await execFileAsync("npx", [
|
|
2060
|
+
await execFileAsync$1("npx", [
|
|
2061
2061
|
"--yes",
|
|
2062
2062
|
"electron-rebuild",
|
|
2063
2063
|
"-m",
|
|
@@ -9500,4 +9500,193 @@ async function installManifestPythonDeps(declaration, addonDir, deps, logger) {
|
|
|
9500
9500
|
await deps.installPythonRequirements(reqAbs);
|
|
9501
9501
|
}
|
|
9502
9502
|
//#endregion
|
|
9503
|
-
|
|
9503
|
+
//#region src/kernel/deps/manifest-system-deps.ts
|
|
9504
|
+
/**
|
|
9505
|
+
* Auto-install the host binaries declared in an addon's manifest
|
|
9506
|
+
* (`camstack.addons[].systemDependencies`) before `onInitialize()` runs.
|
|
9507
|
+
*
|
|
9508
|
+
* ── Why this is framework and not addon-local ──────────────────────────────
|
|
9509
|
+
* The Python precedent (`camstack.addons[].python.requirements` →
|
|
9510
|
+
* `installManifestPythonDeps`, called from the same place in
|
|
9511
|
+
* `addon-runner.ts`) already answers "this addon needs something installed,
|
|
9512
|
+
* satisfy it before its caps register". A binary is the same question with a
|
|
9513
|
+
* different package manager, so it gets the same mechanism rather than a
|
|
9514
|
+
* second one per addon — CLAUDE.md forbids a parallel answer where one exists,
|
|
9515
|
+
* and the next addon that needs `rclone` or `mediainfo` inherits this for
|
|
9516
|
+
* free instead of copying a startup routine.
|
|
9517
|
+
*
|
|
9518
|
+
* ── The four things this has to get right ──────────────────────────────────
|
|
9519
|
+
* 1. **Cheap on the common path.** The binary is probed first; the package
|
|
9520
|
+
* manager is only invoked when it is genuinely absent. Runners respawn
|
|
9521
|
+
* routinely (deploys, updates, crash recovery) and a network round-trip on
|
|
9522
|
+
* every boot is a cost the Python mechanism does not impose either.
|
|
9523
|
+
* 2. **Runs every boot, not once.** The install lands INSIDE the container
|
|
9524
|
+
* and is lost on every image update. That is expected. "Already
|
|
9525
|
+
* installed" is a success, not an error.
|
|
9526
|
+
* 3. **Honest, not fatal.** A failure warns and returns. The addon still
|
|
9527
|
+
* loads; the capability that wraps the binary is responsible for refusing
|
|
9528
|
+
* loudly on its own surface. Aborting the runner here would take the
|
|
9529
|
+
* addon's SIBLINGS down with it (they share `execution.group`).
|
|
9530
|
+
* 4. **Platform reality is stated, not assumed.** An unsupported host logs
|
|
9531
|
+
* which manager it looked for and continues. Silence would read as
|
|
9532
|
+
* "installed".
|
|
9533
|
+
*
|
|
9534
|
+
* Every branch that declines to install SAYS SO. A dependency step that
|
|
9535
|
+
* produced no line at all is indistinguishable from one that never ran, and
|
|
9536
|
+
* the failure it precedes ("smbclient: ENOENT") arrives minutes later in a
|
|
9537
|
+
* different addon's logs.
|
|
9538
|
+
*/
|
|
9539
|
+
var execFileAsync = promisify(execFile);
|
|
9540
|
+
/** How long a single package-manager invocation may take. */
|
|
9541
|
+
var INSTALL_TIMEOUT_MS = 300 * 1e3;
|
|
9542
|
+
/** How long the `command -v <binary>` presence probe may take. */
|
|
9543
|
+
var PROBE_TIMEOUT_MS = 1e4;
|
|
9544
|
+
/**
|
|
9545
|
+
* Satisfy every `systemDependencies` entry the declaration carries.
|
|
9546
|
+
* Resolves regardless of outcome — see the docblock.
|
|
9547
|
+
*/
|
|
9548
|
+
async function installManifestSystemDeps(declaration, logger, options = {}) {
|
|
9549
|
+
const deps = declaration.systemDependencies;
|
|
9550
|
+
if (!deps || deps.length === 0) return;
|
|
9551
|
+
const hasBinary = options.hasBinary ?? defaultHasBinary;
|
|
9552
|
+
const detectManager = options.detectManager ?? defaultDetectManager;
|
|
9553
|
+
const run = options.run ?? defaultRun;
|
|
9554
|
+
const platform = options.platform ?? process.platform;
|
|
9555
|
+
for (const dep of deps) try {
|
|
9556
|
+
await satisfyOne(dep, declaration.id, {
|
|
9557
|
+
hasBinary,
|
|
9558
|
+
detectManager,
|
|
9559
|
+
run,
|
|
9560
|
+
platform
|
|
9561
|
+
}, logger);
|
|
9562
|
+
} catch (err) {
|
|
9563
|
+
logger.warn("system dependency step failed", { meta: {
|
|
9564
|
+
addonId: declaration.id,
|
|
9565
|
+
binary: dep.binary,
|
|
9566
|
+
error: err instanceof Error ? err.message : String(err)
|
|
9567
|
+
} });
|
|
9568
|
+
}
|
|
9569
|
+
}
|
|
9570
|
+
async function satisfyOne(dep, addonId, rt, logger) {
|
|
9571
|
+
if (await rt.hasBinary(dep.binary)) {
|
|
9572
|
+
logger.debug("system dependency already present", { meta: {
|
|
9573
|
+
addonId,
|
|
9574
|
+
binary: dep.binary
|
|
9575
|
+
} });
|
|
9576
|
+
return;
|
|
9577
|
+
}
|
|
9578
|
+
const manager = await rt.detectManager();
|
|
9579
|
+
if (manager === null) {
|
|
9580
|
+
logger.warn("system dependency missing and no supported package manager on this host", { meta: {
|
|
9581
|
+
addonId,
|
|
9582
|
+
binary: dep.binary,
|
|
9583
|
+
platform: rt.platform,
|
|
9584
|
+
...dep.reason !== void 0 ? { reason: dep.reason } : {}
|
|
9585
|
+
} });
|
|
9586
|
+
return;
|
|
9587
|
+
}
|
|
9588
|
+
const packageName = dep.packages[manager];
|
|
9589
|
+
if (packageName === void 0 || packageName.length === 0) {
|
|
9590
|
+
logger.warn("system dependency missing and the addon declares no package for this manager", { meta: {
|
|
9591
|
+
addonId,
|
|
9592
|
+
binary: dep.binary,
|
|
9593
|
+
manager,
|
|
9594
|
+
...dep.reason !== void 0 ? { reason: dep.reason } : {}
|
|
9595
|
+
} });
|
|
9596
|
+
return;
|
|
9597
|
+
}
|
|
9598
|
+
const plan = planFor(manager, packageName);
|
|
9599
|
+
logger.info("installing system dependency", { meta: {
|
|
9600
|
+
addonId,
|
|
9601
|
+
binary: dep.binary,
|
|
9602
|
+
manager,
|
|
9603
|
+
package: packageName
|
|
9604
|
+
} });
|
|
9605
|
+
try {
|
|
9606
|
+
for (const [command, args] of plan.steps) await rt.run(command, args);
|
|
9607
|
+
} catch (err) {
|
|
9608
|
+
logger.warn("system dependency install failed — the addon loads, its capability must refuse", { meta: {
|
|
9609
|
+
addonId,
|
|
9610
|
+
binary: dep.binary,
|
|
9611
|
+
manager,
|
|
9612
|
+
package: packageName,
|
|
9613
|
+
error: err instanceof Error ? err.message : String(err),
|
|
9614
|
+
...dep.reason !== void 0 ? { reason: dep.reason } : {}
|
|
9615
|
+
} });
|
|
9616
|
+
return;
|
|
9617
|
+
}
|
|
9618
|
+
if (!await rt.hasBinary(dep.binary)) {
|
|
9619
|
+
logger.warn("system dependency installed but the binary still does not resolve", { meta: {
|
|
9620
|
+
addonId,
|
|
9621
|
+
binary: dep.binary,
|
|
9622
|
+
manager,
|
|
9623
|
+
package: packageName
|
|
9624
|
+
} });
|
|
9625
|
+
return;
|
|
9626
|
+
}
|
|
9627
|
+
logger.info("system dependency installed", { meta: {
|
|
9628
|
+
addonId,
|
|
9629
|
+
binary: dep.binary,
|
|
9630
|
+
manager,
|
|
9631
|
+
package: packageName
|
|
9632
|
+
} });
|
|
9633
|
+
}
|
|
9634
|
+
function planFor(manager, packageName) {
|
|
9635
|
+
switch (manager) {
|
|
9636
|
+
case "apt": return {
|
|
9637
|
+
manager,
|
|
9638
|
+
steps: [["apt-get", ["update"]], ["apt-get", [
|
|
9639
|
+
"install",
|
|
9640
|
+
"-y",
|
|
9641
|
+
"--no-install-recommends",
|
|
9642
|
+
packageName
|
|
9643
|
+
]]]
|
|
9644
|
+
};
|
|
9645
|
+
case "apk": return {
|
|
9646
|
+
manager,
|
|
9647
|
+
steps: [["apk", [
|
|
9648
|
+
"add",
|
|
9649
|
+
"--no-cache",
|
|
9650
|
+
packageName
|
|
9651
|
+
]]]
|
|
9652
|
+
};
|
|
9653
|
+
case "dnf": return {
|
|
9654
|
+
manager,
|
|
9655
|
+
steps: [["dnf", [
|
|
9656
|
+
"install",
|
|
9657
|
+
"-y",
|
|
9658
|
+
packageName
|
|
9659
|
+
]]]
|
|
9660
|
+
};
|
|
9661
|
+
case "brew": return {
|
|
9662
|
+
manager,
|
|
9663
|
+
steps: [["brew", ["install", packageName]]]
|
|
9664
|
+
};
|
|
9665
|
+
}
|
|
9666
|
+
}
|
|
9667
|
+
async function defaultHasBinary(binary) {
|
|
9668
|
+
try {
|
|
9669
|
+
await execFileAsync("command", ["-v", binary], {
|
|
9670
|
+
timeout: PROBE_TIMEOUT_MS,
|
|
9671
|
+
shell: process.platform === "win32" ? false : "/bin/sh"
|
|
9672
|
+
});
|
|
9673
|
+
return true;
|
|
9674
|
+
} catch {
|
|
9675
|
+
return false;
|
|
9676
|
+
}
|
|
9677
|
+
}
|
|
9678
|
+
async function defaultDetectManager() {
|
|
9679
|
+
const candidates = os.platform() === "darwin" ? ["brew"] : [
|
|
9680
|
+
"apt",
|
|
9681
|
+
"apk",
|
|
9682
|
+
"dnf",
|
|
9683
|
+
"brew"
|
|
9684
|
+
];
|
|
9685
|
+
for (const candidate of candidates) if (await defaultHasBinary(candidate === "apt" ? "apt-get" : candidate)) return candidate;
|
|
9686
|
+
return null;
|
|
9687
|
+
}
|
|
9688
|
+
async function defaultRun(command, args) {
|
|
9689
|
+
await execFileAsync(command, [...args], { timeout: INSTALL_TIMEOUT_MS });
|
|
9690
|
+
}
|
|
9691
|
+
//#endregion
|
|
9692
|
+
export { encodeFrame as $, HEAP_SPACE_REPORT_MIN_MB as $t, createHubCapForwardService as A, HEAP_WATCH_WARN_RATIO as At, AGENT_CAP_FWD_ACTION as B, createDeferredHeapWatchSink as Bt, brokerCallForCap as C, formatEventPlane as Cn, resolveNpmInvocation as Ct, localProviderLink as D, HEAP_RECLAIM_STEADY_STATE_INTERVAL_MS as Dt, ipcParentLink as E, HEAP_RECLAIM_MIN_INTERVAL_MS as Et, createUdsLogger as F, RSS_BUDGET_RELEASE_RATIO as Ft, callWithServiceDiscovery as G, nextRssBudgetState as Gt, CapRouteResolver as H, createV8Reclaimer as Ht, createUdsLoggerWithControl as I, RUNNER_HEAP_WATCH_INTERVAL_MS as It, UdsLocalTransportClient as J, shouldReclaim as Jt, readMoleculerFanoutMode as K, parseRssBudgetMb as Kt, LocalChildClient as L, RUNNER_RSS_BUDGET_ENV as Lt, createUdsEventBridge as M, HUB_MAIN_RSS_BUDGET_MB as Mt, createUdsEventBus as N, HUB_RSS_BUDGET_ENV as Nt, HUB_CAP_FWD_ACTION as O, HEAP_RECLAIM_TRIGGER_MB as Ot, udsChildLogToWorkerEntry as P, RSS_BUDGET_REANNOUNCE_MIN_MS as Pt, FrameDecoder as Q, DECISIVE_HEAP_SPACES as Qt, LocalChildRegistry as R, ZERO_LOOP_DELAY as Rt, getCapUsageRegistry as S, diffEventPlane as Sn, resolveAddonClass as St, buildLinkChain as T, createAddonDataPlaneFacility as Tt, CapRouteError as U, describeRss as Ut, AGENT_CAP_FWD_SERVICE as V, createLoopDelayMeter as Vt, classifyCapRoute as W, hubMainRssBudget as Wt, SocketChannel as X, startRunnerHeapWatch as Xt, UdsLocalTransportServer as Y, startHeapWatch as Yt, localEndpointPath as Z, strandedMb as Zt, AddonDepsManager as _, socketDirectionBytes as _n, DeviceRegistry as _t, createUdsAddonContext as a, readHeapSpaces as an, mountNativeCapService as at, CapUsageRegistry as b, createEventPlaneMeter as bn, copyBundledNativeModules as bt, getOrInitReadinessRegistryForClient as c, SOCKET_PLANE_TOP_N as cn, validateProviderRegistrations as ct, clusterEventTopic as d, diffSocketPlane as dn, capActionSuffix as dt, RUNNER_HEAP_SNAPSHOT_ENV as en, buildNativeCapProxy as et, getBrokerEventBus as f, formatSocketPlane as fn, capBareAction as ft, subscribePassthrough as g, sampleSocketDirection as gn, serializeTypedArrays as gt, setNodeEventInterest as h, recordSocketFrame as hn, deserializeTypedArrays as ht, createAddonContext as i, heapSpaceField as in, getWorkerNativeCapSnapshot as it, createParentUnownedCallHandler as j, HUB_MAIN_HEAP_WATCH_LABEL as jt, HUB_CAP_FWD_SERVICE as k, HEAP_WATCH_INTERVAL_MS as kt, setHubConnected as l, createSocketPlaneMeter as ln, NATIVE_PROVIDER_SERVICE_INFIX as lt, registerEventBusService as m, createSocketDirectionCounters as mn, parseCapAction as mt, installManifestPythonDeps as n, formatHeapSpaces as nn, createBrokerDeviceManagerApi as nt, getWorkerDeviceRegistry as o, selectReportedSpaces as on, setWorkerNativeCapsChangeListener as ot, getMoleculerEventStats as p, EMPTY_SOCKET_DIRECTION as pn, capServiceName as pt, createLocalTransport as q, reclaimIntervalMs as qt, adaptBrokerToCluster as r, heapSnapshotAuthorised as rn, getWorkerNativeCapProvider as rt, getOrInitReadinessRegistry as s, EMPTY_SOCKET_PLANE_BASELINE as sn, createAddonService as st, installManifestSystemDeps as t, emitHeapDiagnosticReport as tn, buildUdsNativeCapProxy as tt, EVENT_TOPIC_PREFIX as u, createSocketPlaneReader as un, capActionName as ut, createKernelHwAccel as v, socketDirectionMessages as vn, CapabilityHandle as vt, brokerTransportLink as w, runNpm as wt, __resetCapUsageRegistryForTests as x, createEventPlaneReader as xn, installManifestNativeDeps as xt, resolveHwAccel as y, EVENT_PLANE_TOP_N as yn, CapabilityUnavailableError as yt, UDS_NO_ROUTE_PREFIX as z, buildHeapSample as zt };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/system",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.159",
|
|
4
4
|
"description": "Core addon for CamStack — builtins, pipeline, process management, auth, logging, events",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|
|
@@ -135,6 +135,7 @@
|
|
|
135
135
|
"displayName": "Backups",
|
|
136
136
|
"description": "Backup archives.",
|
|
137
137
|
"cardinality": "multi",
|
|
138
|
+
"access": "cap-mediated",
|
|
138
139
|
"defaultRoot": "backup"
|
|
139
140
|
}
|
|
140
141
|
]
|