@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.
Files changed (51) 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.d.ts +8 -4
  4. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +22 -10
  5. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +23 -11
  6. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.d.ts +4 -0
  7. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +23 -9
  8. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +24 -10
  9. package/dist/builtins/alerts/alerts.addon.js +1 -1
  10. package/dist/builtins/alerts/alerts.addon.mjs +1 -1
  11. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +1 -1
  12. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +1 -1
  13. package/dist/builtins/console-logging/index.js +1 -1
  14. package/dist/builtins/console-logging/index.mjs +1 -1
  15. package/dist/builtins/device-manager/device-manager.addon.js +1 -1
  16. package/dist/builtins/device-manager/device-manager.addon.mjs +1 -1
  17. package/dist/builtins/hub-forwarder/index.js +1 -1
  18. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  19. package/dist/builtins/local-auth/local-auth.addon.js +1 -1
  20. package/dist/builtins/local-auth/local-auth.addon.mjs +1 -1
  21. package/dist/builtins/local-network/local-network.addon.js +1 -1
  22. package/dist/builtins/local-network/local-network.addon.mjs +1 -1
  23. package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
  24. package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
  25. package/dist/builtins/platform-probe/index.js +1 -1
  26. package/dist/builtins/platform-probe/index.mjs +1 -1
  27. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  28. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  29. package/dist/builtins/snapshot/index.js +1 -1
  30. package/dist/builtins/snapshot/index.mjs +1 -1
  31. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  32. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
  33. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +1 -1
  34. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +1 -1
  35. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
  36. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
  37. package/dist/builtins/system-config/system-config.addon.js +1 -1
  38. package/dist/builtins/system-config/system-config.addon.mjs +1 -1
  39. package/dist/builtins/winston-logging/index.js +1 -1
  40. package/dist/builtins/winston-logging/index.mjs +1 -1
  41. package/dist/{dist-C7oOY4iL.mjs → dist-CU3lb_Ys.mjs} +322 -8
  42. package/dist/{dist-COIhbSao.js → dist-fRVWwrkF.js} +322 -8
  43. package/dist/index.js +50 -7
  44. package/dist/index.mjs +50 -7
  45. package/dist/kernel/index.d.ts +1 -1
  46. package/dist/kernel/lifecycle/staging-area.d.ts +8 -0
  47. package/dist/kernel/moleculer/node-registry.d.ts +22 -1
  48. package/dist/kernel/moleculer/register-node-client.d.ts +8 -5
  49. package/dist/{manifest-python-deps-BYIV8-rc.mjs → manifest-python-deps-4QvOLiBn.mjs} +1 -1
  50. package/dist/{manifest-python-deps-CZFqI4wp.js → manifest-python-deps-B6ahe90k.js} +1 -1
  51. 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, and optionally the SHA-256 hash
23
- * of the cluster secret. `nativeCaps` is omitted entirely on the first
24
- * handshake; `clusterSecretHash` is omitted when no secret is configured.
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-C7oOY4iL.mjs";
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-COIhbSao.js");
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");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/system",
3
- "version": "1.1.36",
3
+ "version": "1.1.38",
4
4
  "description": "Core addon for CamStack — builtins, pipeline, process management, auth, logging, events",
5
5
  "keywords": [
6
6
  "camstack",