@camstack/system 1.1.24 → 1.1.25
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 +1 -1
- package/dist/addon-runner.mjs +1 -1
- package/dist/builtins/platform-probe/index.d.ts +22 -0
- package/dist/builtins/platform-probe/index.js +83 -2
- package/dist/builtins/platform-probe/index.mjs +84 -3
- package/dist/index.js +1 -2
- package/dist/index.mjs +2 -2
- package/dist/kernel/index.d.ts +0 -2
- package/dist/kernel/transport/parent-unowned-call.d.ts +20 -0
- package/dist/{manifest-python-deps-XWJwKYDx.js → manifest-python-deps-BqXCckob.js} +1 -36
- package/dist/{manifest-python-deps-CPJXzrZt.mjs → manifest-python-deps-Dxl4twM3.mjs} +5 -34
- package/package.json +1 -1
- package/dist/kernel/hwaccel/hwaccel-service.d.ts +0 -4
package/dist/addon-runner.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const require_chunk = require("./chunk-Cek0wNdY.js");
|
|
2
|
-
const require_manifest_python_deps = require("./manifest-python-deps-
|
|
2
|
+
const require_manifest_python_deps = require("./manifest-python-deps-BqXCckob.js");
|
|
3
3
|
const require_custom_action_registry = require("./custom-action-registry-vLYEFTtv.js");
|
|
4
4
|
let node_fs = require("node:fs");
|
|
5
5
|
node_fs = require_chunk.__toESM(node_fs);
|
package/dist/addon-runner.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { F as createUdsLoggerWithControl, I as LocalChildClient, i as createUdsAddonContext, it as setWorkerNativeCapsChangeListener, nt as getWorkerNativeCapSnapshot, ot as validateProviderRegistrations, t as installManifestPythonDeps, tt as getWorkerNativeCapProvider, vt as installManifestNativeDeps, yt as resolveAddonClass } from "./manifest-python-deps-Dxl4twM3.mjs";
|
|
2
2
|
import { t as CustomActionRegistry } from "./custom-action-registry-BEXwC-oo.mjs";
|
|
3
3
|
import { register } from "node:module";
|
|
4
4
|
import * as fs from "node:fs";
|
|
@@ -8,7 +8,29 @@ export declare class PlatformProbeNativeAddon extends BaseAddon {
|
|
|
8
8
|
private encoderProber;
|
|
9
9
|
private decodeAccelProber;
|
|
10
10
|
private cachedCaps;
|
|
11
|
+
/**
|
|
12
|
+
* Per-boot generation stamp for the manual readiness emissions below.
|
|
13
|
+
* Constant for the lifetime of this addon instance (== one process boot);
|
|
14
|
+
* consumer-side registries derive a monotonic epoch from generation
|
|
15
|
+
* transitions. Mirrors `BaseAddon._readinessGeneration` (private there).
|
|
16
|
+
*/
|
|
17
|
+
private readonly readinessGeneration;
|
|
11
18
|
constructor();
|
|
19
|
+
/**
|
|
20
|
+
* Manual readiness protocol. The provider registers synchronously from
|
|
21
|
+
* `onInitialize`, but the REAL hardware + EP scoring is the async
|
|
22
|
+
* `probePromise` (embedded-Python install included). The BaseAddon
|
|
23
|
+
* auto-emit would flip `ready` at registration time — BEFORE any
|
|
24
|
+
* accelerator is visible — so probe-gated consumers (detection-pipeline
|
|
25
|
+
* engine auto-pick) would read accelerator-blind results and stick on
|
|
26
|
+
* onnx-CPU. Instead: `starting` at init, the single authoritative
|
|
27
|
+
* `ready` once the probe resolves, `down` on shutdown.
|
|
28
|
+
*/
|
|
29
|
+
protected get autoEmitReadiness(): boolean;
|
|
30
|
+
/** Bare cluster node id — readiness is scoped `{type:'node', nodeId}`. */
|
|
31
|
+
private bareLocalNodeId;
|
|
32
|
+
/** Emit a `system.ready-state` transition for the platform-probe cap. */
|
|
33
|
+
private emitProbeReadiness;
|
|
12
34
|
/**
|
|
13
35
|
* Resolve the ffmpeg binary the encoder probe should test, from the cluster
|
|
14
36
|
* `ffmpeg` config section (`binaryPath`). The probe MUST exercise the same
|
|
@@ -594,15 +594,86 @@ var HardwareDecodeAccelProber = class {
|
|
|
594
594
|
};
|
|
595
595
|
//#endregion
|
|
596
596
|
//#region src/builtins/platform-probe/index.ts
|
|
597
|
+
/**
|
|
598
|
+
* The decode-hwaccel backends `ctx.kernel.hwaccel.resolve` accepts. The cap
|
|
599
|
+
* input enum is WIDER (it also carries EP-only names — coreml/openvino/… —
|
|
600
|
+
* shared with other probe surfaces), so the provider param must stay
|
|
601
|
+
* `string`-typed to satisfy the `InferProvider` contract. We narrow it here
|
|
602
|
+
* with a type guard instead of a cast: any value that is not a known decode
|
|
603
|
+
* backend (or the `'none'` sentinel) resolves to `null` → auto-probe.
|
|
604
|
+
*/
|
|
605
|
+
var HWACCEL_DECODE_BACKENDS = [
|
|
606
|
+
"videotoolbox",
|
|
607
|
+
"cuda",
|
|
608
|
+
"nvdec",
|
|
609
|
+
"vaapi",
|
|
610
|
+
"qsv",
|
|
611
|
+
"d3d11va",
|
|
612
|
+
"dxva2",
|
|
613
|
+
"amf",
|
|
614
|
+
"vdpau",
|
|
615
|
+
"drm"
|
|
616
|
+
];
|
|
617
|
+
function isHwAccelBackend(value) {
|
|
618
|
+
return HWACCEL_DECODE_BACKENDS.includes(value);
|
|
619
|
+
}
|
|
620
|
+
function narrowHwAccelPrefer(value) {
|
|
621
|
+
if (value === "none") return "none";
|
|
622
|
+
if (typeof value === "string" && isHwAccelBackend(value)) return value;
|
|
623
|
+
return null;
|
|
624
|
+
}
|
|
597
625
|
var PlatformProbeNativeAddon = class extends _camstack_types.BaseAddon {
|
|
598
626
|
scorer = null;
|
|
599
627
|
encoderProber = null;
|
|
600
628
|
decodeAccelProber = null;
|
|
601
629
|
cachedCaps = null;
|
|
630
|
+
/**
|
|
631
|
+
* Per-boot generation stamp for the manual readiness emissions below.
|
|
632
|
+
* Constant for the lifetime of this addon instance (== one process boot);
|
|
633
|
+
* consumer-side registries derive a monotonic epoch from generation
|
|
634
|
+
* transitions. Mirrors `BaseAddon._readinessGeneration` (private there).
|
|
635
|
+
*/
|
|
636
|
+
readinessGeneration = typeof crypto !== "undefined" && crypto.randomUUID ? crypto.randomUUID() : Math.random().toString(36).slice(2, 14);
|
|
602
637
|
constructor() {
|
|
603
638
|
super({});
|
|
604
639
|
}
|
|
605
640
|
/**
|
|
641
|
+
* Manual readiness protocol. The provider registers synchronously from
|
|
642
|
+
* `onInitialize`, but the REAL hardware + EP scoring is the async
|
|
643
|
+
* `probePromise` (embedded-Python install included). The BaseAddon
|
|
644
|
+
* auto-emit would flip `ready` at registration time — BEFORE any
|
|
645
|
+
* accelerator is visible — so probe-gated consumers (detection-pipeline
|
|
646
|
+
* engine auto-pick) would read accelerator-blind results and stick on
|
|
647
|
+
* onnx-CPU. Instead: `starting` at init, the single authoritative
|
|
648
|
+
* `ready` once the probe resolves, `down` on shutdown.
|
|
649
|
+
*/
|
|
650
|
+
get autoEmitReadiness() {
|
|
651
|
+
return false;
|
|
652
|
+
}
|
|
653
|
+
/** Bare cluster node id — readiness is scoped `{type:'node', nodeId}`. */
|
|
654
|
+
bareLocalNodeId() {
|
|
655
|
+
const raw = this.ctx.kernel?.localNodeId ?? "hub";
|
|
656
|
+
return raw.includes("/") ? raw.split("/")[0] : raw;
|
|
657
|
+
}
|
|
658
|
+
/** Emit a `system.ready-state` transition for the platform-probe cap. */
|
|
659
|
+
emitProbeReadiness(state) {
|
|
660
|
+
const ctx = this.ctxIfReady;
|
|
661
|
+
if (!ctx) return;
|
|
662
|
+
const nodeId = this.bareLocalNodeId();
|
|
663
|
+
try {
|
|
664
|
+
(0, _camstack_types.emitReadiness)(ctx.eventBus, {
|
|
665
|
+
capName: _camstack_types.platformProbeCapability.name,
|
|
666
|
+
scope: {
|
|
667
|
+
type: "node",
|
|
668
|
+
nodeId
|
|
669
|
+
},
|
|
670
|
+
state,
|
|
671
|
+
generation: this.readinessGeneration,
|
|
672
|
+
sourceNodeId: nodeId
|
|
673
|
+
});
|
|
674
|
+
} catch {}
|
|
675
|
+
}
|
|
676
|
+
/**
|
|
606
677
|
* Resolve the ffmpeg binary the encoder probe should test, from the cluster
|
|
607
678
|
* `ffmpeg` config section (`binaryPath`). The probe MUST exercise the same
|
|
608
679
|
* binary the broker/recorder spawn, or it may report encoders for a different
|
|
@@ -617,6 +688,7 @@ var PlatformProbeNativeAddon = class extends _camstack_types.BaseAddon {
|
|
|
617
688
|
}
|
|
618
689
|
}
|
|
619
690
|
async onInitialize() {
|
|
691
|
+
this.emitProbeReadiness("starting");
|
|
620
692
|
const embeddedPython = await this.ctx.deps.ensurePython().catch((err) => {
|
|
621
693
|
this.ctx.logger.debug("ensurePython unavailable for platform probe", { meta: { error: (0, _camstack_types.errMsg)(err) } });
|
|
622
694
|
return null;
|
|
@@ -651,6 +723,7 @@ var PlatformProbeNativeAddon = class extends _camstack_types.BaseAddon {
|
|
|
651
723
|
bestReason: caps.bestScore.reason,
|
|
652
724
|
bestScore: caps.bestScore.score
|
|
653
725
|
} });
|
|
726
|
+
this.emitProbeReadiness("ready");
|
|
654
727
|
return caps;
|
|
655
728
|
}).catch((err) => {
|
|
656
729
|
const msg = (0, _camstack_types.errMsg)(err);
|
|
@@ -676,8 +749,15 @@ var PlatformProbeNativeAddon = class extends _camstack_types.BaseAddon {
|
|
|
676
749
|
},
|
|
677
750
|
resolveHwAccel: async (input) => {
|
|
678
751
|
const hwaccel = this.ctx.kernel.hwaccel;
|
|
679
|
-
if (!hwaccel) return {
|
|
680
|
-
|
|
752
|
+
if (!hwaccel) return {
|
|
753
|
+
preferred: [],
|
|
754
|
+
rationale: "kernel hwaccel unavailable"
|
|
755
|
+
};
|
|
756
|
+
const res = await hwaccel.resolve(narrowHwAccelPrefer(input.prefer));
|
|
757
|
+
return {
|
|
758
|
+
preferred: res.preferred,
|
|
759
|
+
rationale: res.rationale
|
|
760
|
+
};
|
|
681
761
|
},
|
|
682
762
|
getHardwareEncoders: async () => {
|
|
683
763
|
const prober = this.encoderProber;
|
|
@@ -707,6 +787,7 @@ var PlatformProbeNativeAddon = class extends _camstack_types.BaseAddon {
|
|
|
707
787
|
}];
|
|
708
788
|
}
|
|
709
789
|
async onShutdown() {
|
|
790
|
+
this.emitProbeReadiness("down");
|
|
710
791
|
this.scorer = null;
|
|
711
792
|
this.encoderProber = null;
|
|
712
793
|
this.decodeAccelProber = null;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as fs from "node:fs";
|
|
2
|
-
import { BaseAddon, EventCategory, errMsg, platformProbeCapability, scoreRuntimes } from "@camstack/types";
|
|
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";
|
|
@@ -587,15 +587,86 @@ var HardwareDecodeAccelProber = class {
|
|
|
587
587
|
};
|
|
588
588
|
//#endregion
|
|
589
589
|
//#region src/builtins/platform-probe/index.ts
|
|
590
|
+
/**
|
|
591
|
+
* The decode-hwaccel backends `ctx.kernel.hwaccel.resolve` accepts. The cap
|
|
592
|
+
* input enum is WIDER (it also carries EP-only names — coreml/openvino/… —
|
|
593
|
+
* shared with other probe surfaces), so the provider param must stay
|
|
594
|
+
* `string`-typed to satisfy the `InferProvider` contract. We narrow it here
|
|
595
|
+
* with a type guard instead of a cast: any value that is not a known decode
|
|
596
|
+
* backend (or the `'none'` sentinel) resolves to `null` → auto-probe.
|
|
597
|
+
*/
|
|
598
|
+
var HWACCEL_DECODE_BACKENDS = [
|
|
599
|
+
"videotoolbox",
|
|
600
|
+
"cuda",
|
|
601
|
+
"nvdec",
|
|
602
|
+
"vaapi",
|
|
603
|
+
"qsv",
|
|
604
|
+
"d3d11va",
|
|
605
|
+
"dxva2",
|
|
606
|
+
"amf",
|
|
607
|
+
"vdpau",
|
|
608
|
+
"drm"
|
|
609
|
+
];
|
|
610
|
+
function isHwAccelBackend(value) {
|
|
611
|
+
return HWACCEL_DECODE_BACKENDS.includes(value);
|
|
612
|
+
}
|
|
613
|
+
function narrowHwAccelPrefer(value) {
|
|
614
|
+
if (value === "none") return "none";
|
|
615
|
+
if (typeof value === "string" && isHwAccelBackend(value)) return value;
|
|
616
|
+
return null;
|
|
617
|
+
}
|
|
590
618
|
var PlatformProbeNativeAddon = class extends BaseAddon {
|
|
591
619
|
scorer = null;
|
|
592
620
|
encoderProber = null;
|
|
593
621
|
decodeAccelProber = null;
|
|
594
622
|
cachedCaps = null;
|
|
623
|
+
/**
|
|
624
|
+
* Per-boot generation stamp for the manual readiness emissions below.
|
|
625
|
+
* Constant for the lifetime of this addon instance (== one process boot);
|
|
626
|
+
* consumer-side registries derive a monotonic epoch from generation
|
|
627
|
+
* transitions. Mirrors `BaseAddon._readinessGeneration` (private there).
|
|
628
|
+
*/
|
|
629
|
+
readinessGeneration = typeof crypto !== "undefined" && crypto.randomUUID ? crypto.randomUUID() : Math.random().toString(36).slice(2, 14);
|
|
595
630
|
constructor() {
|
|
596
631
|
super({});
|
|
597
632
|
}
|
|
598
633
|
/**
|
|
634
|
+
* Manual readiness protocol. The provider registers synchronously from
|
|
635
|
+
* `onInitialize`, but the REAL hardware + EP scoring is the async
|
|
636
|
+
* `probePromise` (embedded-Python install included). The BaseAddon
|
|
637
|
+
* auto-emit would flip `ready` at registration time — BEFORE any
|
|
638
|
+
* accelerator is visible — so probe-gated consumers (detection-pipeline
|
|
639
|
+
* engine auto-pick) would read accelerator-blind results and stick on
|
|
640
|
+
* onnx-CPU. Instead: `starting` at init, the single authoritative
|
|
641
|
+
* `ready` once the probe resolves, `down` on shutdown.
|
|
642
|
+
*/
|
|
643
|
+
get autoEmitReadiness() {
|
|
644
|
+
return false;
|
|
645
|
+
}
|
|
646
|
+
/** Bare cluster node id — readiness is scoped `{type:'node', nodeId}`. */
|
|
647
|
+
bareLocalNodeId() {
|
|
648
|
+
const raw = this.ctx.kernel?.localNodeId ?? "hub";
|
|
649
|
+
return raw.includes("/") ? raw.split("/")[0] : raw;
|
|
650
|
+
}
|
|
651
|
+
/** Emit a `system.ready-state` transition for the platform-probe cap. */
|
|
652
|
+
emitProbeReadiness(state) {
|
|
653
|
+
const ctx = this.ctxIfReady;
|
|
654
|
+
if (!ctx) return;
|
|
655
|
+
const nodeId = this.bareLocalNodeId();
|
|
656
|
+
try {
|
|
657
|
+
emitReadiness(ctx.eventBus, {
|
|
658
|
+
capName: platformProbeCapability.name,
|
|
659
|
+
scope: {
|
|
660
|
+
type: "node",
|
|
661
|
+
nodeId
|
|
662
|
+
},
|
|
663
|
+
state,
|
|
664
|
+
generation: this.readinessGeneration,
|
|
665
|
+
sourceNodeId: nodeId
|
|
666
|
+
});
|
|
667
|
+
} catch {}
|
|
668
|
+
}
|
|
669
|
+
/**
|
|
599
670
|
* Resolve the ffmpeg binary the encoder probe should test, from the cluster
|
|
600
671
|
* `ffmpeg` config section (`binaryPath`). The probe MUST exercise the same
|
|
601
672
|
* binary the broker/recorder spawn, or it may report encoders for a different
|
|
@@ -610,6 +681,7 @@ var PlatformProbeNativeAddon = class extends BaseAddon {
|
|
|
610
681
|
}
|
|
611
682
|
}
|
|
612
683
|
async onInitialize() {
|
|
684
|
+
this.emitProbeReadiness("starting");
|
|
613
685
|
const embeddedPython = await this.ctx.deps.ensurePython().catch((err) => {
|
|
614
686
|
this.ctx.logger.debug("ensurePython unavailable for platform probe", { meta: { error: errMsg(err) } });
|
|
615
687
|
return null;
|
|
@@ -644,6 +716,7 @@ var PlatformProbeNativeAddon = class extends BaseAddon {
|
|
|
644
716
|
bestReason: caps.bestScore.reason,
|
|
645
717
|
bestScore: caps.bestScore.score
|
|
646
718
|
} });
|
|
719
|
+
this.emitProbeReadiness("ready");
|
|
647
720
|
return caps;
|
|
648
721
|
}).catch((err) => {
|
|
649
722
|
const msg = errMsg(err);
|
|
@@ -669,8 +742,15 @@ var PlatformProbeNativeAddon = class extends BaseAddon {
|
|
|
669
742
|
},
|
|
670
743
|
resolveHwAccel: async (input) => {
|
|
671
744
|
const hwaccel = this.ctx.kernel.hwaccel;
|
|
672
|
-
if (!hwaccel) return {
|
|
673
|
-
|
|
745
|
+
if (!hwaccel) return {
|
|
746
|
+
preferred: [],
|
|
747
|
+
rationale: "kernel hwaccel unavailable"
|
|
748
|
+
};
|
|
749
|
+
const res = await hwaccel.resolve(narrowHwAccelPrefer(input.prefer));
|
|
750
|
+
return {
|
|
751
|
+
preferred: res.preferred,
|
|
752
|
+
rationale: res.rationale
|
|
753
|
+
};
|
|
674
754
|
},
|
|
675
755
|
getHardwareEncoders: async () => {
|
|
676
756
|
const prober = this.encoderProber;
|
|
@@ -700,6 +780,7 @@ var PlatformProbeNativeAddon = class extends BaseAddon {
|
|
|
700
780
|
}];
|
|
701
781
|
}
|
|
702
782
|
async onShutdown() {
|
|
783
|
+
this.emitProbeReadiness("down");
|
|
703
784
|
this.scorer = null;
|
|
704
785
|
this.encoderProber = null;
|
|
705
786
|
this.decodeAccelProber = null;
|
package/dist/index.js
CHANGED
|
@@ -20,7 +20,7 @@ const require_builtins_local_auth_local_auth_addon = require("./builtins/local-a
|
|
|
20
20
|
require("./builtins/local-auth/index.js");
|
|
21
21
|
const require_builtins_device_manager_device_manager_addon = require("./builtins/device-manager/device-manager.addon.js");
|
|
22
22
|
require("./builtins/device-manager/index.js");
|
|
23
|
-
const require_manifest_python_deps = require("./manifest-python-deps-
|
|
23
|
+
const require_manifest_python_deps = require("./manifest-python-deps-BqXCckob.js");
|
|
24
24
|
const require_custom_action_registry = require("./custom-action-registry-vLYEFTtv.js");
|
|
25
25
|
let _camstack_types_node = require("@camstack/types/node");
|
|
26
26
|
let node_http = require("node:http");
|
|
@@ -93415,7 +93415,6 @@ exports.createCoreCapService = createCoreCapService;
|
|
|
93415
93415
|
exports.createFileDataPlaneHandler = require_model_download_service.createFileDataPlaneHandler;
|
|
93416
93416
|
exports.createHubCapForwardService = require_manifest_python_deps.createHubCapForwardService;
|
|
93417
93417
|
exports.createHubService = createHubService;
|
|
93418
|
-
exports.createHwAccelService = require_manifest_python_deps.createHwAccelService;
|
|
93419
93418
|
exports.createKernelHwAccel = require_manifest_python_deps.createKernelHwAccel;
|
|
93420
93419
|
exports.createLocalTransport = require_manifest_python_deps.createLocalTransport;
|
|
93421
93420
|
exports.createParentUnownedCallHandler = require_manifest_python_deps.createParentUnownedCallHandler;
|
package/dist/index.mjs
CHANGED
|
@@ -18,7 +18,7 @@ import { LocalAuthAddon, a as require_ms, c as __esmMin, d as __toCommonJS, f as
|
|
|
18
18
|
import "./builtins/local-auth/index.mjs";
|
|
19
19
|
import { DeviceManagerAddon } from "./builtins/device-manager/device-manager.addon.mjs";
|
|
20
20
|
import "./builtins/device-manager/index.mjs";
|
|
21
|
-
import { $ as
|
|
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-Dxl4twM3.mjs";
|
|
22
22
|
import { t as CustomActionRegistry } from "./custom-action-registry-BEXwC-oo.mjs";
|
|
23
23
|
import { PYTHON_VERSION, buildBinaryPath, downloadBinary, ensureBinary, ensureFfmpeg, ensurePython, findInPath, getFfmpegDownloadUrl, getPlatformInfo, getPythonDownloadUrl, installPythonPackages, installPythonRequirements } from "@camstack/types/node";
|
|
24
24
|
import { request } from "node:http";
|
|
@@ -93252,4 +93252,4 @@ async function stageFrameworkLockstep(input) {
|
|
|
93252
93252
|
return results;
|
|
93253
93253
|
}
|
|
93254
93254
|
//#endregion
|
|
93255
|
-
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,
|
|
93255
|
+
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 };
|
package/dist/kernel/index.d.ts
CHANGED
|
@@ -51,13 +51,11 @@ export type { UdsReadinessClient } from './moleculer/readiness-context.js';
|
|
|
51
51
|
export { createStreamProbeBrokerService } from './moleculer/stream-probe-service.js';
|
|
52
52
|
export type { StreamProbeBrokerDeps } from './moleculer/stream-probe-service.js';
|
|
53
53
|
export { resolveHwAccel, createKernelHwAccel } from './hwaccel/hwaccel-resolver.js';
|
|
54
|
-
export { createHwAccelService } from './hwaccel/hwaccel-service.js';
|
|
55
54
|
export { AddonDepsManager } from './deps/addon-deps-manager.js';
|
|
56
55
|
export { installManifestPythonDeps } from './deps/manifest-python-deps.js';
|
|
57
56
|
export { installManifestNativeDeps } from './deps/manifest-native-deps.js';
|
|
58
57
|
export { AddonHealthMonitor, HEALTH_MONITOR_TICK_MS, HEALTH_MONITOR_GRACE_PERIOD_MS, HEALTH_MONITOR_RETRY_INTERVALS_MS, } from './addon-health-monitor.js';
|
|
59
58
|
export type { AddonHealthPhase, AddonHealthState, AddonHealthSnapshot, AddonHealthMonitorOptions, } from './addon-health-monitor.js';
|
|
60
|
-
export type { HwAccelServiceDeps } from './hwaccel/hwaccel-service.js';
|
|
61
59
|
export type { HubServiceDeps } from './moleculer/hub-service.js';
|
|
62
60
|
export { createBrokerDeviceManagerApi, buildNativeCapProxy, buildUdsNativeCapProxy, mountNativeCapService, NATIVE_PROVIDER_SERVICE_INFIX, } from './moleculer/device-cap-proxy.js';
|
|
63
61
|
export type { WorkerDeviceManagerOptions } from './moleculer/device-cap-proxy.js';
|
|
@@ -58,6 +58,26 @@ export interface ParentUnownedCallDeps {
|
|
|
58
58
|
* deviceId-carrying SYSTEM-cap calls (e.g. `system.info({deviceId})`) fast.
|
|
59
59
|
*/
|
|
60
60
|
readonly isDeviceNativeCap?: (capName: string) => boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Optional predicate — returns `true` when `capName` declares
|
|
63
|
+
* `nodeIdMode: 'data'` in its `CapabilityDefinition` (`addon-settings`,
|
|
64
|
+
* `addons`, `nodes`, `pipeline-orchestrator`): an inline `nodeId` in the
|
|
65
|
+
* call args is DATA for the (hub-singleton) provider, which dispatches
|
|
66
|
+
* internally — NOT a routing hint. For such caps the handler must NOT lift
|
|
67
|
+
* `args.nodeId` into a routing pin: pinning routes the call to a node with
|
|
68
|
+
* no provider for the cap (e.g. a forked addon on an agent calling
|
|
69
|
+
* `addon-settings.getGlobalSettings({addonId, nodeId})` gets pinned to
|
|
70
|
+
* `nodeId` → dead broker fallback → ServiceNotFoundError). Suppressing the
|
|
71
|
+
* pin forwards the call unpinned → singleton resolution on the hub — exactly
|
|
72
|
+
* how `settings-store` (no `nodeId` arg) already behaves. `args` pass
|
|
73
|
+
* through UNTOUCHED: the provider still reads `nodeId` as data.
|
|
74
|
+
*
|
|
75
|
+
* The kernel layer has no cap registry, so the wiring side (which does)
|
|
76
|
+
* injects this. Omitted (or returning `false`) ⇒ legacy behaviour exactly:
|
|
77
|
+
* an inline `args.nodeId` keeps pinning (benchmark, platform-probe,
|
|
78
|
+
* pipeline-runner node-pinned execution is unaffected).
|
|
79
|
+
*/
|
|
80
|
+
readonly isDataNodeIdCap?: (capName: string) => boolean;
|
|
61
81
|
/**
|
|
62
82
|
* Optional forward-to-hub dispatcher (the AGENT path). When present, a cap
|
|
63
83
|
* that no agent-LOCAL child owns is forwarded to the hub's `$hub-cap-fwd`
|
|
@@ -4880,7 +4880,7 @@ var delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
|
4880
4880
|
function createParentUnownedCallHandler(deps) {
|
|
4881
4881
|
return async (input) => {
|
|
4882
4882
|
const deviceId = input.deviceId ?? extractDeviceId(input.args);
|
|
4883
|
-
const nodeId = input.nodeId ?? extractNodeId(input.args);
|
|
4883
|
+
const nodeId = deps.isDataNodeIdCap?.(input.capName) === true ? void 0 : input.nodeId ?? extractNodeId(input.args);
|
|
4884
4884
|
if (nodeId === void 0) {
|
|
4885
4885
|
const empty = deps.resolveEmptyCollection?.(input.capName, input.method);
|
|
4886
4886
|
if (empty != null) return empty;
|
|
@@ -5526,16 +5526,6 @@ function __resetCapUsageRegistryForTests() {
|
|
|
5526
5526
|
singleton = null;
|
|
5527
5527
|
}
|
|
5528
5528
|
//#endregion
|
|
5529
|
-
//#region src/kernel/hwaccel/hwaccel-service.ts
|
|
5530
|
-
function createHwAccelService(deps) {
|
|
5531
|
-
return {
|
|
5532
|
-
name: "$hwaccel",
|
|
5533
|
-
actions: { resolve: { async handler(ctx) {
|
|
5534
|
-
return deps.resolve(ctx.params.prefer ?? null);
|
|
5535
|
-
} } }
|
|
5536
|
-
};
|
|
5537
|
-
}
|
|
5538
|
-
//#endregion
|
|
5539
5529
|
//#region src/kernel/hwaccel/hwaccel-resolver.ts
|
|
5540
5530
|
/**
|
|
5541
5531
|
* Platform-probe for hardware video decode acceleration.
|
|
@@ -6629,24 +6619,6 @@ function createRemoteProviderProxy(broker, serviceName, capName, nodeId, methods
|
|
|
6629
6619
|
function runtimeNodeId(runtime) {
|
|
6630
6620
|
return runtime.mode === "broker" ? runtime.broker.nodeID : runtime.nodeId;
|
|
6631
6621
|
}
|
|
6632
|
-
var hwaccelRegistered = /* @__PURE__ */ new WeakSet();
|
|
6633
|
-
/**
|
|
6634
|
-
* Idempotently register the per-node `$hwaccel` Moleculer service on
|
|
6635
|
-
* `broker`. Safe to call multiple times. The service exposes the
|
|
6636
|
-
* local platform probe as `$hwaccel.resolve` so cross-node queries
|
|
6637
|
-
* (`broker.call('$hwaccel.resolve', p, { nodeID })`) work.
|
|
6638
|
-
*/
|
|
6639
|
-
function ensureHwAccelService(broker) {
|
|
6640
|
-
if (hwaccelRegistered.has(broker)) return;
|
|
6641
|
-
const bkr = broker;
|
|
6642
|
-
try {
|
|
6643
|
-
bkr.createService(createHwAccelService(createKernelHwAccel()));
|
|
6644
|
-
hwaccelRegistered.add(broker);
|
|
6645
|
-
} catch (err) {
|
|
6646
|
-
if (!(err instanceof Error ? err.message : String(err)).includes("already registered")) throw err;
|
|
6647
|
-
hwaccelRegistered.add(broker);
|
|
6648
|
-
}
|
|
6649
|
-
}
|
|
6650
6622
|
/**
|
|
6651
6623
|
* Adapt a Moleculer ServiceBroker to the camstack-types `IClusterBroker`
|
|
6652
6624
|
* structural interface so addons can consume cluster-level RPC without
|
|
@@ -6953,7 +6925,6 @@ async function buildAddonContext(runtime, declaration, dataDir, options) {
|
|
|
6953
6925
|
value
|
|
6954
6926
|
})
|
|
6955
6927
|
};
|
|
6956
|
-
if (runtime.mode === "broker") ensureHwAccelService(runtime.broker);
|
|
6957
6928
|
const hwaccel = createKernelHwAccel();
|
|
6958
6929
|
return {
|
|
6959
6930
|
localNodeId: nodeId,
|
|
@@ -7313,12 +7284,6 @@ Object.defineProperty(exports, "createHubCapForwardService", {
|
|
|
7313
7284
|
return createHubCapForwardService;
|
|
7314
7285
|
}
|
|
7315
7286
|
});
|
|
7316
|
-
Object.defineProperty(exports, "createHwAccelService", {
|
|
7317
|
-
enumerable: true,
|
|
7318
|
-
get: function() {
|
|
7319
|
-
return createHwAccelService;
|
|
7320
|
-
}
|
|
7321
|
-
});
|
|
7322
7287
|
Object.defineProperty(exports, "createKernelHwAccel", {
|
|
7323
7288
|
enumerable: true,
|
|
7324
7289
|
get: function() {
|
|
@@ -11,7 +11,7 @@ import { promisify } from "node:util";
|
|
|
11
11
|
import * as os from "node:os";
|
|
12
12
|
import { tmpdir } from "node:os";
|
|
13
13
|
import { unlink } from "node:fs/promises";
|
|
14
|
-
import { DATAPLANE_SECRET_HEADER as DATAPLANE_SECRET_HEADER$1, DeviceType as DeviceType$1, DisposerChain, EventCategory as EventCategory$1, ReadinessRegistry, asJsonObject as asJsonObject$1, asString as asString$1, createDeviceProxy, deviceOpsCapability, emitReadiness, errMsg as errMsg$1, expandCapMethods as expandCapMethods$1, scopeKey, sleep as sleep$1 } from "@camstack/types/addon";
|
|
14
|
+
import { DATAPLANE_SECRET_HEADER as DATAPLANE_SECRET_HEADER$1, DeviceType as DeviceType$1, DisposerChain, EventCategory as EventCategory$1, ReadinessRegistry, asJsonObject as asJsonObject$1, asString as asString$1, createDeviceProxy, deviceOpsCapability, emitReadiness as emitReadiness$1, errMsg as errMsg$1, expandCapMethods as expandCapMethods$1, scopeKey, sleep as sleep$1 } from "@camstack/types/addon";
|
|
15
15
|
import { TRPCClientError, createTRPCClient } from "@trpc/client";
|
|
16
16
|
import { connect, createServer as createServer$1 } from "node:net";
|
|
17
17
|
//#region src/kernel/addon-class-resolver.ts
|
|
@@ -1237,7 +1237,7 @@ function createBrokerDeviceManagerApi(opts) {
|
|
|
1237
1237
|
nodeId
|
|
1238
1238
|
}
|
|
1239
1239
|
});
|
|
1240
|
-
emitReadiness(eventBus, {
|
|
1240
|
+
emitReadiness$1(eventBus, {
|
|
1241
1241
|
capName: cap.name,
|
|
1242
1242
|
scope: {
|
|
1243
1243
|
type: "device",
|
|
@@ -1780,7 +1780,7 @@ function createBrokerDeviceManagerApi(opts) {
|
|
|
1780
1780
|
nodeId
|
|
1781
1781
|
}
|
|
1782
1782
|
});
|
|
1783
|
-
emitReadiness(eventBus, {
|
|
1783
|
+
emitReadiness$1(eventBus, {
|
|
1784
1784
|
capName,
|
|
1785
1785
|
scope: {
|
|
1786
1786
|
type: "device",
|
|
@@ -4878,7 +4878,7 @@ var delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
|
4878
4878
|
function createParentUnownedCallHandler(deps) {
|
|
4879
4879
|
return async (input) => {
|
|
4880
4880
|
const deviceId = input.deviceId ?? extractDeviceId(input.args);
|
|
4881
|
-
const nodeId = input.nodeId ?? extractNodeId(input.args);
|
|
4881
|
+
const nodeId = deps.isDataNodeIdCap?.(input.capName) === true ? void 0 : input.nodeId ?? extractNodeId(input.args);
|
|
4882
4882
|
if (nodeId === void 0) {
|
|
4883
4883
|
const empty = deps.resolveEmptyCollection?.(input.capName, input.method);
|
|
4884
4884
|
if (empty != null) return empty;
|
|
@@ -5524,16 +5524,6 @@ function __resetCapUsageRegistryForTests() {
|
|
|
5524
5524
|
singleton = null;
|
|
5525
5525
|
}
|
|
5526
5526
|
//#endregion
|
|
5527
|
-
//#region src/kernel/hwaccel/hwaccel-service.ts
|
|
5528
|
-
function createHwAccelService(deps) {
|
|
5529
|
-
return {
|
|
5530
|
-
name: "$hwaccel",
|
|
5531
|
-
actions: { resolve: { async handler(ctx) {
|
|
5532
|
-
return deps.resolve(ctx.params.prefer ?? null);
|
|
5533
|
-
} } }
|
|
5534
|
-
};
|
|
5535
|
-
}
|
|
5536
|
-
//#endregion
|
|
5537
5527
|
//#region src/kernel/hwaccel/hwaccel-resolver.ts
|
|
5538
5528
|
/**
|
|
5539
5529
|
* Platform-probe for hardware video decode acceleration.
|
|
@@ -6627,24 +6617,6 @@ function createRemoteProviderProxy(broker, serviceName, capName, nodeId, methods
|
|
|
6627
6617
|
function runtimeNodeId(runtime) {
|
|
6628
6618
|
return runtime.mode === "broker" ? runtime.broker.nodeID : runtime.nodeId;
|
|
6629
6619
|
}
|
|
6630
|
-
var hwaccelRegistered = /* @__PURE__ */ new WeakSet();
|
|
6631
|
-
/**
|
|
6632
|
-
* Idempotently register the per-node `$hwaccel` Moleculer service on
|
|
6633
|
-
* `broker`. Safe to call multiple times. The service exposes the
|
|
6634
|
-
* local platform probe as `$hwaccel.resolve` so cross-node queries
|
|
6635
|
-
* (`broker.call('$hwaccel.resolve', p, { nodeID })`) work.
|
|
6636
|
-
*/
|
|
6637
|
-
function ensureHwAccelService(broker) {
|
|
6638
|
-
if (hwaccelRegistered.has(broker)) return;
|
|
6639
|
-
const bkr = broker;
|
|
6640
|
-
try {
|
|
6641
|
-
bkr.createService(createHwAccelService(createKernelHwAccel()));
|
|
6642
|
-
hwaccelRegistered.add(broker);
|
|
6643
|
-
} catch (err) {
|
|
6644
|
-
if (!(err instanceof Error ? err.message : String(err)).includes("already registered")) throw err;
|
|
6645
|
-
hwaccelRegistered.add(broker);
|
|
6646
|
-
}
|
|
6647
|
-
}
|
|
6648
6620
|
/**
|
|
6649
6621
|
* Adapt a Moleculer ServiceBroker to the camstack-types `IClusterBroker`
|
|
6650
6622
|
* structural interface so addons can consume cluster-level RPC without
|
|
@@ -6951,7 +6923,6 @@ async function buildAddonContext(runtime, declaration, dataDir, options) {
|
|
|
6951
6923
|
value
|
|
6952
6924
|
})
|
|
6953
6925
|
};
|
|
6954
|
-
if (runtime.mode === "broker") ensureHwAccelService(runtime.broker);
|
|
6955
6926
|
const hwaccel = createKernelHwAccel();
|
|
6956
6927
|
return {
|
|
6957
6928
|
localNodeId: nodeId,
|
|
@@ -7089,4 +7060,4 @@ async function installManifestPythonDeps(declaration, addonDir, deps, logger) {
|
|
|
7089
7060
|
await deps.installPythonRequirements(reqAbs);
|
|
7090
7061
|
}
|
|
7091
7062
|
//#endregion
|
|
7092
|
-
export {
|
|
7063
|
+
export { buildUdsNativeCapProxy as $, createParentUnownedCallHandler as A, AGENT_CAP_FWD_SERVICE as B, buildLinkChain as C, HUB_CAP_FWD_ACTION as D, localProviderLink as E, createUdsLoggerWithControl as F, createLocalTransport as G, CapRouteError as H, LocalChildClient as I, SocketChannel as J, UdsLocalTransportClient as K, LocalChildRegistry as L, createUdsEventBus as M, udsChildLogToWorkerEntry as N, HUB_CAP_FWD_SERVICE as O, createUdsLogger as P, buildNativeCapProxy as Q, UDS_NO_ROUTE_PREFIX as R, brokerTransportLink as S, ipcParentLink as T, classifyCapRoute as U, CapRouteResolver as V, callWithServiceDiscovery as W, FrameDecoder as X, localEndpointPath as Y, encodeFrame as Z, resolveHwAccel as _, CapabilityUnavailableError as _t, getWorkerDeviceRegistry as a, createAddonService as at, getCapUsageRegistry as b, setHubConnected as c, capActionName as ct, getMoleculerEventStats as d, capServiceName as dt, createBrokerDeviceManagerApi as et, registerEventBusService as f, parseCapAction as ft, createKernelHwAccel as g, CapabilityHandle as gt, AddonDepsManager as h, DeviceRegistry as ht, createUdsAddonContext as i, setWorkerNativeCapsChangeListener as it, createUdsEventBridge as j, createHubCapForwardService as k, EVENT_TOPIC_PREFIX as l, capActionSuffix as lt, subscribePassthrough as m, serializeTypedArrays as mt, adaptBrokerToCluster as n, getWorkerNativeCapSnapshot as nt, getOrInitReadinessRegistry as o, validateProviderRegistrations as ot, setNodeEventInterest as p, deserializeTypedArrays as pt, UdsLocalTransportServer as q, createAddonContext as r, mountNativeCapService as rt, getOrInitReadinessRegistryForClient as s, NATIVE_PROVIDER_SERVICE_INFIX as st, installManifestPythonDeps as t, getWorkerNativeCapProvider as tt, getBrokerEventBus as u, capBareAction as ut, CapUsageRegistry as v, installManifestNativeDeps as vt, ipcChildLink as w, brokerCallForCap as x, __resetCapUsageRegistryForTests as y, resolveAddonClass as yt, AGENT_CAP_FWD_ACTION as z };
|
package/package.json
CHANGED