@camstack/system 1.1.36 → 1.1.38
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/addon-pages-aggregator/addon-pages-aggregator.addon.d.ts +8 -4
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +22 -10
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +23 -11
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.d.ts +4 -0
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +23 -9
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +24 -10
- 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/device-manager/device-manager.addon.js +1 -1
- package/dist/builtins/device-manager/device-manager.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/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/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 +1 -1
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +1 -1
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -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-C7oOY4iL.mjs → dist-CU3lb_Ys.mjs} +322 -8
- package/dist/{dist-COIhbSao.js → dist-fRVWwrkF.js} +322 -8
- package/dist/index.js +50 -7
- package/dist/index.mjs +50 -7
- package/dist/kernel/index.d.ts +1 -1
- package/dist/kernel/lifecycle/staging-area.d.ts +8 -0
- package/dist/kernel/moleculer/node-registry.d.ts +22 -1
- package/dist/kernel/moleculer/register-node-client.d.ts +8 -5
- package/dist/{manifest-python-deps-BYIV8-rc.mjs → manifest-python-deps-4QvOLiBn.mjs} +1 -1
- package/dist/{manifest-python-deps-CZFqI4wp.js → manifest-python-deps-B6ahe90k.js} +1 -1
- package/package.json +1 -1
|
@@ -32,6 +32,17 @@ interface RegisteredNativeCap {
|
|
|
32
32
|
readonly addonId: string;
|
|
33
33
|
readonly deviceIds: readonly number[];
|
|
34
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* A node's runtime-updatable ROOT package identity (`@camstack/server` on
|
|
37
|
+
* the hub, `@camstack/agent` on agents) — carried in the `registerNode`
|
|
38
|
+
* manifest so the hub knows every node's exact software version (design:
|
|
39
|
+
* runtime-updatable node packages, "visibility"). Version skew is SEEN in
|
|
40
|
+
* the UI instead of discovered via a black-hole.
|
|
41
|
+
*/
|
|
42
|
+
interface NodeRootPackageInfo {
|
|
43
|
+
readonly name: string;
|
|
44
|
+
readonly version: string;
|
|
45
|
+
}
|
|
35
46
|
/** Payload of the `$hub.registerNode` RPC — a node's COMPLETE manifest. */
|
|
36
47
|
interface RegisterNodeParams {
|
|
37
48
|
readonly nodeId: string;
|
|
@@ -50,6 +61,12 @@ interface RegisterNodeParams {
|
|
|
50
61
|
* receiver; never carries the raw secret. (Cluster-secret registration gate.)
|
|
51
62
|
*/
|
|
52
63
|
readonly clusterSecretHash?: string;
|
|
64
|
+
/**
|
|
65
|
+
* The node's root-package identity. Optional — absent from UDS child
|
|
66
|
+
* manifests and pre-phase-2 agents; present on agents running the
|
|
67
|
+
* runtime-updatable root model.
|
|
68
|
+
*/
|
|
69
|
+
readonly rootPackage?: NodeRootPackageInfo;
|
|
53
70
|
}
|
|
54
71
|
/** Ack returned by `$hub.registerNode` — presence of `ok` is the signal. */
|
|
55
72
|
interface RegisterNodeResult {
|
|
@@ -73,6 +90,8 @@ declare class HubNodeRegistry {
|
|
|
73
90
|
private readonly nodes;
|
|
74
91
|
/** nodeId → its device-scoped native caps (last `registerNode` wins). */
|
|
75
92
|
private readonly nativeCaps;
|
|
93
|
+
/** nodeId → its root-package identity (last `registerNode` wins). */
|
|
94
|
+
private readonly rootPackages;
|
|
76
95
|
/**
|
|
77
96
|
* deviceId → flat native-cap entries for THAT device, across all nodes.
|
|
78
97
|
* Maintained incrementally on every `registerNode`/`removeNode` so a
|
|
@@ -99,6 +118,8 @@ declare class HubNodeRegistry {
|
|
|
99
118
|
registerNode(params: RegisterNodeParams): void;
|
|
100
119
|
/** Drop a node entirely — caps AND native caps — on `$node.disconnected`. */
|
|
101
120
|
removeNode(nodeId: string): void;
|
|
121
|
+
/** The node's root-package identity, or null when it never reported one. */
|
|
122
|
+
getNodeRootPackage(nodeId: string): NodeRootPackageInfo | null;
|
|
102
123
|
/** The node's manifest, or undefined when the node never registered. */
|
|
103
124
|
getNodeManifest(nodeId: string): readonly RegisteredAddonManifest[] | undefined;
|
|
104
125
|
/**
|
|
@@ -123,4 +144,4 @@ declare class HubNodeRegistry {
|
|
|
123
144
|
listNodeIds(): readonly string[];
|
|
124
145
|
}
|
|
125
146
|
export { HubNodeRegistry };
|
|
126
|
-
export type { CallFn, RegisteredAddonManifest, RegisteredNativeCap, RegisterNodeParams, RegisterNodeResult, NodeCapEntry, NodeNativeCapEntry, };
|
|
147
|
+
export type { CallFn, NodeRootPackageInfo, RegisteredAddonManifest, RegisteredNativeCap, RegisterNodeParams, RegisterNodeResult, NodeCapEntry, NodeNativeCapEntry, };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RegisteredAddonManifest, RegisteredNativeCap, RegisterNodeParams } from './node-registry.js';
|
|
1
|
+
import { NodeRootPackageInfo, RegisteredAddonManifest, RegisteredNativeCap, RegisterNodeParams } from './node-registry.js';
|
|
2
2
|
/** Minimal broker surface this client needs. */
|
|
3
3
|
interface RegisterNodeBroker {
|
|
4
4
|
call(action: string, params: unknown, opts?: {
|
|
@@ -19,11 +19,14 @@ interface CallRegisterNodeOptions {
|
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
21
21
|
* Build a `RegisterNodeParams` from a node id, its per-addon manifests,
|
|
22
|
-
* optionally its device-scoped native caps,
|
|
23
|
-
* of the cluster secret
|
|
24
|
-
*
|
|
22
|
+
* optionally its device-scoped native caps, optionally the SHA-256 hash
|
|
23
|
+
* of the cluster secret, and optionally the node's root-package identity
|
|
24
|
+
* (runtime-updatable node packages: version visibility). `nativeCaps` is
|
|
25
|
+
* omitted entirely on the first handshake; `clusterSecretHash` is omitted
|
|
26
|
+
* when no secret is configured; `rootPackage` is omitted by nodes that do
|
|
27
|
+
* not run the root-package model (UDS children).
|
|
25
28
|
*/
|
|
26
|
-
declare function buildNodeManifest(nodeId: string, addons: readonly RegisteredAddonManifest[], nativeCaps?: readonly RegisteredNativeCap[], clusterSecretHash?: string): RegisterNodeParams;
|
|
29
|
+
declare function buildNodeManifest(nodeId: string, addons: readonly RegisteredAddonManifest[], nativeCaps?: readonly RegisteredNativeCap[], clusterSecretHash?: string, rootPackage?: NodeRootPackageInfo): RegisterNodeParams;
|
|
27
30
|
/**
|
|
28
31
|
* Call `<target>.registerNode` and retry until the parent acks. The loop
|
|
29
32
|
* terminates ONLY on a successful ack or an abort — there is no fixed
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { H as readNodePin } from "./dist-
|
|
1
|
+
import { H as readNodePin } from "./dist-CU3lb_Ys.mjs";
|
|
2
2
|
import { ensureBinary, ensureFfmpeg, ensurePython, installPythonPackages, installPythonRequirements } from "@camstack/types/node";
|
|
3
3
|
import { createServer } from "node:http";
|
|
4
4
|
import * as fs from "node:fs";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const require_chunk = require("./chunk-Cek0wNdY.js");
|
|
2
|
-
const require_dist = require("./dist-
|
|
2
|
+
const require_dist = require("./dist-fRVWwrkF.js");
|
|
3
3
|
let _camstack_types_node = require("@camstack/types/node");
|
|
4
4
|
let node_http = require("node:http");
|
|
5
5
|
let node_fs = require("node:fs");
|