node-red-contrib-uos-nats 0.1.47 → 0.1.48

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/lib/payloads.js CHANGED
@@ -63,6 +63,16 @@ export function buildReadVariablesQuery(ids) {
63
63
  builder.finish(offset);
64
64
  return builder.asUint8Array();
65
65
  }
66
+ // Helper to build definition query
67
+ import { ReadProviderDefinitionQueryRequest } from './fbs/weidmueller/ucontrol/hub/read-provider-definition-query-request.js';
68
+
69
+ export function buildReadProviderDefinitionQuery() {
70
+ const builder = new flatbuffers.Builder(32);
71
+ ReadProviderDefinitionQueryRequest.startReadProviderDefinitionQueryRequest(builder);
72
+ const offset = ReadProviderDefinitionQueryRequest.endReadProviderDefinitionQueryRequest(builder);
73
+ builder.finish(offset);
74
+ return builder.asUint8Array();
75
+ }
66
76
  export function decodeVariableList(list) {
67
77
  if (!list)
68
78
  return [];
@@ -142,7 +142,7 @@ module.exports = function (RED) {
142
142
  try {
143
143
  // Strategy 1: Direct Provider Query (Standard for many providers)
144
144
  this.warn(`Attempting NATS Discovery (Direct) for ${this.providerId}...`);
145
- const defMsg = await nc.request(subjects.readProviderDefinitionQuery(this.providerId), new Uint8Array(0), { timeout: 1000 });
145
+ const defMsg = await nc.request(subjects.readProviderDefinitionQuery(this.providerId), payloads.buildReadProviderDefinitionQuery(), { timeout: 1000 });
146
146
  const defs = payloads.decodeProviderDefinition(defMsg.data);
147
147
  this.warn(`NATS Direct Discovery: Loaded ${defs.length} variables.`);
148
148
  defs.forEach((def) => defMap.set(def.id, def));
@@ -151,7 +151,7 @@ module.exports = function (RED) {
151
151
  try {
152
152
  this.warn(`NATS Direct failed (${firstErr.message}), trying Registry Discovery...`);
153
153
  // Note: 'registryProviderQuery' accesses the central registry which might proxy the definition
154
- const regMsg = await nc.request(subjects.registryProviderQuery(this.providerId), new Uint8Array(0), { timeout: 2000 });
154
+ const regMsg = await nc.request(subjects.registryProviderQuery(this.providerId), payloads.buildReadProviderDefinitionQuery(), { timeout: 2000 });
155
155
  const defs = payloads.decodeProviderDefinition(regMsg.data);
156
156
  this.warn(`NATS Registry Discovery: Loaded ${defs.length} variables.`);
157
157
  defs.forEach((def) => defMap.set(def.id, def));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-red-contrib-uos-nats",
3
- "version": "0.1.47",
3
+ "version": "0.1.48",
4
4
  "description": "Node-RED nodes for u-OS Data Hub via NATS",
5
5
  "repository": {
6
6
  "type": "git",