node-opcua-server 2.164.2 → 2.165.0

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.
@@ -1,31 +1,30 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.OPCUAServerEndPoint = void 0;
7
2
  /* eslint-disable max-statements */
8
3
  /**
9
4
  * @module node-opcua-server
10
5
  */
11
6
  // tslint:disable:no-console
12
- const events_1 = require("events");
13
- const net_1 = __importDefault(require("net"));
7
+ var __importDefault = (this && this.__importDefault) || function (mod) {
8
+ return (mod && mod.__esModule) ? mod : { "default": mod };
9
+ };
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.OPCUAServerEndPoint = void 0;
12
+ exports.normalizeAdvertisedEndpoints = normalizeAdvertisedEndpoints;
13
+ exports.parseOpcTcpUrl = parseOpcTcpUrl;
14
+ const node_events_1 = require("node:events");
15
+ const node_net_1 = __importDefault(require("node:net"));
14
16
  const chalk_1 = __importDefault(require("chalk"));
15
- const async_1 = __importDefault(require("async"));
16
17
  const node_opcua_assert_1 = require("node-opcua-assert");
17
18
  const web_1 = require("node-opcua-crypto/web");
18
19
  const node_opcua_debug_1 = require("node-opcua-debug");
19
20
  const node_opcua_hostname_1 = require("node-opcua-hostname");
20
21
  const node_opcua_secure_channel_1 = require("node-opcua-secure-channel");
21
22
  const node_opcua_service_endpoints_1 = require("node-opcua-service-endpoints");
22
- const node_opcua_service_endpoints_2 = require("node-opcua-service-endpoints");
23
- const node_opcua_service_endpoints_3 = require("node-opcua-service-endpoints");
24
23
  const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
25
24
  const errorLog = (0, node_opcua_debug_1.make_errorLog)(__filename);
26
25
  const warningLog = (0, node_opcua_debug_1.make_warningLog)(__filename);
27
26
  const doDebug = (0, node_opcua_debug_1.checkDebugFlag)(__filename);
28
- const default_transportProfileUri = "http://opcfoundation.org/UA-Profile/Transport/uatcp-uasc-uabinary";
27
+ const UATCP_UASC_UABINARY = "http://opcfoundation.org/UA-Profile/Transport/uatcp-uasc-uabinary";
29
28
  function extractSocketData(socket, reason) {
30
29
  const { bytesRead, bytesWritten, remoteAddress, remoteFamily, remotePort, localAddress, localPort } = socket;
31
30
  const data = {
@@ -68,6 +67,7 @@ function dumpChannelInfo(channels) {
68
67
  console.log(" bytesRead = ", channel.bytesRead);
69
68
  console.log(" sessions = ", Object.keys(channel.sessionTokens).length);
70
69
  console.log(Object.values(channel.sessionTokens).map(d).join("\n"));
70
+ // biome-ignore lint/suspicious/noExplicitAny: accessing internal transport for debug dump
71
71
  const socket = channel.transport?._socket;
72
72
  if (!socket) {
73
73
  console.log(" SOCKET IS CLOSED");
@@ -79,15 +79,43 @@ function dumpChannelInfo(channels) {
79
79
  console.log("------------------------------------------------------");
80
80
  }
81
81
  const emptyCertificate = Buffer.alloc(0);
82
+ // biome-ignore lint/suspicious/noExplicitAny: deliberate null→PrivateKey sentinel
82
83
  const emptyPrivateKey = null;
83
84
  let OPCUAServerEndPointCounter = 0;
85
+ /**
86
+ * Normalize any `advertisedEndpoints` input into a uniform
87
+ * `AdvertisedEndpointConfig[]`.
88
+ *
89
+ * This coercion is done early so that all downstream code
90
+ * (endpoint generation, IP/hostname extraction) only deals
91
+ * with one type.
92
+ */
93
+ function normalizeAdvertisedEndpoints(raw) {
94
+ if (!raw)
95
+ return [];
96
+ const arr = Array.isArray(raw) ? raw : [raw];
97
+ return arr.map((entry) => (typeof entry === "string" ? { url: entry } : entry));
98
+ }
99
+ /**
100
+ * Parse an `opc.tcp://hostname:port` URL and extract hostname and port.
101
+ * @internal
102
+ */
103
+ function parseOpcTcpUrl(url) {
104
+ // URL class doesn't understand opc.tcp://, so swap to http://
105
+ const httpUrl = url.replace(/^opc\.tcp:\/\//i, "http://");
106
+ const parsed = new URL(httpUrl);
107
+ return {
108
+ hostname: parsed.hostname,
109
+ port: parsed.port ? Number.parseInt(parsed.port, 10) : 4840
110
+ };
111
+ }
84
112
  function getUniqueName(name, collection) {
85
113
  if (collection[name]) {
86
114
  let counter = 0;
87
- while (collection[name + "_" + counter.toString()]) {
115
+ while (collection[`${name}_${counter.toString()}`]) {
88
116
  counter++;
89
117
  }
90
- name = name + "_" + counter.toString();
118
+ name = `${name}_${counter.toString()}`;
91
119
  collection[name] = 1;
92
120
  return name;
93
121
  }
@@ -102,7 +130,7 @@ function getUniqueName(name, collection) {
102
130
  * note:
103
131
  * see OPCUA Release 1.03 part 4 page 108 7.1 ApplicationDescription
104
132
  */
105
- class OPCUAServerEndPoint extends events_1.EventEmitter {
133
+ class OPCUAServerEndPoint extends node_events_1.EventEmitter {
106
134
  /**
107
135
  * the tcp port
108
136
  */
@@ -165,7 +193,7 @@ class OPCUAServerEndPoint extends events_1.EventEmitter {
165
193
  this._privateKey = emptyPrivateKey;
166
194
  (0, node_opcua_assert_1.assert)(Object.keys(this._channels).length === 0, "OPCUAServerEndPoint channels must have been deleted");
167
195
  this._channels = {};
168
- this.serverInfo = new node_opcua_service_endpoints_3.ApplicationDescription({});
196
+ this.serverInfo = new node_opcua_service_endpoints_1.ApplicationDescription({});
169
197
  this._endpoints = [];
170
198
  (0, node_opcua_assert_1.assert)(this._endpoints.length === 0, "endpoints must have been deleted");
171
199
  this._endpoints = [];
@@ -238,7 +266,8 @@ class OPCUAServerEndPoint extends events_1.EventEmitter {
238
266
  const resourcePath = (options.resourcePath || "").replace(/\\/g, "/");
239
267
  (0, node_opcua_assert_1.assert)(resourcePath.length === 0 || resourcePath.charAt(0) === "/", "resourcePath should start with /");
240
268
  const hostname = options.hostname || (0, node_opcua_hostname_1.getFullyQualifiedDomainName)();
241
- const endpointUrl = `opc.tcp://${hostname}:${this.port}${resourcePath}`;
269
+ const effectivePort = options.advertisedPort ?? this.port;
270
+ const endpointUrl = `opc.tcp://${hostname}:${effectivePort}${resourcePath}`;
242
271
  const endpoint_desc = this.getEndpointDescription(securityMode, securityPolicy, endpointUrl);
243
272
  // c8 ignore next
244
273
  if (endpoint_desc) {
@@ -257,13 +286,14 @@ class OPCUAServerEndPoint extends events_1.EventEmitter {
257
286
  resourcePath: options.resourcePath,
258
287
  restricted: !!options.restricted,
259
288
  securityPolicies: options.securityPolicies || [],
289
+ advertisedPort: options.advertisedPort,
260
290
  userTokenTypes
261
291
  }, this));
262
292
  }
263
293
  addRestrictedEndpointDescription(options) {
264
294
  options = { ...options };
265
295
  options.restricted = true;
266
- return this.addEndpointDescription(node_opcua_secure_channel_1.MessageSecurityMode.None, node_opcua_secure_channel_1.SecurityPolicy.None, options);
296
+ this.addEndpointDescription(node_opcua_secure_channel_1.MessageSecurityMode.None, node_opcua_secure_channel_1.SecurityPolicy.None, options);
267
297
  }
268
298
  addStandardEndpointDescriptions(options) {
269
299
  options = options || {};
@@ -312,6 +342,59 @@ class OPCUAServerEndPoint extends events_1.EventEmitter {
312
342
  }
313
343
  }
314
344
  }
345
+ // ── Advertised endpoints (virtual — no TCP listener) ──────
346
+ // Normalize to AdvertisedEndpointConfig[] so downstream code
347
+ // only deals with one type.
348
+ const advertisedList = normalizeAdvertisedEndpoints(options.advertisedEndpoints);
349
+ // Main endpoint defaults (guaranteed non-null — assigned above)
350
+ const mainSecurityModes = options.securityModes || defaultSecurityModes;
351
+ const mainSecurityPolicies = options.securityPolicies || defaultSecurityPolicies;
352
+ const mainUserTokenTypes = options.userTokenTypes || defaultUserTokenTypes;
353
+ for (const config of advertisedList) {
354
+ const { hostname: advHostname, port: advPort } = parseOpcTcpUrl(config.url);
355
+ // Skip if this hostname+port combo was already covered
356
+ // by the regular hostname loop (same hostname, same port)
357
+ if (hostnames.some((h) => h.toLowerCase() === advHostname.toLowerCase()) && advPort === this.port) {
358
+ continue;
359
+ }
360
+ // Per-URL security overrides — fall back to main settings
361
+ const entrySecurityModes = config.securityModes ?? mainSecurityModes;
362
+ const entrySecurityPolicies = config.securityPolicies ?? mainSecurityPolicies;
363
+ let entryUserTokenTypes = config.userTokenTypes ?? mainUserTokenTypes;
364
+ // Handle allowAnonymous override: if explicitly false,
365
+ // filter out Anonymous even if the main config allows it
366
+ if (config.allowAnonymous === false) {
367
+ entryUserTokenTypes = entryUserTokenTypes.filter((t) => t !== node_opcua_service_endpoints_1.UserTokenType.Anonymous);
368
+ }
369
+ const optionsE = {
370
+ hostname: advHostname,
371
+ advertisedPort: advPort,
372
+ securityPolicies: entrySecurityPolicies,
373
+ userTokenTypes: entryUserTokenTypes,
374
+ allowUnsecurePassword: options.allowUnsecurePassword,
375
+ alternateHostname: options.alternateHostname,
376
+ resourcePath: options.resourcePath
377
+ };
378
+ if (entrySecurityModes.indexOf(node_opcua_secure_channel_1.MessageSecurityMode.None) >= 0) {
379
+ this.addEndpointDescription(node_opcua_secure_channel_1.MessageSecurityMode.None, node_opcua_secure_channel_1.SecurityPolicy.None, optionsE);
380
+ }
381
+ else {
382
+ if (!options.disableDiscovery) {
383
+ this.addRestrictedEndpointDescription(optionsE);
384
+ }
385
+ }
386
+ for (const securityMode of entrySecurityModes) {
387
+ if (securityMode === node_opcua_secure_channel_1.MessageSecurityMode.None) {
388
+ continue;
389
+ }
390
+ for (const securityPolicy of entrySecurityPolicies) {
391
+ if (securityPolicy === node_opcua_secure_channel_1.SecurityPolicy.None) {
392
+ continue;
393
+ }
394
+ this.addEndpointDescription(securityMode, securityPolicy, optionsE);
395
+ }
396
+ }
397
+ }
315
398
  }
316
399
  /**
317
400
  * returns the list of end point descriptions.
@@ -324,9 +407,13 @@ class OPCUAServerEndPoint extends events_1.EventEmitter {
324
407
  listen(callback) {
325
408
  (0, node_opcua_assert_1.assert)(typeof callback === "function");
326
409
  (0, node_opcua_assert_1.assert)(!this._started, "OPCUAServerEndPoint is already listening");
410
+ if (!this._server) {
411
+ callback(new Error("Server is not initialized"));
412
+ return;
413
+ }
327
414
  this._listen_callback = callback;
328
415
  this._server.on("error", (err) => {
329
- debugLog(chalk_1.default.red.bold(" error") + " port = " + this.port, err);
416
+ debugLog(`${chalk_1.default.red.bold(" error")} port = ${this.port}`, err);
330
417
  this._started = false;
331
418
  this._end_listen(err);
332
419
  });
@@ -344,8 +431,8 @@ class OPCUAServerEndPoint extends events_1.EventEmitter {
344
431
  (0, node_opcua_assert_1.assert)(!err, " cannot listen to port ");
345
432
  this._started = true;
346
433
  if (!this.port) {
347
- const add = this._server.address();
348
- this.port = typeof add !== "string" ? add.port : this.port;
434
+ const add = this._server?.address();
435
+ this.port = typeof add !== "string" ? add?.port || 0 : this.port;
349
436
  }
350
437
  this._end_listen();
351
438
  });
@@ -353,7 +440,7 @@ class OPCUAServerEndPoint extends events_1.EventEmitter {
353
440
  killClientSockets(callback) {
354
441
  for (const channel of this.getChannels()) {
355
442
  const hacked_channel = channel;
356
- if (hacked_channel.transport && hacked_channel.transport._socket) {
443
+ if (hacked_channel.transport?._socket) {
357
444
  // hacked_channel.transport._socket.close();
358
445
  hacked_channel.transport._socket.destroy();
359
446
  hacked_channel.transport._socket.emit("error", new Error("EPIPE"));
@@ -362,8 +449,9 @@ class OPCUAServerEndPoint extends events_1.EventEmitter {
362
449
  callback();
363
450
  }
364
451
  suspendConnection(callback) {
365
- if (!this._started) {
366
- return callback(new Error("Connection already suspended !!"));
452
+ if (!this._started || !this._server) {
453
+ callback(new Error("Connection already suspended !!"));
454
+ return;
367
455
  }
368
456
  // Stops the server from accepting new connections and keeps existing connections.
369
457
  // (note from nodejs doc: This function is asynchronous, the server is finally closed
@@ -373,7 +461,7 @@ class OPCUAServerEndPoint extends events_1.EventEmitter {
373
461
  // if the server was not open when it was closed.
374
462
  this._server.close(() => {
375
463
  this._started = false;
376
- debugLog("Connection has been closed !" + this.port);
464
+ debugLog(`Connection has been closed !${this.port}`);
377
465
  });
378
466
  this._started = false;
379
467
  callback();
@@ -395,15 +483,27 @@ class OPCUAServerEndPoint extends events_1.EventEmitter {
395
483
  this.suspendConnection(() => {
396
484
  // shutdown all opened channels ...
397
485
  const _channels = Object.values(this._channels);
398
- async_1.default.each(_channels, (channel, callback1) => {
399
- this.shutdown_channel(channel, callback1);
400
- }, (err) => {
486
+ const promises = _channels.map((channel) => new Promise((resolve, reject) => {
487
+ this.shutdown_channel(channel, (err) => {
488
+ if (err) {
489
+ reject(err);
490
+ }
491
+ else {
492
+ resolve();
493
+ }
494
+ });
495
+ }));
496
+ Promise.all(promises)
497
+ .then(() => {
401
498
  /* c8 ignore next */
402
499
  if (!(Object.keys(this._channels).length === 0)) {
403
500
  errorLog(" Bad !");
404
501
  }
405
502
  (0, node_opcua_assert_1.assert)(Object.keys(this._channels).length === 0, "channel must have unregistered themselves");
406
- callback(err || undefined);
503
+ callback();
504
+ })
505
+ .catch((err) => {
506
+ callback(err);
407
507
  });
408
508
  });
409
509
  }
@@ -449,14 +549,14 @@ class OPCUAServerEndPoint extends events_1.EventEmitter {
449
549
  return Object.keys(this._channels).length;
450
550
  }
451
551
  _dump_statistics() {
452
- this._server.getConnections((err, count) => {
552
+ this._server?.getConnections((_err, count) => {
453
553
  debugLog(chalk_1.default.cyan("CONCURRENT CONNECTION = "), count);
454
554
  });
455
- debugLog(chalk_1.default.cyan("MAX CONNECTIONS = "), this._server.maxConnections);
555
+ debugLog(chalk_1.default.cyan("MAX CONNECTIONS = "), this._server?.maxConnections);
456
556
  }
457
557
  _setup_server() {
458
558
  (0, node_opcua_assert_1.assert)(!this._server);
459
- this._server = net_1.default.createServer({ pauseOnConnect: true }, this._on_client_connection.bind(this));
559
+ this._server = node_net_1.default.createServer({ pauseOnConnect: true }, this._on_client_connection.bind(this));
460
560
  // xx console.log(" Server with max connections ", self.maxConnections);
461
561
  this._server.maxConnections = this.maxConnections + 1; // plus one extra
462
562
  this._listen_callback = undefined;
@@ -465,7 +565,7 @@ class OPCUAServerEndPoint extends events_1.EventEmitter {
465
565
  // c8 ignore next
466
566
  if (doDebug) {
467
567
  this._dump_statistics();
468
- debugLog("server connected with : " + socket.remoteAddress + ":" + socket.remotePort);
568
+ debugLog(`server connected with : ${socket.remoteAddress}:${socket.remotePort}`);
469
569
  }
470
570
  })
471
571
  .on("close", () => {
@@ -489,7 +589,7 @@ class OPCUAServerEndPoint extends events_1.EventEmitter {
489
589
  const deny_connection = () => {
490
590
  console.log(chalk_1.default.bgWhite.cyan("OPCUAServerEndPoint#_on_client_connection " +
491
591
  "The maximum number of connection has been reached - Connection is refused"));
492
- const reason = "maxConnections reached (" + this.maxConnections + ")";
592
+ const reason = `maxConnections reached (${this.maxConnections})`;
493
593
  const socketData = extractSocketData(socket, reason);
494
594
  this.emit("connectionRefused", socketData);
495
595
  socket.end();
@@ -498,7 +598,7 @@ class OPCUAServerEndPoint extends events_1.EventEmitter {
498
598
  const establish_connection = () => {
499
599
  const nbConnections = Object.keys(this._channels).length;
500
600
  if (nbConnections >= this.maxConnections) {
501
- warningLog(" nbConnections ", nbConnections, " self._server.maxConnections", this._server.maxConnections, this.maxConnections);
601
+ warningLog(" nbConnections ", nbConnections, " self._server.maxConnections", this._server?.maxConnections, this.maxConnections);
502
602
  deny_connection();
503
603
  return;
504
604
  }
@@ -517,7 +617,7 @@ class OPCUAServerEndPoint extends events_1.EventEmitter {
517
617
  this._un_pre_registerChannel(channel);
518
618
  debugLog(chalk_1.default.yellow.bold("Channel#init done"), err);
519
619
  if (err) {
520
- const reason = "openSecureChannel has Failed " + err.message;
620
+ const reason = `openSecureChannel has Failed ${err.message}`;
521
621
  const socketData = extractSocketData(socket, reason);
522
622
  const channelData = extractChannelData(channel);
523
623
  this.emit("openSecureChannelFailure", socketData, channelData);
@@ -621,7 +721,6 @@ class OPCUAServerEndPoint extends events_1.EventEmitter {
621
721
  _end_listen(err) {
622
722
  if (!this._listen_callback)
623
723
  return;
624
- (0, node_opcua_assert_1.assert)(typeof this._listen_callback === "function");
625
724
  this._listen_callback(err);
626
725
  this._listen_callback = undefined;
627
726
  }
@@ -647,14 +746,15 @@ class OPCUAServerEndPoint extends events_1.EventEmitter {
647
746
  const nbConnections = this.activeChannelCount;
648
747
  if (nbConnections >= this.maxConnections) {
649
748
  // c8 ignore next
650
- errorLog(chalk_1.default.bgRed.white("PREVENTING DDOS ATTACK => maxConnection =" + this.maxConnections));
749
+ errorLog(chalk_1.default.bgRed.white(`PREVENTING DDOS ATTACK => maxConnection =${this.maxConnections}`));
651
750
  const unused_channels = this.getChannels().filter((channel1) => {
652
751
  return !channel1.hasSession;
653
752
  });
654
753
  if (unused_channels.length === 0) {
655
- doDebug && console.log(this.getChannels()
656
- .map(({ status, isOpened, hasSession }) => `${status} ${isOpened} ${hasSession}\n`)
657
- .join(" "));
754
+ doDebug &&
755
+ console.log(this.getChannels()
756
+ .map(({ status, isOpened, hasSession }) => `${status} ${isOpened} ${hasSession}\n`)
757
+ .join(" "));
658
758
  // all channels are in used , we cannot get any
659
759
  errorLog(`All channels are in used ! we cannot cancel any ${this.getChannels().length}`);
660
760
  // c8 ignore next
@@ -712,7 +812,6 @@ function estimateSecurityLevel(securityMode, securityPolicy) {
712
812
  case node_opcua_secure_channel_1.SecurityPolicy.Aes256_Sha256_RsaPss:
713
813
  return 7 + offset;
714
814
  default:
715
- case node_opcua_secure_channel_1.SecurityPolicy.None:
716
815
  return 1;
717
816
  }
718
817
  }
@@ -732,7 +831,7 @@ function _makeEndpointDescription(options, parent) {
732
831
  options.securityLevel === undefined
733
832
  ? estimateSecurityLevel(options.securityMode, options.securityPolicy)
734
833
  : options.securityLevel;
735
- (0, node_opcua_assert_1.assert)(isFinite(options.securityLevel), "expecting a valid securityLevel");
834
+ (0, node_opcua_assert_1.assert)(Number.isFinite(options.securityLevel), "expecting a valid securityLevel");
736
835
  const securityPolicyUri = (0, node_opcua_secure_channel_1.toURI)(options.securityPolicy);
737
836
  const userIdentityTokens = [];
738
837
  const registerIdentity2 = (tokenType, securityPolicy, name) => {
@@ -829,7 +928,7 @@ function _makeEndpointDescription(options, parent) {
829
928
  });
830
929
  }
831
930
  // return the endpoint object
832
- const endpoint = new node_opcua_service_endpoints_2.EndpointDescription({
931
+ const endpoint = new node_opcua_service_endpoints_1.EndpointDescription({
833
932
  endpointUrl: "<to be evaluated at run time>", // options.endpointUrl,
834
933
  server: undefined, // options.server,
835
934
  serverCertificate: options.serverCertificateChain,
@@ -837,13 +936,14 @@ function _makeEndpointDescription(options, parent) {
837
936
  securityPolicyUri,
838
937
  userIdentityTokens,
839
938
  securityLevel: options.securityLevel,
840
- transportProfileUri: default_transportProfileUri
939
+ transportProfileUri: UATCP_UASC_UABINARY
841
940
  });
842
941
  endpoint._parent = parent;
843
942
  // endpointUrl is dynamic as port number may be adjusted
844
943
  // when the tcp socket start listening
944
+ // biome-ignore lint/suspicious/noExplicitAny: __defineGetter__ not in standard typings
845
945
  endpoint.__defineGetter__("endpointUrl", () => {
846
- const port = endpoint._parent.port;
946
+ const port = options.advertisedPort ?? endpoint._parent.port;
847
947
  const resourcePath = options.resourcePath || "";
848
948
  const hostname = options.hostname;
849
949
  const endpointUrl = `opc.tcp://${hostname}:${port}${resourcePath}`;
@@ -862,7 +962,7 @@ function _makeEndpointDescription(options, parent) {
862
962
  *
863
963
  */
864
964
  function matching_endpoint(securityMode, securityPolicy, endpointUrl, endpoint) {
865
- (0, node_opcua_assert_1.assert)(endpoint instanceof node_opcua_service_endpoints_2.EndpointDescription);
965
+ (0, node_opcua_assert_1.assert)(endpoint instanceof node_opcua_service_endpoints_1.EndpointDescription);
866
966
  const endpoint_securityPolicy = (0, node_opcua_secure_channel_1.fromURI)(endpoint.securityPolicyUri);
867
967
  if (endpointUrl && endpoint.endpointUrl !== endpointUrl) {
868
968
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"server_end_point.js","sourceRoot":"","sources":["../source/server_end_point.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server_end_point.js","sourceRoot":"","sources":["../source/server_end_point.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,26 @@
1
1
  /**
2
2
  * @module node-opcua-server
3
3
  */
4
- import { EventEmitter } from "events";
5
- import { AddressSpace, ISessionContext, IServerBase } from "node-opcua-address-space";
6
- import { DataValue } from "node-opcua-data-value";
4
+ import { EventEmitter } from "node:events";
5
+ import { AddressSpace, type IServerBase, type ISessionContext } from "node-opcua-address-space";
6
+ import type { CreateSubscriptionRequestLike } from "node-opcua-client";
7
7
  import { ServerDiagnosticsSummaryDataType, ServerState, ServerStatusDataType } from "node-opcua-common";
8
- import { LocalizedTextLike } from "node-opcua-data-model";
8
+ import { type LocalizedTextLike } from "node-opcua-data-model";
9
+ import type { DataValue } from "node-opcua-data-value";
9
10
  import { NodeId } from "node-opcua-nodeid";
10
- import { BrowseResult } from "node-opcua-service-browse";
11
- import { CreateSubscriptionRequestLike } from "node-opcua-client";
12
11
  import { ObjectRegistry } from "node-opcua-object-registry";
13
- import { TransferResult } from "node-opcua-service-subscription";
12
+ import type { BrowseResult } from "node-opcua-service-browse";
14
13
  import { ApplicationDescription } from "node-opcua-service-endpoints";
15
- import { HistoryReadRequest, HistoryReadResult, HistoryReadValueId } from "node-opcua-service-history";
16
- import { StatusCode } from "node-opcua-status-code";
17
- import { BrowseDescription, BrowsePath, BrowsePathResult, BuildInfo, BuildInfoOptions, WriteValue, ReadValueId, CallMethodResultOptions, ReadRequestOptions, BrowseDescriptionOptions, CallMethodRequest, ApplicationType } from "node-opcua-types";
18
- import { HistoryServerCapabilities, HistoryServerCapabilitiesOptions } from "./history_server_capabilities";
19
- import { ServerCapabilities, ServerCapabilitiesOptions } from "./server_capabilities";
14
+ import type { HistoryReadRequest, HistoryReadResult, HistoryReadValueId } from "node-opcua-service-history";
15
+ import { TransferResult } from "node-opcua-service-subscription";
16
+ import { type StatusCode } from "node-opcua-status-code";
17
+ import { ApplicationType, type BrowseDescription, type BrowseDescriptionOptions, type BrowsePath, type BrowsePathResult, type BuildInfo, type BuildInfoOptions, type CallMethodRequest, type CallMethodResultOptions, type ReadRequestOptions, ReadValueId, type WriteValue } from "node-opcua-types";
18
+ import { HistoryServerCapabilities, type HistoryServerCapabilitiesOptions } from "./history_server_capabilities";
19
+ import type { IAddressSpaceAccessor } from "./i_address_space_accessor";
20
+ import type { OPCUAServerOptions } from "./opcua_server";
21
+ import { ServerCapabilities, type ServerCapabilitiesOptions } from "./server_capabilities";
20
22
  import { ServerSession } from "./server_session";
21
23
  import { Subscription } from "./server_subscription";
22
- import { OPCUAServerOptions } from "./opcua_server";
23
- import { IAddressSpaceAccessor } from "./i_address_space_accessor";
24
24
  export declare function setNextSubscriptionId(n: number): void;
25
25
  export type StringGetter = () => string;
26
26
  export type StringArrayGetter = () => string[];
@@ -154,6 +154,24 @@ export declare class ServerEngine extends EventEmitter implements IAddressSpaceA
154
154
  get serverNamespaceUrn(): string;
155
155
  get serverStatus(): ServerStatusDataType;
156
156
  setServerState(serverState: ServerState): void;
157
+ getServerState(): ServerState;
158
+ /**
159
+ * Set the `ServerConfiguration.InApplicationSetup` property
160
+ * in the address space.
161
+ *
162
+ * This flag indicates whether the server is currently in
163
+ * its initial application setup phase (e.g. waiting for
164
+ * GDS provisioning).
165
+ */
166
+ setInApplicationSetup(value: boolean): void;
167
+ /**
168
+ * Read the current value of
169
+ * `ServerConfiguration.InApplicationSetup`.
170
+ *
171
+ * Returns `false` if the property does not exist in
172
+ * the address space.
173
+ */
174
+ getInApplicationSetup(): boolean;
157
175
  getServerDiagnosticsEnabledFlag(): boolean;
158
176
  /**
159
177
  *