opcjs-base 0.1.10 → 0.1.14
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/index.cjs +10141 -9054
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +701 -270
- package/dist/index.d.ts +701 -270
- package/dist/index.js +10106 -9048
- package/dist/index.js.map +1 -1
- package/package.json +12 -5
package/dist/index.d.ts
CHANGED
|
@@ -107,7 +107,7 @@ declare class NodeId {
|
|
|
107
107
|
/**
|
|
108
108
|
* OPC UA ExpandedNodeId Type
|
|
109
109
|
*
|
|
110
|
-
* ExpandedNodeId
|
|
110
|
+
* ExpandedNodeId wraps a NodeId with optional server identification,
|
|
111
111
|
* allowing nodes to be identified across multiple servers.
|
|
112
112
|
*
|
|
113
113
|
* @module expanded-nodeid
|
|
@@ -116,53 +116,83 @@ declare class NodeId {
|
|
|
116
116
|
/**
|
|
117
117
|
* OPC UA ExpandedNodeId
|
|
118
118
|
*
|
|
119
|
-
* An ExpandedNodeId
|
|
119
|
+
* An ExpandedNodeId wraps a NodeId with optional server identification,
|
|
120
120
|
* allowing nodes to be identified across multiple servers.
|
|
121
121
|
*
|
|
122
122
|
* @example
|
|
123
123
|
* ```typescript
|
|
124
124
|
* import { ExpandedNodeId } from '@opcua/types';
|
|
125
125
|
*
|
|
126
|
-
* const expandedNodeId = new ExpandedNodeId(
|
|
126
|
+
* const expandedNodeId = new ExpandedNodeId(
|
|
127
|
+
* new NodeId(2, 123),
|
|
128
|
+
* 'http://opcfoundation.org/UA/',
|
|
129
|
+
* 1,
|
|
130
|
+
* );
|
|
127
131
|
* console.log(expandedNodeId.toString());
|
|
128
132
|
* // "svr=1;nsu=http://opcfoundation.org/UA/;ns=2;i=123"
|
|
129
133
|
* ```
|
|
130
134
|
*/
|
|
131
|
-
declare class ExpandedNodeId
|
|
132
|
-
/**
|
|
133
|
-
|
|
134
|
-
|
|
135
|
+
declare class ExpandedNodeId {
|
|
136
|
+
/** The wrapped NodeId. */
|
|
137
|
+
readonly nodeId: NodeId;
|
|
138
|
+
/** The server index (optional, for cross-server references). */
|
|
135
139
|
readonly serverIndex?: number;
|
|
136
|
-
/**
|
|
137
|
-
* The namespace URI (optional, alternative to namespace index)
|
|
138
|
-
*/
|
|
140
|
+
/** The namespace URI (optional, alternative to the namespace index on nodeId). */
|
|
139
141
|
readonly namespaceUri?: string;
|
|
140
142
|
/**
|
|
141
|
-
* Create a new ExpandedNodeId
|
|
143
|
+
* Create a new ExpandedNodeId.
|
|
142
144
|
*
|
|
143
|
-
* @param
|
|
144
|
-
* @param identifier - The identifier
|
|
145
|
+
* @param nodeId - The wrapped NodeId
|
|
145
146
|
* @param namespaceUri - Optional namespace URI
|
|
146
147
|
* @param serverIndex - Optional server index
|
|
147
148
|
*/
|
|
148
|
-
constructor(
|
|
149
|
-
/**
|
|
150
|
-
* Convert ExpandedNodeId to string representation
|
|
151
|
-
*
|
|
152
|
-
* @returns String representation of the ExpandedNodeId
|
|
153
|
-
*/
|
|
149
|
+
constructor(nodeId: NodeId, namespaceUri?: string, serverIndex?: number);
|
|
150
|
+
/** Convert ExpandedNodeId to string representation. */
|
|
154
151
|
toString(): string;
|
|
155
152
|
}
|
|
156
153
|
|
|
154
|
+
/**
|
|
155
|
+
* Enumeration of variant types based on BuiltinType NodeIds.
|
|
156
|
+
*/
|
|
157
|
+
declare enum BuiltInType {
|
|
158
|
+
Null = 0,
|
|
159
|
+
Boolean = 1,
|
|
160
|
+
SByte = 2,
|
|
161
|
+
Byte = 3,
|
|
162
|
+
Int16 = 4,
|
|
163
|
+
UInt16 = 5,
|
|
164
|
+
Int32 = 6,
|
|
165
|
+
UInt32 = 7,
|
|
166
|
+
Int64 = 8,
|
|
167
|
+
UInt64 = 9,
|
|
168
|
+
Float = 10,
|
|
169
|
+
Double = 11,
|
|
170
|
+
String = 12,
|
|
171
|
+
DateTime = 13,
|
|
172
|
+
Guid = 14,
|
|
173
|
+
ByteString = 15,
|
|
174
|
+
XmlElement = 16,
|
|
175
|
+
NodeId = 17,
|
|
176
|
+
ExpandedNodeId = 18,
|
|
177
|
+
StatusCode = 19,
|
|
178
|
+
QualifiedName = 20,
|
|
179
|
+
LocalizedText = 21,
|
|
180
|
+
ExtensionObject = 22,
|
|
181
|
+
DataValue = 23,
|
|
182
|
+
Variant = 24,
|
|
183
|
+
DiagnosticInfo = 25
|
|
184
|
+
}
|
|
185
|
+
|
|
157
186
|
/**
|
|
158
187
|
* OPC UA StatusCode Type (i=19)
|
|
159
188
|
*
|
|
160
189
|
* StatusCode is a 32-bit unsigned integer that indicates the quality of a result.
|
|
161
190
|
* The format is: [Severity:2][SubCode:14][Code:16]
|
|
162
191
|
*
|
|
163
|
-
* @see OPC UA Part 4, Section 7.
|
|
164
|
-
* @see OPC UA Part 6,
|
|
192
|
+
* @see OPC UA Part 4, Section 7.38
|
|
193
|
+
* @see OPC UA Part 6, Annex A
|
|
165
194
|
*/
|
|
195
|
+
|
|
166
196
|
declare enum StatusCode {
|
|
167
197
|
Good,
|
|
168
198
|
Uncertain,
|
|
@@ -412,6 +442,89 @@ declare enum StatusCode {
|
|
|
412
442
|
BadSyntaxError,
|
|
413
443
|
BadMaxConnectionsReached
|
|
414
444
|
}
|
|
445
|
+
/**
|
|
446
|
+
* Converts an OPC UA status code to a human-readable string.
|
|
447
|
+
*
|
|
448
|
+
* OPC UA status codes have two independent parts (OPC UA Part 4, §7.38 / Part 6, §5.1.1):
|
|
449
|
+
*
|
|
450
|
+
* Bits 31:30 Severity 00=Good, 01=Uncertain, 10/11=Bad
|
|
451
|
+
* Bits 27:16 SubCode Named code (e.g. 0x34 = NodeIdUnknown)
|
|
452
|
+
* Bit 15 StructureChanged – data type structure of the variable changed
|
|
453
|
+
* Bit 14 SemanticsChanged – engineering unit or range of the variable changed
|
|
454
|
+
* Bits 13:12 InfoType 00=not used, 01=DataValue info bits active
|
|
455
|
+
* Bit 11 Overflow – (DataValue) notifications dropped from queue
|
|
456
|
+
* Bits 10:9 LimitBits – (DataValue) 00=None, 01=Low, 10=High, 11=Constant
|
|
457
|
+
*
|
|
458
|
+
* All named codes (BadNodeIdUnknown, Good, …) have their lower 16 bits = 0.
|
|
459
|
+
* The lower 16 bits are flag bits and are decoded separately via {@link StatusCodeGetFlagBits}.
|
|
460
|
+
*
|
|
461
|
+
* @see OPC UA Part 4, Section 7.38
|
|
462
|
+
* @see OPC UA Part 6, Section 5.1.1 and Annex A
|
|
463
|
+
*/
|
|
464
|
+
/**
|
|
465
|
+
* Returns the name of the StatusCode enum member for the given code.
|
|
466
|
+
* Flag bits (lower 16 bits) are masked off before looking up the name.
|
|
467
|
+
* Returns the hex string if the code is not in the enum.
|
|
468
|
+
*
|
|
469
|
+
* Examples:
|
|
470
|
+
* StatusCodeToString(0x00000000) → "Good"
|
|
471
|
+
* StatusCodeToString(0x80340000) → "BadNodeIdUnknown"
|
|
472
|
+
* StatusCodeToString(0x00000400) → "Good" (flags ignored for name lookup)
|
|
473
|
+
* StatusCodeToString(undefined) → "Unknown"
|
|
474
|
+
*
|
|
475
|
+
* @see OPC UA Part 4, Section 7.38
|
|
476
|
+
*/
|
|
477
|
+
declare function StatusCodeToString(statusCode?: number): string;
|
|
478
|
+
/**
|
|
479
|
+
* Returns the full status code value (including flag bits) as an uppercase hex string.
|
|
480
|
+
*
|
|
481
|
+
* Examples:
|
|
482
|
+
* StatusCodeToStringNumber(0x00000000) → "0x00000000"
|
|
483
|
+
* StatusCodeToStringNumber(0x80340000) → "0x80340000"
|
|
484
|
+
* StatusCodeToStringNumber(0x00000400) → "0x00000400"
|
|
485
|
+
*/
|
|
486
|
+
declare function StatusCodeToStringNumber(statusCode?: number): string;
|
|
487
|
+
/** Flag bits decoded from the lower 16 bits of an OPC UA StatusCode value. */
|
|
488
|
+
interface StatusCodeFlagBits {
|
|
489
|
+
/** Bit 15 – the data type structure of the variable has changed. */
|
|
490
|
+
StructureChanged: boolean;
|
|
491
|
+
/** Bit 14 – engineering unit or range of the variable has changed. */
|
|
492
|
+
SemanticsChanged: boolean;
|
|
493
|
+
/** Bit 11 – notifications were dropped from the queue (DataValue). */
|
|
494
|
+
Overflow: boolean;
|
|
495
|
+
/** Bits 10:9 = 01 – value is pegged at the low engineering limit. */
|
|
496
|
+
LimitLow: boolean;
|
|
497
|
+
/** Bits 10:9 = 10 – value is pegged at the high engineering limit. */
|
|
498
|
+
LimitHigh: boolean;
|
|
499
|
+
/** Bits 10:9 = 11 – value is a constant and cannot change. */
|
|
500
|
+
LimitConstant: boolean;
|
|
501
|
+
}
|
|
502
|
+
/**
|
|
503
|
+
* Decodes the flag bits (lower 16 bits) of a StatusCode value.
|
|
504
|
+
*
|
|
505
|
+
* Examples:
|
|
506
|
+
* StatusCodeGetFlagBits(0x00000000) → { StructureChanged: false, SemanticsChanged: false, … }
|
|
507
|
+
* StatusCodeGetFlagBits(0x00000400) → { …, LimitHigh: true, … }
|
|
508
|
+
* StatusCodeGetFlagBits(0x00008C00) → { StructureChanged: true, Overflow: true, LimitHigh: true, … }
|
|
509
|
+
*
|
|
510
|
+
* @see OPC UA Part 6, Section 5.1.1, Table 49
|
|
511
|
+
*/
|
|
512
|
+
declare function StatusCodeGetFlagBits(statusCode?: number): StatusCodeFlagBits;
|
|
513
|
+
/**
|
|
514
|
+
* Returns true if the base code of `statusCode` matches the given `expected` StatusCode enum value.
|
|
515
|
+
* Flag bits (lower 16 bits) are masked off before comparison.
|
|
516
|
+
*
|
|
517
|
+
* Examples:
|
|
518
|
+
* StatusCodeIs(0x00000000, StatusCode.Good) → true
|
|
519
|
+
* StatusCodeIs(0x00000400, StatusCode.Good) → true (flag bits ignored)
|
|
520
|
+
* StatusCodeIs(1024, StatusCode.Good) → true (1024 = 0x00000400)
|
|
521
|
+
* StatusCodeIs(0x80340000, StatusCode.BadNodeIdUnknown) → true
|
|
522
|
+
* StatusCodeIs(0x80340000, StatusCode.Good) → false
|
|
523
|
+
*
|
|
524
|
+
* @param statusCode - The raw status code value to test.
|
|
525
|
+
* @param expected - The StatusCode enum member to compare against.
|
|
526
|
+
*/
|
|
527
|
+
declare function StatusCodeIs(statusCode: number, expected: StatusCode): boolean;
|
|
415
528
|
|
|
416
529
|
/**
|
|
417
530
|
* OPC UA QualifiedName Type
|
|
@@ -623,9 +736,9 @@ declare enum ExtensionObjectEncoding {
|
|
|
623
736
|
*/
|
|
624
737
|
declare class ExtensionObject {
|
|
625
738
|
/**
|
|
626
|
-
* The NodeId that identifies the type of structure encoded in the body.
|
|
739
|
+
* The NodeId (or ExpandedNodeId) that identifies the type of structure encoded in the body.
|
|
627
740
|
*/
|
|
628
|
-
readonly typeId: NodeId;
|
|
741
|
+
readonly typeId: NodeId | ExpandedNodeId;
|
|
629
742
|
/**
|
|
630
743
|
* The encoding used for the body.
|
|
631
744
|
*/
|
|
@@ -644,7 +757,7 @@ declare class ExtensionObject {
|
|
|
644
757
|
* @param encoding - The encoding type
|
|
645
758
|
* @param body - The encoded body (null for None encoding)
|
|
646
759
|
*/
|
|
647
|
-
constructor(typeId: NodeId, encoding?: ExtensionObjectEncoding, data?: IOpcType);
|
|
760
|
+
constructor(typeId: NodeId | ExpandedNodeId, encoding?: ExtensionObjectEncoding, data?: IOpcType);
|
|
648
761
|
/**
|
|
649
762
|
* Creates an ExtensionObject with no body.
|
|
650
763
|
*
|
|
@@ -667,7 +780,7 @@ declare class ExtensionObject {
|
|
|
667
780
|
* @param body - The XML encoded body
|
|
668
781
|
* @returns A new ExtensionObject with Xml encoding
|
|
669
782
|
*/
|
|
670
|
-
static newXml(typeId: NodeId, data: IOpcType): ExtensionObject;
|
|
783
|
+
static newXml(typeId: NodeId | ExpandedNodeId, data: IOpcType): ExtensionObject;
|
|
671
784
|
}
|
|
672
785
|
|
|
673
786
|
/**
|
|
@@ -717,26 +830,6 @@ declare class XmlElement {
|
|
|
717
830
|
* @returns The number of characters
|
|
718
831
|
*/
|
|
719
832
|
get length(): number;
|
|
720
|
-
/**
|
|
721
|
-
* Validate if this XmlElement contains valid XML
|
|
722
|
-
*
|
|
723
|
-
* Note: This is a simple check, not a full XML validator.
|
|
724
|
-
* For production use, consider using a proper XML parser.
|
|
725
|
-
*
|
|
726
|
-
* @returns true if the string appears to be valid XML
|
|
727
|
-
*
|
|
728
|
-
* @example
|
|
729
|
-
* ```typescript
|
|
730
|
-
* const xml = new XmlElement("<root></root>");
|
|
731
|
-
* xml.isValid(); // true
|
|
732
|
-
* ```
|
|
733
|
-
*/
|
|
734
|
-
isValid(): boolean;
|
|
735
|
-
/**
|
|
736
|
-
* Basic XML structure validation (for Node.js environment)
|
|
737
|
-
* Checks for matching opening and closing tags
|
|
738
|
-
*/
|
|
739
|
-
private static checkBasicXmlStructure;
|
|
740
833
|
/**
|
|
741
834
|
* Escape special XML characters in text content
|
|
742
835
|
*
|
|
@@ -925,6 +1018,95 @@ declare class DiagnosticInfo {
|
|
|
925
1018
|
toString(includeInner?: boolean): string;
|
|
926
1019
|
}
|
|
927
1020
|
|
|
1021
|
+
/**
|
|
1022
|
+
* OPC UA Primitive Type Mappings
|
|
1023
|
+
*
|
|
1024
|
+
* We try to use the JS built in types wherever we can. But sometimes, often in the context
|
|
1025
|
+
* where Variant is involved, we need to have a wrapper type that includes the BuiltInType
|
|
1026
|
+
* for type checking and encoding purposes. In those cases, we define a wrapper type with a
|
|
1027
|
+
* value and a type field. For simple cases like boolean, we can just use the native boolean
|
|
1028
|
+
* type directly as UaBoolean.
|
|
1029
|
+
* @module primitives
|
|
1030
|
+
*/
|
|
1031
|
+
|
|
1032
|
+
type UaBoolean = boolean;
|
|
1033
|
+
/**
|
|
1034
|
+
* OPC UA Builtin Type Numeric IDs
|
|
1035
|
+
*
|
|
1036
|
+
* These correspond to the NodeId numeric identifiers defined in OPC UA Part 6, Table 1.
|
|
1037
|
+
*/
|
|
1038
|
+
type UaSbyte = {
|
|
1039
|
+
value: number;
|
|
1040
|
+
readonly type: BuiltInType.SByte;
|
|
1041
|
+
};
|
|
1042
|
+
declare const uaSbyte: (value: number) => UaSbyte;
|
|
1043
|
+
type UaByte = {
|
|
1044
|
+
value: number;
|
|
1045
|
+
readonly type: BuiltInType.Byte;
|
|
1046
|
+
};
|
|
1047
|
+
declare const uaByte: (value: number) => UaByte;
|
|
1048
|
+
type UaInt16 = {
|
|
1049
|
+
value: number;
|
|
1050
|
+
readonly type: BuiltInType.Int16;
|
|
1051
|
+
};
|
|
1052
|
+
declare const uaInt16: (value: number) => UaInt16;
|
|
1053
|
+
type UaUint16 = {
|
|
1054
|
+
value: number;
|
|
1055
|
+
readonly type: BuiltInType.UInt16;
|
|
1056
|
+
};
|
|
1057
|
+
declare const uaUint16: (value: number) => UaUint16;
|
|
1058
|
+
type UaInt32 = {
|
|
1059
|
+
value: number;
|
|
1060
|
+
readonly type: BuiltInType.Int32;
|
|
1061
|
+
};
|
|
1062
|
+
declare const uaInt32: (value: number) => UaInt32;
|
|
1063
|
+
type UaUint32 = {
|
|
1064
|
+
value: number;
|
|
1065
|
+
readonly type: BuiltInType.UInt32;
|
|
1066
|
+
};
|
|
1067
|
+
declare const uaUint32: (value: number) => UaUint32;
|
|
1068
|
+
type UaInt64 = {
|
|
1069
|
+
value: bigint;
|
|
1070
|
+
readonly type: BuiltInType.Int64;
|
|
1071
|
+
};
|
|
1072
|
+
declare const uaInt64: (value: bigint) => UaInt64;
|
|
1073
|
+
type UaUint64 = {
|
|
1074
|
+
value: bigint;
|
|
1075
|
+
readonly type: BuiltInType.UInt64;
|
|
1076
|
+
};
|
|
1077
|
+
declare const uaUint64: (value: bigint) => UaUint64;
|
|
1078
|
+
type UaFloat = {
|
|
1079
|
+
value: number;
|
|
1080
|
+
readonly type: BuiltInType.Float;
|
|
1081
|
+
};
|
|
1082
|
+
declare const uaFloat: (value: number) => UaFloat;
|
|
1083
|
+
type UaDouble = {
|
|
1084
|
+
value: number;
|
|
1085
|
+
readonly type: BuiltInType.Double;
|
|
1086
|
+
};
|
|
1087
|
+
declare const uaDouble: (value: number) => UaDouble;
|
|
1088
|
+
/**
|
|
1089
|
+
* OPC UA String primitive type.
|
|
1090
|
+
*
|
|
1091
|
+
* A String in OPC UA can be null (encoded as length -1 in binary).
|
|
1092
|
+
* Using `string | null` instead of `string | undefined` aligns with the
|
|
1093
|
+
* OPC UA specification where null is an explicit, valid value distinct
|
|
1094
|
+
* from an empty string. Same is true for ByteString which can be null (length -1)
|
|
1095
|
+
* or a Uint8Array.
|
|
1096
|
+
*/
|
|
1097
|
+
type UaString = string | null;
|
|
1098
|
+
type UaByteString = Uint8Array | null;
|
|
1099
|
+
type UaGuid = {
|
|
1100
|
+
value: string;
|
|
1101
|
+
readonly type: BuiltInType.Guid;
|
|
1102
|
+
};
|
|
1103
|
+
declare const uaGuid: (value: string) => UaGuid;
|
|
1104
|
+
type UaDateTime = Date;
|
|
1105
|
+
/**
|
|
1106
|
+
* Union of all OPC UA primitive types accepted by {@link Variant.newFrom}.
|
|
1107
|
+
*/
|
|
1108
|
+
type UaPrimitive = UaBoolean | UaSbyte | UaByte | UaInt16 | UaUint16 | UaInt32 | UaUint32 | UaInt64 | UaUint64 | UaFloat | UaDouble | UaString | UaDateTime | UaGuid | UaByteString;
|
|
1109
|
+
|
|
928
1110
|
/**
|
|
929
1111
|
* OPC UA Variant Type (i=24)
|
|
930
1112
|
*
|
|
@@ -934,41 +1116,10 @@ declare class DiagnosticInfo {
|
|
|
934
1116
|
* @see OPC UA Part 6, Section 5.1.2
|
|
935
1117
|
*/
|
|
936
1118
|
|
|
937
|
-
/**
|
|
938
|
-
* Enumeration of variant types based on BuiltinType NodeIds.
|
|
939
|
-
*/
|
|
940
|
-
declare enum VariantType {
|
|
941
|
-
Null = 0,
|
|
942
|
-
Boolean = 1,
|
|
943
|
-
SByte = 2,
|
|
944
|
-
Byte = 3,
|
|
945
|
-
Int16 = 4,
|
|
946
|
-
UInt16 = 5,
|
|
947
|
-
Int32 = 6,
|
|
948
|
-
UInt32 = 7,
|
|
949
|
-
Int64 = 8,
|
|
950
|
-
UInt64 = 9,
|
|
951
|
-
Float = 10,
|
|
952
|
-
Double = 11,
|
|
953
|
-
String = 12,
|
|
954
|
-
DateTime = 13,
|
|
955
|
-
Guid = 14,
|
|
956
|
-
ByteString = 15,
|
|
957
|
-
XmlElement = 16,
|
|
958
|
-
NodeId = 17,
|
|
959
|
-
ExpandedNodeId = 18,
|
|
960
|
-
StatusCode = 19,
|
|
961
|
-
QualifiedName = 20,
|
|
962
|
-
LocalizedText = 21,
|
|
963
|
-
ExtensionObject = 22,
|
|
964
|
-
DataValue = 23,
|
|
965
|
-
Variant = 24,
|
|
966
|
-
DiagnosticInfo = 25
|
|
967
|
-
}
|
|
968
1119
|
/**
|
|
969
1120
|
* Type union representing all possible variant values.
|
|
970
1121
|
*/
|
|
971
|
-
type VariantValue = undefined | boolean | number | bigint | string | Date | Uint8Array | NodeId | ExpandedNodeId | QualifiedName | LocalizedText |
|
|
1122
|
+
type VariantValue = null | undefined | boolean | number | bigint | string | Date | Uint8Array | NodeId | ExpandedNodeId | QualifiedName | LocalizedText | XmlElement | ExtensionObject | DataValue | StatusCode | DiagnosticInfo | Variant;
|
|
972
1123
|
/**
|
|
973
1124
|
* Type for variant arrays.
|
|
974
1125
|
*/
|
|
@@ -997,7 +1148,7 @@ declare class Variant {
|
|
|
997
1148
|
/**
|
|
998
1149
|
* The variant type identifier.
|
|
999
1150
|
*/
|
|
1000
|
-
readonly
|
|
1151
|
+
readonly type: BuiltInType;
|
|
1001
1152
|
/**
|
|
1002
1153
|
* The variant value (scalar or array).
|
|
1003
1154
|
*/
|
|
@@ -1008,20 +1159,6 @@ declare class Variant {
|
|
|
1008
1159
|
* For 2D arrays, this is [rows, cols], etc.
|
|
1009
1160
|
*/
|
|
1010
1161
|
readonly arrayDimensions: number[] | undefined;
|
|
1011
|
-
/**
|
|
1012
|
-
* Creates a new Variant.
|
|
1013
|
-
*
|
|
1014
|
-
* @param variantType - The type of value stored in the variant
|
|
1015
|
-
* @param value - The scalar or array value
|
|
1016
|
-
* @param arrayDimensions - Optional array dimensions for structured arrays
|
|
1017
|
-
*/
|
|
1018
|
-
constructor(variantType?: VariantType, value?: VariantValue | VariantArrayValue, arrayDimensions?: number[] | undefined);
|
|
1019
|
-
/**
|
|
1020
|
-
* Creates a undefined variant.
|
|
1021
|
-
*
|
|
1022
|
-
* @returns A new Variant with undefined value
|
|
1023
|
-
*/
|
|
1024
|
-
static createNull(): Variant;
|
|
1025
1162
|
/**
|
|
1026
1163
|
* Checks if this variant is null.
|
|
1027
1164
|
*
|
|
@@ -1059,6 +1196,45 @@ declare class Variant {
|
|
|
1059
1196
|
* @returns A string representation of the variant
|
|
1060
1197
|
*/
|
|
1061
1198
|
toString(): string;
|
|
1199
|
+
/**
|
|
1200
|
+
* Creates a {@link Variant} from any OPC UA built-in scalar value or a
|
|
1201
|
+
* homogeneous array of such values.
|
|
1202
|
+
*
|
|
1203
|
+
* **Scalar usage** — pass any concrete OPC UA type and the BuiltInType is
|
|
1204
|
+
* inferred automatically:
|
|
1205
|
+
* ```ts
|
|
1206
|
+
* Variant.newFrom('hello') // String
|
|
1207
|
+
* Variant.newFrom(uaDouble(3.14)) // Double
|
|
1208
|
+
* Variant.newFrom(new LocalizedText('en', 'Hi'))
|
|
1209
|
+
* ```
|
|
1210
|
+
*
|
|
1211
|
+
* **Array usage** — pass a plain JS array of a single homogeneous element type:
|
|
1212
|
+
* ```ts
|
|
1213
|
+
* Variant.newFrom([uaDouble(1.0), uaDouble(2.0)]) // Double[]
|
|
1214
|
+
* Variant.newFrom([new LocalizedText('en', 'A'), ...]) // LocalizedText[]
|
|
1215
|
+
* ```
|
|
1216
|
+
*
|
|
1217
|
+
* Throws if the array is empty (element type cannot be inferred), if the
|
|
1218
|
+
* first element is null/undefined, or if elements have mixed types.
|
|
1219
|
+
*
|
|
1220
|
+
* Note: `Variant` itself is excluded from the accepted types intentionally —
|
|
1221
|
+
* callers should work with concrete OPC UA types.
|
|
1222
|
+
*/
|
|
1223
|
+
static newFrom(value: UaPrimitive | NodeId | ExpandedNodeId | QualifiedName | LocalizedText | XmlElement | ExtensionObject | DataValue | DiagnosticInfo | null | undefined | UaPrimitive[] | NodeId[] | ExpandedNodeId[] | QualifiedName[] | LocalizedText[] | XmlElement[] | ExtensionObject[] | DataValue[] | DiagnosticInfo[]): Variant;
|
|
1224
|
+
/**
|
|
1225
|
+
* Creates a undefined variant.
|
|
1226
|
+
*
|
|
1227
|
+
* @returns A new Variant with undefined value
|
|
1228
|
+
*/
|
|
1229
|
+
static newNull(): Variant;
|
|
1230
|
+
/**
|
|
1231
|
+
* Creates a new Variant.
|
|
1232
|
+
*
|
|
1233
|
+
* @param variantType - The type of value stored in the variant
|
|
1234
|
+
* @param value - The scalar or array value
|
|
1235
|
+
* @param arrayDimensions - Optional array dimensions for structured arrays
|
|
1236
|
+
*/
|
|
1237
|
+
constructor(variantType?: BuiltInType, value?: VariantValue | VariantArrayValue, arrayDimensions?: number[] | undefined);
|
|
1062
1238
|
}
|
|
1063
1239
|
|
|
1064
1240
|
/**
|
|
@@ -1192,130 +1368,12 @@ declare class Decoder {
|
|
|
1192
1368
|
private encodingIdMap;
|
|
1193
1369
|
registerReaderFactory(writerId: string, factory: (data: unknown) => IReader): void;
|
|
1194
1370
|
registerEncodingId(encodingId: number, writerId: string, typeId: number): void;
|
|
1195
|
-
registerType
|
|
1371
|
+
registerType(typeId: number, decoder: (decoder: IReader) => unknown): void;
|
|
1196
1372
|
decode<T extends IOpcType>(data: unknown, encodingType: string): T;
|
|
1197
1373
|
decodeWithEncodingId<T extends IOpcType>(encodingId: number, reader: IReader): T;
|
|
1198
1374
|
decodeWithTypeId<T extends IOpcType>(typeId: number, reader: IReader): T;
|
|
1199
1375
|
}
|
|
1200
1376
|
|
|
1201
|
-
/**
|
|
1202
|
-
* OPC UA Primitive Type Mappings
|
|
1203
|
-
*
|
|
1204
|
-
* Defines TypeScript type mappings for OPC UA primitive types.
|
|
1205
|
-
* Primitives map directly to native TypeScript types without wrapper classes.
|
|
1206
|
-
*
|
|
1207
|
-
* @module primitives
|
|
1208
|
-
*/
|
|
1209
|
-
/**
|
|
1210
|
-
* OPC UA Builtin Type Numeric IDs
|
|
1211
|
-
*
|
|
1212
|
-
* These correspond to the NodeId numeric identifiers defined in OPC UA Part 6, Table 1.
|
|
1213
|
-
*/
|
|
1214
|
-
declare const BuiltinTypeId: {
|
|
1215
|
-
readonly Boolean: 1;
|
|
1216
|
-
readonly SByte: 2;
|
|
1217
|
-
readonly Byte: 3;
|
|
1218
|
-
readonly Int16: 4;
|
|
1219
|
-
readonly UInt16: 5;
|
|
1220
|
-
readonly Int32: 6;
|
|
1221
|
-
readonly UInt32: 7;
|
|
1222
|
-
readonly Int64: 8;
|
|
1223
|
-
readonly UInt64: 9;
|
|
1224
|
-
readonly Float: 10;
|
|
1225
|
-
readonly Double: 11;
|
|
1226
|
-
readonly String: 12;
|
|
1227
|
-
readonly DateTime: 13;
|
|
1228
|
-
readonly Guid: 14;
|
|
1229
|
-
readonly ByteString: 15;
|
|
1230
|
-
readonly XmlElement: 16;
|
|
1231
|
-
readonly NodeId: 17;
|
|
1232
|
-
readonly ExpandedNodeId: 18;
|
|
1233
|
-
readonly StatusCode: 19;
|
|
1234
|
-
readonly QualifiedName: 20;
|
|
1235
|
-
readonly LocalizedText: 21;
|
|
1236
|
-
readonly ExtensionObject: 22;
|
|
1237
|
-
readonly DataValue: 23;
|
|
1238
|
-
readonly Variant: 24;
|
|
1239
|
-
readonly DiagnosticInfo: 25;
|
|
1240
|
-
};
|
|
1241
|
-
/**
|
|
1242
|
-
* Type representing any builtin type ID
|
|
1243
|
-
*/
|
|
1244
|
-
type BuiltinTypeIdValue = typeof BuiltinTypeId[keyof typeof BuiltinTypeId];
|
|
1245
|
-
/**
|
|
1246
|
-
* OPC UA String primitive type.
|
|
1247
|
-
*
|
|
1248
|
-
* A String in OPC UA can be null (encoded as length -1 in binary).
|
|
1249
|
-
* Using `string | null` instead of `string | undefined` aligns with the
|
|
1250
|
-
* OPC UA specification where null is an explicit, valid value distinct
|
|
1251
|
-
* from an empty string.
|
|
1252
|
-
*/
|
|
1253
|
-
type UaString = string | null;
|
|
1254
|
-
/**
|
|
1255
|
-
* OPC UA ByteString primitive type.
|
|
1256
|
-
*
|
|
1257
|
-
* A ByteString in OPC UA can be null (encoded as length -1 in binary).
|
|
1258
|
-
* Using `Uint8Array | null` instead of `Uint8Array | undefined` aligns
|
|
1259
|
-
* with the OPC UA specification where null is an explicit, valid value
|
|
1260
|
-
* distinct from an empty byte array.
|
|
1261
|
-
*/
|
|
1262
|
-
type UaByteString = Uint8Array | null;
|
|
1263
|
-
/**
|
|
1264
|
-
* Primitive type mappings: OPC UA type → TypeScript type
|
|
1265
|
-
*
|
|
1266
|
-
* Primitives use native TypeScript types directly:
|
|
1267
|
-
* - Boolean → boolean
|
|
1268
|
-
* - All numeric types → number (TypeScript doesn't distinguish integer types)
|
|
1269
|
-
* - String → string
|
|
1270
|
-
* - DateTime → Date
|
|
1271
|
-
* - Guid → string (UUID format)
|
|
1272
|
-
*/
|
|
1273
|
-
type PrimitiveTypeMap = {
|
|
1274
|
-
[BuiltinTypeId.Boolean]: boolean;
|
|
1275
|
-
[BuiltinTypeId.SByte]: number;
|
|
1276
|
-
[BuiltinTypeId.Byte]: number;
|
|
1277
|
-
[BuiltinTypeId.Int16]: number;
|
|
1278
|
-
[BuiltinTypeId.UInt16]: number;
|
|
1279
|
-
[BuiltinTypeId.Int32]: number;
|
|
1280
|
-
[BuiltinTypeId.UInt32]: number;
|
|
1281
|
-
[BuiltinTypeId.Int64]: bigint;
|
|
1282
|
-
[BuiltinTypeId.UInt64]: bigint;
|
|
1283
|
-
[BuiltinTypeId.Float]: number;
|
|
1284
|
-
[BuiltinTypeId.Double]: number;
|
|
1285
|
-
[BuiltinTypeId.String]: UaString;
|
|
1286
|
-
[BuiltinTypeId.DateTime]: Date;
|
|
1287
|
-
[BuiltinTypeId.Guid]: string;
|
|
1288
|
-
[BuiltinTypeId.ByteString]: UaByteString;
|
|
1289
|
-
};
|
|
1290
|
-
/**
|
|
1291
|
-
* Get the TypeScript type name for a primitive builtin type
|
|
1292
|
-
*
|
|
1293
|
-
* @param typeId - The numeric builtin type ID
|
|
1294
|
-
* @returns The TypeScript type name as a string, or undefined if not a primitive
|
|
1295
|
-
*
|
|
1296
|
-
* @example
|
|
1297
|
-
* ```typescript
|
|
1298
|
-
* getPrimitiveTypeName(1); // "boolean"
|
|
1299
|
-
* getPrimitiveTypeName(6); // "number"
|
|
1300
|
-
* getPrimitiveTypeName(12); // "string"
|
|
1301
|
-
* getPrimitiveTypeName(17); // undefined (NodeId is complex, not primitive)
|
|
1302
|
-
* ```
|
|
1303
|
-
*/
|
|
1304
|
-
declare function getPrimitiveTypeName(typeId: number): string | undefined;
|
|
1305
|
-
/**
|
|
1306
|
-
* Check if a builtin type ID represents a primitive type
|
|
1307
|
-
*
|
|
1308
|
-
* @param typeId - The numeric builtin type ID
|
|
1309
|
-
* @returns true if the type is primitive, false otherwise
|
|
1310
|
-
*
|
|
1311
|
-
* @example
|
|
1312
|
-
* ```typescript
|
|
1313
|
-
* isPrimitive(1); // true (Boolean)
|
|
1314
|
-
* isPrimitive(17); // false (NodeId is complex)
|
|
1315
|
-
* ```
|
|
1316
|
-
*/
|
|
1317
|
-
declare function isPrimitive(typeId: number): boolean;
|
|
1318
|
-
|
|
1319
1377
|
/**
|
|
1320
1378
|
* @fileoverview Decoder interface for OPC UA data decoding
|
|
1321
1379
|
* @module codec/interfaces/decoder
|
|
@@ -1401,7 +1459,7 @@ interface IReader {
|
|
|
1401
1459
|
* Binary: Int32 length prefix + UTF-8 bytes (-1 indicates null)
|
|
1402
1460
|
* @returns The string value, or null if the length prefix is -1 (OPC UA null)
|
|
1403
1461
|
*/
|
|
1404
|
-
readString():
|
|
1462
|
+
readString(): string | null;
|
|
1405
1463
|
/**
|
|
1406
1464
|
* Decode a DateTime value.
|
|
1407
1465
|
* Binary: Int64 representing 100-nanosecond intervals since January 1, 1601 UTC
|
|
@@ -1488,7 +1546,7 @@ declare class Encoder {
|
|
|
1488
1546
|
private encoders;
|
|
1489
1547
|
private writerFactories;
|
|
1490
1548
|
registerWriterFactory(writerId: string, factory: () => IWriter): void;
|
|
1491
|
-
registerType
|
|
1549
|
+
registerType(typeId: number, encoder: (encoder: IWriter, value: unknown) => void): void;
|
|
1492
1550
|
encode<T extends IOpcType>(value: T, encodingType: string): unknown;
|
|
1493
1551
|
encodeWithoutId<T extends IOpcType>(value: T, encodingType: string): unknown;
|
|
1494
1552
|
}
|
|
@@ -1579,7 +1637,7 @@ interface IWriter {
|
|
|
1579
1637
|
* Binary: Int32 length prefix + UTF-8 bytes
|
|
1580
1638
|
* @param value The string value; null or undefined is encoded as length -1 (OPC UA null)
|
|
1581
1639
|
*/
|
|
1582
|
-
writeString(value:
|
|
1640
|
+
writeString(value: string | null): void;
|
|
1583
1641
|
/**
|
|
1584
1642
|
* Encode a DateTime value.
|
|
1585
1643
|
* Binary: Int64 representing 100-nanosecond intervals since January 1, 1601 UTC
|
|
@@ -1597,13 +1655,13 @@ interface IWriter {
|
|
|
1597
1655
|
* Binary: Int32 length prefix + bytes
|
|
1598
1656
|
* @param value The byte array; null or undefined is encoded as length -1 (OPC UA null)
|
|
1599
1657
|
*/
|
|
1600
|
-
writeByteString(value:
|
|
1658
|
+
writeByteString(value: Uint8Array | null | undefined): void;
|
|
1601
1659
|
/**
|
|
1602
1660
|
* Encode an XmlElement value.
|
|
1603
1661
|
* Binary: Int32 length prefix + UTF-8 encoded XML
|
|
1604
1662
|
* @param value The XML string (undefined encoded as length -1)
|
|
1605
1663
|
*/
|
|
1606
|
-
writeXmlElement(value: string): void;
|
|
1664
|
+
writeXmlElement(value: XmlElement | string): void;
|
|
1607
1665
|
/**
|
|
1608
1666
|
* Encode an array with Int32 length prefix.
|
|
1609
1667
|
* Binary: Int32 length where -1=undefined, 0=empty, positive=count
|
|
@@ -1696,7 +1754,7 @@ declare class BinaryReader implements IReader {
|
|
|
1696
1754
|
readUInt64(): bigint;
|
|
1697
1755
|
readFloat(): number;
|
|
1698
1756
|
readDouble(): number;
|
|
1699
|
-
readString():
|
|
1757
|
+
readString(): string | null;
|
|
1700
1758
|
readDateTime(): Date;
|
|
1701
1759
|
readGuid(): string;
|
|
1702
1760
|
readByteString(): Uint8Array | null;
|
|
@@ -1758,11 +1816,6 @@ declare class BinaryReader implements IReader {
|
|
|
1758
1816
|
* @see OPC 10000-6 Table 24
|
|
1759
1817
|
*/
|
|
1760
1818
|
readDiagnosticInfo(): DiagnosticInfo;
|
|
1761
|
-
/**
|
|
1762
|
-
* Decode a NodeId with optional flag masking (used internally by readExpandedNodeId).
|
|
1763
|
-
*/
|
|
1764
|
-
private readNodeIdWithMask;
|
|
1765
|
-
private readVariantValue;
|
|
1766
1819
|
getPosition(): number;
|
|
1767
1820
|
/**
|
|
1768
1821
|
* Read all remaining bytes from the current position to the end of the buffer.
|
|
@@ -1830,11 +1883,11 @@ declare class BinaryWriter implements IWriter {
|
|
|
1830
1883
|
writeUInt64(value: bigint): void;
|
|
1831
1884
|
writeFloat(value: number): void;
|
|
1832
1885
|
writeDouble(value: number): void;
|
|
1833
|
-
writeString(value:
|
|
1886
|
+
writeString(value: string | null): void;
|
|
1834
1887
|
writeDateTime(value: Date): void;
|
|
1835
1888
|
writeGuid(value: string): void;
|
|
1836
1889
|
writeByteString(value: Uint8Array | null | undefined): void;
|
|
1837
|
-
writeXmlElement(value: string): void;
|
|
1890
|
+
writeXmlElement(value: XmlElement | string): void;
|
|
1838
1891
|
/**
|
|
1839
1892
|
* Write an array with Int32 length prefix.
|
|
1840
1893
|
* Per FR-011: -1 = null, 0 = empty, positive = element count
|
|
@@ -1892,18 +1945,91 @@ declare class BinaryWriter implements IWriter {
|
|
|
1892
1945
|
* @see OPC 10000-6 Table 24
|
|
1893
1946
|
*/
|
|
1894
1947
|
writeDiagnosticInfo(value: DiagnosticInfo): void;
|
|
1895
|
-
private writeVariantValue;
|
|
1896
1948
|
constructor(initialSize?: number);
|
|
1897
1949
|
}
|
|
1898
1950
|
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1951
|
+
interface IEncryptionAlgorithm {
|
|
1952
|
+
IsAuthenticated(): boolean;
|
|
1953
|
+
GetMaxPayload(maxCipherTextSize: number): number;
|
|
1954
|
+
GetEncryptedSize(dataSize: number): number;
|
|
1955
|
+
GetPadding(bytesToWrite: number): Uint8Array;
|
|
1956
|
+
HasPadding(): boolean;
|
|
1957
|
+
Encrypt(cleartext: Uint8Array): Uint8Array;
|
|
1958
|
+
Decrypt(ciphertext: Uint8Array): Uint8Array;
|
|
1959
|
+
CalculateSignature(message: Uint8Array): Uint8Array;
|
|
1960
|
+
VerifySignature(message: Uint8Array, signature: Uint8Array): boolean;
|
|
1961
|
+
GetSignatureLength(): number;
|
|
1962
|
+
SignatureUri(): string;
|
|
1963
|
+
}
|
|
1964
|
+
|
|
1965
|
+
type MsgType = number;
|
|
1966
|
+
|
|
1967
|
+
declare class MsgHeader$1 {
|
|
1968
|
+
msgType: MsgType;
|
|
1969
|
+
messageSize: number;
|
|
1970
|
+
secureChannelId: number;
|
|
1971
|
+
static Size: number;
|
|
1972
|
+
static decode(buffer: BinaryReader): MsgHeader$1;
|
|
1973
|
+
encode(buffer: BinaryWriter): void;
|
|
1974
|
+
constructor(msgType: MsgType, messageSize: number, secureChannelId: number);
|
|
1975
|
+
}
|
|
1976
|
+
|
|
1977
|
+
declare class MsgSequenceHeader {
|
|
1978
|
+
sequenceNumber: number;
|
|
1979
|
+
requestId: number;
|
|
1980
|
+
static Size: number;
|
|
1981
|
+
static decode(buffer: BinaryReader): MsgSequenceHeader;
|
|
1982
|
+
encode(buffer: BinaryWriter): void;
|
|
1983
|
+
constructor(sequenceNumber: number, requestId: number);
|
|
1984
|
+
}
|
|
1985
|
+
|
|
1986
|
+
declare abstract class MsgBase$1 {
|
|
1987
|
+
header: MsgHeader$1;
|
|
1988
|
+
sequenceHeader: MsgSequenceHeader;
|
|
1989
|
+
body: unknown;
|
|
1990
|
+
static DecryptAndVerify(data: Uint8Array, encryptionAlgorithm: IEncryptionAlgorithm, headerLength: number): Uint8Array;
|
|
1991
|
+
protected Encrypt(buffer: BinaryWriter, encryptionAlgorithm: IEncryptionAlgorithm, headerSize: number, paddingPosition: number): Uint8Array;
|
|
1992
|
+
abstract encode(buffer: BinaryWriter, encryptionAlgorithm: IEncryptionAlgorithm): void;
|
|
1993
|
+
constructor(header: MsgHeader$1, sequenceHeader: MsgSequenceHeader, body: unknown);
|
|
1994
|
+
}
|
|
1995
|
+
|
|
1996
|
+
/**
|
|
1997
|
+
* TransformStream that binary-encodes each {@link IOpcType} chunk into a
|
|
1998
|
+
* {@link Uint8Array} using the supplied {@link Encoder}.
|
|
1999
|
+
*
|
|
2000
|
+
* Use this to separate the OPC UA service-encoding step from the secure-channel
|
|
2001
|
+
* framing step, keeping each stage composable:
|
|
2002
|
+
*
|
|
2003
|
+
* ```ts
|
|
2004
|
+
* requestStream
|
|
2005
|
+
* .pipeThrough(new SecureChannelTypeEncoder(config.encoder))
|
|
2006
|
+
* .pipeThrough(new SecureChannelFramingTransform(context))
|
|
2007
|
+
* .pipeTo(wsSendable);
|
|
2008
|
+
* ```
|
|
2009
|
+
*/
|
|
2010
|
+
declare class SecureChannelTypeEncoder extends TransformStream<MsgBase$1, MsgBase$1> {
|
|
2011
|
+
constructor(encoder: Encoder);
|
|
2012
|
+
}
|
|
2013
|
+
|
|
2014
|
+
/**
|
|
2015
|
+
* TransformStream that binary-decodes each raw-body {@link Uint8Array} into
|
|
2016
|
+
* the corresponding {@link IOpcType} using the supplied {@link Decoder}.
|
|
2017
|
+
*
|
|
2018
|
+
* Abort messages (MSG+A) carry a transport-level StatusCode+Reason payload,
|
|
2019
|
+
* not an OPC UA service response, so their bodies are passed through as-is
|
|
2020
|
+
* for the {@link SecureChannelFacade} to decode and report.
|
|
2021
|
+
*
|
|
2022
|
+
* Use this to separate the OPC UA service-decoding step from the secure-channel
|
|
2023
|
+
* framing step, keeping each stage composable:
|
|
2024
|
+
*
|
|
2025
|
+
* ```ts
|
|
2026
|
+
* bodyBytesReadable
|
|
2027
|
+
* .pipeThrough(new BinaryDecoderTransform(config.decoder))
|
|
2028
|
+
* .pipeTo(responseHandler.writable);
|
|
2029
|
+
* ```
|
|
2030
|
+
*/
|
|
2031
|
+
declare class SecureChannelTypeDecoder extends TransformStream<MsgBase$1, MsgBase$1> {
|
|
2032
|
+
constructor(decoder: Decoder);
|
|
1907
2033
|
}
|
|
1908
2034
|
|
|
1909
2035
|
/**
|
|
@@ -1912,7 +2038,7 @@ declare abstract class Configuration {
|
|
|
1912
2038
|
* This file was automatically generated from OPC UA NodeSet2 XML.
|
|
1913
2039
|
*
|
|
1914
2040
|
* Source: Opc.Ua.NodeSet2.Services.xml
|
|
1915
|
-
* Generated: 2026-
|
|
2041
|
+
* Generated: 2026-03-16T04:16:36.493Z
|
|
1916
2042
|
* Generator: @opcua/nodeset-generator
|
|
1917
2043
|
*
|
|
1918
2044
|
* Any changes made to this file will be lost when regenerated.
|
|
@@ -2489,15 +2615,6 @@ declare enum UserTokenTypeEnum {
|
|
|
2489
2615
|
IssuedToken = 3
|
|
2490
2616
|
}
|
|
2491
2617
|
|
|
2492
|
-
interface ITransportChannel {
|
|
2493
|
-
connect(): Promise<boolean>;
|
|
2494
|
-
disconnect(): void;
|
|
2495
|
-
send(data: Uint8Array): Promise<void>;
|
|
2496
|
-
onMessage?: (data: Uint8Array) => void;
|
|
2497
|
-
getEndpointUrl(): string;
|
|
2498
|
-
getCodecType(): string;
|
|
2499
|
-
}
|
|
2500
|
-
|
|
2501
2618
|
interface ISecureChannel {
|
|
2502
2619
|
getSecurityPolicy(): string;
|
|
2503
2620
|
getSecurityMode(): MessageSecurityModeEnum;
|
|
@@ -2505,29 +2622,28 @@ interface ISecureChannel {
|
|
|
2505
2622
|
issueServiceRequest(request: IOpcType): Promise<IOpcType>;
|
|
2506
2623
|
}
|
|
2507
2624
|
|
|
2508
|
-
|
|
2509
|
-
|
|
2510
|
-
|
|
2511
|
-
|
|
2512
|
-
|
|
2513
|
-
|
|
2514
|
-
|
|
2515
|
-
private id;
|
|
2516
|
-
private token;
|
|
2517
|
-
private chunkBuffers;
|
|
2518
|
-
openSecureChannelRequest(): Promise<void>;
|
|
2519
|
-
disconnect(): Promise<void>;
|
|
2520
|
-
getSecurityPolicy(): string;
|
|
2521
|
-
getSecurityMode(): MessageSecurityModeEnum;
|
|
2522
|
-
getEndpointUrl(): string;
|
|
2523
|
-
issueServiceRequest(request: IOpcType): Promise<IOpcType>;
|
|
2524
|
-
private onMessage;
|
|
2525
|
-
private onReceivedMessage;
|
|
2526
|
-
constructor(channel: ITransportChannel, configuration: Configuration);
|
|
2625
|
+
interface ILogger {
|
|
2626
|
+
trace(msg: string | (() => string), ...args: unknown[]): void;
|
|
2627
|
+
debug(msg: string | (() => string), ...args: unknown[]): void;
|
|
2628
|
+
info(msg: string | (() => string), ...args: unknown[]): void;
|
|
2629
|
+
warn(msg: string | (() => string), ...args: unknown[]): void;
|
|
2630
|
+
error(msg: string | (() => string), ...args: unknown[]): void;
|
|
2631
|
+
fatal(msg: string | (() => string), ...args: unknown[]): void;
|
|
2527
2632
|
}
|
|
2528
2633
|
|
|
2529
|
-
|
|
2530
|
-
|
|
2634
|
+
interface ILoggerFactory {
|
|
2635
|
+
getLogger(category: string): ILogger;
|
|
2636
|
+
}
|
|
2637
|
+
|
|
2638
|
+
declare abstract class Configuration {
|
|
2639
|
+
applicationName: string;
|
|
2640
|
+
applicationUri: string;
|
|
2641
|
+
productName: string;
|
|
2642
|
+
productUri: string;
|
|
2643
|
+
encoder: Encoder;
|
|
2644
|
+
decoder: Decoder;
|
|
2645
|
+
loggerFactory: ILoggerFactory;
|
|
2646
|
+
constructor(applicationName: string, applicationUri: string, productName: string, productUri: string, encoder: Encoder, decoder: Decoder, loggerFactory: ILoggerFactory);
|
|
2531
2647
|
}
|
|
2532
2648
|
|
|
2533
2649
|
/**
|
|
@@ -2536,7 +2652,7 @@ declare class ChannelFactory {
|
|
|
2536
2652
|
* This file was automatically generated from OPC UA NodeSet2 XML.
|
|
2537
2653
|
*
|
|
2538
2654
|
* Source: Opc.Ua.NodeSet2.Services.xml
|
|
2539
|
-
* Generated: 2026-
|
|
2655
|
+
* Generated: 2026-03-16T04:16:36.493Z
|
|
2540
2656
|
* Generator: @opcua/nodeset-generator
|
|
2541
2657
|
*
|
|
2542
2658
|
* Any changes made to this file will be lost when regenerated.
|
|
@@ -2550,7 +2666,7 @@ declare function registerEncoders(encoder: Encoder): void;
|
|
|
2550
2666
|
* This file was automatically generated from OPC UA NodeSet2 XML.
|
|
2551
2667
|
*
|
|
2552
2668
|
* Source: Opc.Ua.NodeSet2.Services.xml
|
|
2553
|
-
* Generated: 2026-
|
|
2669
|
+
* Generated: 2026-03-16T04:16:36.493Z
|
|
2554
2670
|
* Generator: @opcua/nodeset-generator
|
|
2555
2671
|
*
|
|
2556
2672
|
* Any changes made to this file will be lost when regenerated.
|
|
@@ -2567,7 +2683,7 @@ declare function registerXmlDecoders(decoder: Decoder): void;
|
|
|
2567
2683
|
* This file was automatically generated from OPC UA NodeSet2 XML.
|
|
2568
2684
|
*
|
|
2569
2685
|
* Source: Opc.Ua.NodeSet2.Services.xml
|
|
2570
|
-
* Generated: 2026-
|
|
2686
|
+
* Generated: 2026-03-16T04:16:36.493Z
|
|
2571
2687
|
* Generator: @opcua/nodeset-generator
|
|
2572
2688
|
*
|
|
2573
2689
|
* Any changes made to this file will be lost when regenerated.
|
|
@@ -4438,7 +4554,7 @@ declare class ReferenceListEntryDataType extends Structure implements IOpcType {
|
|
|
4438
4554
|
* NodeId: i=19361
|
|
4439
4555
|
* Extends: Structure
|
|
4440
4556
|
*/
|
|
4441
|
-
declare class LogRecord extends Structure implements IOpcType {
|
|
4557
|
+
declare class LogRecord$1 extends Structure implements IOpcType {
|
|
4442
4558
|
time: Date;
|
|
4443
4559
|
severity: number;
|
|
4444
4560
|
eventType?: NodeId | null;
|
|
@@ -4458,7 +4574,7 @@ declare class LogRecord extends Structure implements IOpcType {
|
|
|
4458
4574
|
* Extends: Structure
|
|
4459
4575
|
*/
|
|
4460
4576
|
declare class LogRecordsDataType extends Structure implements IOpcType {
|
|
4461
|
-
logRecordArray: LogRecord[];
|
|
4577
|
+
logRecordArray: LogRecord$1[];
|
|
4462
4578
|
getTypeId(): number;
|
|
4463
4579
|
getBinaryEncodingId(): number;
|
|
4464
4580
|
getXmlEncodingId(): number;
|
|
@@ -7897,4 +8013,319 @@ declare class Annotation extends Structure implements IOpcType {
|
|
|
7897
8013
|
getJsonEncodingId(): number;
|
|
7898
8014
|
}
|
|
7899
8015
|
|
|
7900
|
-
|
|
8016
|
+
type LevelName = "TRACE" | "DEBUG" | "INFO" | "WARN" | "ERROR" | "FATAL" | "OFF";
|
|
8017
|
+
|
|
8018
|
+
interface LogRecord {
|
|
8019
|
+
time: Date;
|
|
8020
|
+
level: LevelName;
|
|
8021
|
+
levelValue: number;
|
|
8022
|
+
category: string;
|
|
8023
|
+
message: string;
|
|
8024
|
+
args: unknown[];
|
|
8025
|
+
}
|
|
8026
|
+
|
|
8027
|
+
interface ISink {
|
|
8028
|
+
log(record: LogRecord): void;
|
|
8029
|
+
}
|
|
8030
|
+
|
|
8031
|
+
interface LoggerConfig {
|
|
8032
|
+
defaultLevel: LevelName;
|
|
8033
|
+
categoryLevels?: Record<string, LevelName>;
|
|
8034
|
+
sink?: ISink;
|
|
8035
|
+
includeTimestamp?: boolean;
|
|
8036
|
+
}
|
|
8037
|
+
|
|
8038
|
+
declare class LoggerFactory implements ILoggerFactory {
|
|
8039
|
+
private config;
|
|
8040
|
+
private cache;
|
|
8041
|
+
constructor(config?: Partial<LoggerConfig>);
|
|
8042
|
+
getLogger(category: string): ILogger;
|
|
8043
|
+
setDefaultLevel(level: LevelName): void;
|
|
8044
|
+
setCategoryLevel(categoryOrPattern: string, level: LevelName): void;
|
|
8045
|
+
removeCategoryLevel(categoryOrPattern: string): void;
|
|
8046
|
+
setSink(sink: ISink): void;
|
|
8047
|
+
}
|
|
8048
|
+
|
|
8049
|
+
declare class ConsoleSink implements ISink {
|
|
8050
|
+
private opts;
|
|
8051
|
+
constructor(opts?: {
|
|
8052
|
+
includeTimestamp: boolean;
|
|
8053
|
+
});
|
|
8054
|
+
log(record: LogRecord): void;
|
|
8055
|
+
}
|
|
8056
|
+
|
|
8057
|
+
declare function getLogger(category: string): ILogger;
|
|
8058
|
+
declare function initLoggerProvider(provider: ILoggerFactory): void;
|
|
8059
|
+
|
|
8060
|
+
type WebSocketOptions = {
|
|
8061
|
+
endpoint: string;
|
|
8062
|
+
openTimeoutMs?: number;
|
|
8063
|
+
maxBufferedMessages?: number;
|
|
8064
|
+
};
|
|
8065
|
+
declare class WebSocketFascade {
|
|
8066
|
+
private options;
|
|
8067
|
+
private logger;
|
|
8068
|
+
private webSocket?;
|
|
8069
|
+
onMessageHandler: ((event: MessageEvent) => void) | null;
|
|
8070
|
+
onErrorHandler: ((event: Event) => void) | null;
|
|
8071
|
+
onCloseHandler: ((event: Event) => void) | null;
|
|
8072
|
+
connect(): Promise<void>;
|
|
8073
|
+
send(data: Uint8Array): void;
|
|
8074
|
+
close(): void;
|
|
8075
|
+
setOnMessage(handler: (event: MessageEvent) => void): void;
|
|
8076
|
+
setOnClose(handler: (event: Event) => void): void;
|
|
8077
|
+
setOnError(handler: (event: Event) => void): void;
|
|
8078
|
+
private describeCloseCode;
|
|
8079
|
+
constructor(options: WebSocketOptions);
|
|
8080
|
+
}
|
|
8081
|
+
|
|
8082
|
+
declare class WebSocketReadableStream extends ReadableStream<Uint8Array> {
|
|
8083
|
+
private readonly ws;
|
|
8084
|
+
private readonly maxBufferedMessages;
|
|
8085
|
+
private readonly logger;
|
|
8086
|
+
private buffer;
|
|
8087
|
+
private closed;
|
|
8088
|
+
private errored;
|
|
8089
|
+
private notifyPull;
|
|
8090
|
+
private bufferPush;
|
|
8091
|
+
private cleanup;
|
|
8092
|
+
private sourceOnPull;
|
|
8093
|
+
private sourceOnCancel;
|
|
8094
|
+
private wsOnMessage;
|
|
8095
|
+
constructor(ws: WebSocketFascade, maxBufferedMessages: number);
|
|
8096
|
+
}
|
|
8097
|
+
|
|
8098
|
+
declare class WebSocketWritableStream extends WritableStream<Uint8Array> {
|
|
8099
|
+
private ws;
|
|
8100
|
+
private logger;
|
|
8101
|
+
private sinkOnWrite;
|
|
8102
|
+
private sinkOnClose;
|
|
8103
|
+
private sinkOnAbort;
|
|
8104
|
+
constructor(ws: WebSocketFascade);
|
|
8105
|
+
}
|
|
8106
|
+
|
|
8107
|
+
declare class MsgHeader {
|
|
8108
|
+
messageType: number;
|
|
8109
|
+
messageSize: number;
|
|
8110
|
+
constructor(messageType: number, messageSize: number);
|
|
8111
|
+
static decode(buffer: IReader): MsgHeader;
|
|
8112
|
+
encode(buffer: IWriter): void;
|
|
8113
|
+
}
|
|
8114
|
+
|
|
8115
|
+
declare class MsgBase {
|
|
8116
|
+
header: MsgHeader;
|
|
8117
|
+
constructor(header: MsgHeader);
|
|
8118
|
+
}
|
|
8119
|
+
|
|
8120
|
+
declare class TcpMessageDecoupler extends TransformStream<Uint8Array, Uint8Array> {
|
|
8121
|
+
private onTcpMessage;
|
|
8122
|
+
private logger;
|
|
8123
|
+
private transform;
|
|
8124
|
+
constructor(onTcpMessage: (message: MsgBase) => void);
|
|
8125
|
+
}
|
|
8126
|
+
|
|
8127
|
+
declare class TcpMessageInjector extends TransformStream<Uint8Array, Uint8Array> {
|
|
8128
|
+
private logger;
|
|
8129
|
+
private controller;
|
|
8130
|
+
constructor();
|
|
8131
|
+
sendMessage(message: Uint8Array): void;
|
|
8132
|
+
}
|
|
8133
|
+
|
|
8134
|
+
interface ICertificate {
|
|
8135
|
+
getBytes(): Uint8Array;
|
|
8136
|
+
}
|
|
8137
|
+
|
|
8138
|
+
declare class SecurityPolicyNone {
|
|
8139
|
+
getSecurityMode(): MessageSecurityModeEnum;
|
|
8140
|
+
getSecurityPolicyUri(): string;
|
|
8141
|
+
getSecurityLevel(): number;
|
|
8142
|
+
getCertificate(): Uint8Array;
|
|
8143
|
+
createNonce(): Uint8Array;
|
|
8144
|
+
verifyNonce(nonce: Uint8Array): boolean;
|
|
8145
|
+
getAlgorithmSymmetric(localCertificate: ICertificate, remoteCertificate: ICertificate): IEncryptionAlgorithm;
|
|
8146
|
+
getAlgorithmAsymmetric(localNonce: Uint8Array, remoteNonce: Uint8Array): IEncryptionAlgorithm;
|
|
8147
|
+
}
|
|
8148
|
+
|
|
8149
|
+
/**
|
|
8150
|
+
* Shared mutable state for the OPC UA Secure Conversation layer.
|
|
8151
|
+
* Passed to both the chunk reader/writer and the secure channel facade so
|
|
8152
|
+
* they all operate on the same channel identity and sequence counters.
|
|
8153
|
+
*/
|
|
8154
|
+
declare class SecureChannelContext {
|
|
8155
|
+
readonly endpointUrl: string;
|
|
8156
|
+
/**
|
|
8157
|
+
* Next outgoing sequence number. Starts at 1 for non-ECC legacy profiles
|
|
8158
|
+
* per OPC UA Part 6, Section 6.7.2.4. The value 0 is used only as the
|
|
8159
|
+
* LastSequenceNumber sentinel in the OPN request ("no prior sequence").
|
|
8160
|
+
*/
|
|
8161
|
+
sequenceNumber: number;
|
|
8162
|
+
/** Next outgoing request ID. The value 0 is reserved and must be skipped. */
|
|
8163
|
+
requestId: number;
|
|
8164
|
+
channelId: number;
|
|
8165
|
+
tokenId: number;
|
|
8166
|
+
maxSendBufferSize: number;
|
|
8167
|
+
maxRecvBufferSize: number;
|
|
8168
|
+
/** Pending chunk bodies keyed by requestId, for reassembling multi-chunk messages. */
|
|
8169
|
+
chunkBuffers: Map<number, Uint8Array<ArrayBufferLike>[]>;
|
|
8170
|
+
securityAlgorithm?: IEncryptionAlgorithm;
|
|
8171
|
+
/** Last remote sequence number seen; undefined before the first received message. */
|
|
8172
|
+
lastRemoteSequenceNumber: number | undefined;
|
|
8173
|
+
readonly securityPolicy: SecurityPolicyNone;
|
|
8174
|
+
/**
|
|
8175
|
+
* Returns the current outgoing sequence number then advances it with
|
|
8176
|
+
* UInt32 wrap-around per OPC UA Part 6, Section 6.7.2.4. Only advances
|
|
8177
|
+
* the sequence counter — use when creating additional chunks for the same
|
|
8178
|
+
* message (each chunk needs its own sequence number but the same requestId).
|
|
8179
|
+
*/
|
|
8180
|
+
nextSequenceNumber(): number;
|
|
8181
|
+
/**
|
|
8182
|
+
* Returns the next outgoing sequence number and request ID, then advances
|
|
8183
|
+
* both counters. Call once per outgoing message; use {@link nextSequenceNumber}
|
|
8184
|
+
* for additional chunks of the same message.
|
|
8185
|
+
*
|
|
8186
|
+
* Handles UInt32 wrap-around per OPC UA Part 6, Section 6.7.2.4:
|
|
8187
|
+
* sequence numbers reset to 1 after reaching 0xFFFFFFFF-1024; request IDs
|
|
8188
|
+
* skip the reserved value 0 on wrap.
|
|
8189
|
+
*/
|
|
8190
|
+
nextIds(): {
|
|
8191
|
+
sequenceNumber: number;
|
|
8192
|
+
requestId: number;
|
|
8193
|
+
};
|
|
8194
|
+
constructor(endpointUrl: string);
|
|
8195
|
+
}
|
|
8196
|
+
|
|
8197
|
+
declare class TcpConnectionHandler {
|
|
8198
|
+
private injector;
|
|
8199
|
+
private context;
|
|
8200
|
+
private connectResolve?;
|
|
8201
|
+
private logger;
|
|
8202
|
+
private buf;
|
|
8203
|
+
/**
|
|
8204
|
+
* Sends the OPC UA Hello message over `wsSendable` and waits for the server
|
|
8205
|
+
* Acknowledge. The WebSocket readable **must** already be piped into
|
|
8206
|
+
* `this.writable` before calling this method.
|
|
8207
|
+
*
|
|
8208
|
+
* @param endpointUrl The OPC UA endpoint URL (e.g. `"opc.wss://host:4840/"`).
|
|
8209
|
+
* @param wsSendable The writable side of the WebSocket duplex, used for
|
|
8210
|
+
* sending the Hello frame.
|
|
8211
|
+
* @returns `true` on a successful Acknowledge, `false` on a server Error.
|
|
8212
|
+
*/
|
|
8213
|
+
connect(endpointUrl: string): Promise<boolean>;
|
|
8214
|
+
onTcpMessage(msg: MsgBase): void;
|
|
8215
|
+
constructor(injector: TcpMessageInjector, context: SecureChannelContext);
|
|
8216
|
+
}
|
|
8217
|
+
|
|
8218
|
+
declare class SecureChannelFacade implements ISecureChannel {
|
|
8219
|
+
private readonly context;
|
|
8220
|
+
private readerTransform;
|
|
8221
|
+
private writerTransform;
|
|
8222
|
+
private readonly pending;
|
|
8223
|
+
private readonly logger;
|
|
8224
|
+
private readonly writer;
|
|
8225
|
+
private readonly reader;
|
|
8226
|
+
/** Timer handle for the scheduled token renewal; undefined when no renewal is pending. */
|
|
8227
|
+
private renewalTimer;
|
|
8228
|
+
/**
|
|
8229
|
+
* Builds and sends an OpenSecureChannel request.
|
|
8230
|
+
* Called for both the initial Issue and subsequent Renew requests.
|
|
8231
|
+
*
|
|
8232
|
+
* On success the context `channelId` and `tokenId` are updated and a new
|
|
8233
|
+
* renewal is scheduled at 75 % of the server-revised token lifetime, per
|
|
8234
|
+
* OPC UA Part 4 Section 5.4.1 / Part 6 Section 6.7.3.
|
|
8235
|
+
*/
|
|
8236
|
+
private sendOpenSecureChannel;
|
|
8237
|
+
/**
|
|
8238
|
+
* Schedules a proactive token renewal at {@link TOKEN_RENEW_FRACTION} of
|
|
8239
|
+
* `lifetimeMs`. Any previously scheduled renewal is cancelled first.
|
|
8240
|
+
*/
|
|
8241
|
+
private scheduleRenewal;
|
|
8242
|
+
/**
|
|
8243
|
+
* Sends the initial OpenSecureChannel request and resolves once the server
|
|
8244
|
+
* replies. Updates `context.channelId` and `context.tokenId` on success
|
|
8245
|
+
* and schedules automatic renewal at 75 % of the token lifetime.
|
|
8246
|
+
*/
|
|
8247
|
+
openSecureChannel(): Promise<void>;
|
|
8248
|
+
/**
|
|
8249
|
+
* Cancels any pending token renewal timer and releases the stream writer.
|
|
8250
|
+
* Call this when the secure channel is no longer needed.
|
|
8251
|
+
*/
|
|
8252
|
+
close(): void;
|
|
8253
|
+
getSecurityPolicy(): string;
|
|
8254
|
+
getSecurityMode(): MessageSecurityModeEnum;
|
|
8255
|
+
getEndpointUrl(): string;
|
|
8256
|
+
/**
|
|
8257
|
+
* Sends a service request and returns a Promise that resolves with the
|
|
8258
|
+
* matched response decoded by {@link SecureChannelReadable}.
|
|
8259
|
+
*/
|
|
8260
|
+
issueServiceRequest(request: IOpcType): Promise<IOpcType>;
|
|
8261
|
+
private routeFrames;
|
|
8262
|
+
private pushMessage;
|
|
8263
|
+
constructor(context: SecureChannelContext, readerTransform: TransformStream<MsgBase$1, MsgBase$1>, writerTransform: TransformStream<MsgBase$1, MsgBase$1>);
|
|
8264
|
+
}
|
|
8265
|
+
|
|
8266
|
+
/**
|
|
8267
|
+
* Deframing transform for pipe use.
|
|
8268
|
+
*
|
|
8269
|
+
* Accepts raw OPC UA secure-conversation frame bytes, strips the message
|
|
8270
|
+
* framing, and emits decoded {@link MsgBase} objects.
|
|
8271
|
+
* Routing (pending request settlement vs. unsolicited) is the caller’s
|
|
8272
|
+
* responsibility — use {@link SecureChannelFacade} for that.
|
|
8273
|
+
*
|
|
8274
|
+
* ```ts
|
|
8275
|
+
* tcpReadable
|
|
8276
|
+
* .pipeThrough(new SecureChannelDeframingTransform(context))
|
|
8277
|
+
* .pipeTo(routerWritable);
|
|
8278
|
+
* ```
|
|
8279
|
+
*/
|
|
8280
|
+
declare class SecureChannelMessageDecoder extends TransformStream<Uint8Array, MsgBase$1> {
|
|
8281
|
+
private context;
|
|
8282
|
+
private logger;
|
|
8283
|
+
/**
|
|
8284
|
+
* Validates that `sequenceNumber` is monotonically increasing from the
|
|
8285
|
+
* highest seen remote sequence. Allows UInt32 wrap-around per token.
|
|
8286
|
+
*
|
|
8287
|
+
* Over TLS/WSS the transport already provides integrity and replay
|
|
8288
|
+
* protection, so small out-of-order deliveries (caused by multi-threaded
|
|
8289
|
+
* server writes) are tolerated with a warning rather than tearing down the
|
|
8290
|
+
* channel. Only truly anomalous conditions (e.g. a very large backward
|
|
8291
|
+
* jump that could indicate corruption) are treated as errors.
|
|
8292
|
+
*/
|
|
8293
|
+
private validateSequenceNumber;
|
|
8294
|
+
private transform;
|
|
8295
|
+
constructor(context: SecureChannelContext);
|
|
8296
|
+
}
|
|
8297
|
+
|
|
8298
|
+
/**
|
|
8299
|
+
* Framing-only transform for pipe use.
|
|
8300
|
+
*
|
|
8301
|
+
* Accepts a stream of pre-encoded binary body {@link Uint8Array}s, wraps each
|
|
8302
|
+
* in a symmetric OPC UA message frame, and emits the framed bytes.
|
|
8303
|
+
* Pipe the output directly to the wire transport.
|
|
8304
|
+
* No request/response correlation is performed — use {@link SecureChannelFacade}
|
|
8305
|
+
* for that. Pair with {@link BinaryEncoderTransform} upstream:
|
|
8306
|
+
*
|
|
8307
|
+
* ```ts
|
|
8308
|
+
* requestStream
|
|
8309
|
+
* .pipeThrough(new SecureChannelTypeEncoder(config.encoder))
|
|
8310
|
+
* .pipeThrough(new SecureChannelMesssageEncoder(context))
|
|
8311
|
+
* .pipeTo(wsSendable);
|
|
8312
|
+
* ```
|
|
8313
|
+
*/
|
|
8314
|
+
declare class SecureChannelMessageEncoder extends TransformStream<MsgBase$1, Uint8Array> {
|
|
8315
|
+
constructor(context: SecureChannelContext);
|
|
8316
|
+
}
|
|
8317
|
+
|
|
8318
|
+
declare class SecureChannelChunkReader extends TransformStream<MsgBase$1, MsgBase$1> {
|
|
8319
|
+
private logger;
|
|
8320
|
+
private transform;
|
|
8321
|
+
constructor(context: SecureChannelContext);
|
|
8322
|
+
}
|
|
8323
|
+
|
|
8324
|
+
declare class SecureChannelChunkWriter extends TransformStream<MsgBase$1, MsgBase$1> {
|
|
8325
|
+
private context;
|
|
8326
|
+
private logger;
|
|
8327
|
+
private transform;
|
|
8328
|
+
constructor(context: SecureChannelContext);
|
|
8329
|
+
}
|
|
8330
|
+
|
|
8331
|
+
export { ActionMethodDataType, ActionStateEnum, ActionTargetDataType, ActivateSessionRequest, ActivateSessionResponse, AddNodesItem, AddNodesRequest, AddNodesResponse, AddNodesResult, AddReferencesItem, AddReferencesRequest, AddReferencesResponse, AdditionalParametersType, AggregateConfiguration, AggregateFilter, AggregateFilterResult, AliasNameDataType, Annotation, AnnotationDataType, AnonymousIdentityToken, ApplicationConfigurationDataType, ApplicationDescription, ApplicationIdentityDataType, ApplicationTypeEnum, Argument, AttributeOperand, AuthorizationServiceConfigurationDataType, AxisInformation, AxisScaleEnumerationEnum, BaseConfigurationDataType, BaseConfigurationRecordDataType, SecureChannelTypeDecoder as BinaryDecoderTransform, SecureChannelTypeEncoder as BinaryEncoderTransform, BinaryReader, BinaryWriter, BitFieldDefinition, BrokerConnectionTransportDataType, BrokerDataSetReaderTransportDataType, BrokerDataSetWriterTransportDataType, BrokerTransportQualityOfServiceEnum, BrokerWriterGroupTransportDataType, BrowseDescription, BrowseDirectionEnum, BrowseNextRequest, BrowseNextResponse, BrowsePath, BrowsePathResult, BrowsePathTarget, BrowseRequest, BrowseResponse, BrowseResult, BrowseResultMaskEnum, BuildInfo, CallMethodRequest, CallMethodResult, CallRequest, CallResponse, CancelRequest, CancelResponse, CartesianCoordinates, CertificateGroupDataType, ChannelSecurityToken, ChassisIdSubtypeEnum, CloseSecureChannelRequest, CloseSecureChannelResponse, CloseSessionRequest, CloseSessionResponse, ComplexNumberType, Configuration, ConfigurationUpdateTargetType, ConfigurationUpdateTypeEnum, ConfigurationVersionDataType, ConnectionTransportDataType, ConsoleSink, ContentFilter, ContentFilterElement, ContentFilterElementResult, ContentFilterResult, ConversionLimitEnumEnum, CreateMonitoredItemsRequest, CreateMonitoredItemsResponse, CreateSessionRequest, CreateSessionResponse, CreateSubscriptionRequest, CreateSubscriptionResponse, CurrencyUnitType, DataChangeFilter, DataChangeNotification, DataChangeTriggerEnum, DataSetMetaDataType, DataSetOrderingTypeEnum, DataSetReaderDataType, DataSetReaderMessageDataType, DataSetReaderTransportDataType, DataSetWriterDataType, DataSetWriterMessageDataType, DataSetWriterTransportDataType, DataTypeAttributes, DataTypeDefinition, DataTypeDescription, DataTypeNode, DataTypeSchemaHeader, DataValue, DatagramConnectionTransport2DataType, DatagramConnectionTransportDataType, DatagramDataSetReaderTransportDataType, DatagramWriterGroupTransport2DataType, DatagramWriterGroupTransportDataType, DeadbandTypeEnum, DecimalDataType, Decoder, DeleteAtTimeDetails, DeleteEventDetails, DeleteMonitoredItemsRequest, DeleteMonitoredItemsResponse, DeleteNodesItem, DeleteNodesRequest, DeleteNodesResponse, DeleteRawModifiedDetails, DeleteReferencesItem, DeleteReferencesRequest, DeleteReferencesResponse, DeleteSubscriptionsRequest, DeleteSubscriptionsResponse, DiagnosticInfo, DiagnosticsLevelEnum, DiscoveryConfiguration, DoubleComplexNumberType, DtlsPubSubConnectionDataType, DuplexEnum, EUInformation, ElementOperand, Encoder, EndpointConfiguration, EndpointDataType, EndpointDescription, EndpointType, EndpointUrlListDataType, EnumDefinition, EnumDescription, EnumField, EnumValueType, EphemeralKeyType, EventFieldList, EventFilter, EventFilterResult, EventNotificationList, ExceptionDeviationFormatEnum, ExpandedNodeId, ExtensionObject, FieldMetaData, FieldTargetDataType, FilterOperand, FilterOperatorEnum, FindServersOnNetworkRequest, FindServersOnNetworkResponse, FindServersRequest, FindServersResponse, Frame, GenericAttributeValue, GenericAttributes, GetEndpointsRequest, GetEndpointsResponse, HistoryData, HistoryEvent, HistoryEventFieldList, HistoryModifiedData, HistoryModifiedEvent, HistoryReadDetails, HistoryReadRequest, HistoryReadResponse, HistoryReadResult, HistoryReadValueId, HistoryUpdateDetails, HistoryUpdateRequest, HistoryUpdateResponse, HistoryUpdateResult, HistoryUpdateTypeEnum, type ILogger, type ILoggerFactory, type IOpcType, type IReader, type ISecureChannel, type ISink, type IWriter, IdTypeEnum, IdentityCriteriaTypeEnum, IdentityMappingRuleType, InstanceNode, InterfaceAdminStatusEnum, InterfaceOperStatusEnum, IssuedIdentityToken, JsonActionMetaDataMessage, JsonActionNetworkMessage, JsonActionRequestMessage, JsonActionResponderMessage, JsonActionResponseMessage, JsonApplicationDescriptionMessage, JsonDataSetMessage, JsonDataSetMetaDataMessage, JsonDataSetReaderMessageDataType, JsonDataSetWriterMessageDataType, JsonNetworkMessage, JsonPubSubConnectionMessage, JsonServerEndpointsMessage, JsonStatusMessage, JsonWriterGroupMessageDataType, KeyValuePair, type LevelName, LinearConversionDataType, LiteralOperand, LldpManagementAddressTxPortType, LldpManagementAddressType, LldpTlvType, LocalizedText, type LogRecord, LogRecordsDataType, LoggerFactory, ManAddrIfSubtypeEnum, MdnsDiscoveryConfiguration, MessageSecurityModeEnum, MethodAttributes, MethodNode, ModelChangeStructureDataType, ModelChangeStructureVerbMaskEnum, ModificationInfo, ModifyMonitoredItemsRequest, ModifyMonitoredItemsResponse, ModifySubscriptionRequest, ModifySubscriptionResponse, MonitoredItemCreateRequest, MonitoredItemCreateResult, MonitoredItemModifyRequest, MonitoredItemModifyResult, MonitoredItemNotification, MonitoringFilter, MonitoringFilterResult, MonitoringModeEnum, MonitoringParameters, NameValuePair, NamingRuleTypeEnum, NegotiationStatusEnum, NetworkAddressDataType, NetworkAddressUrlDataType, NetworkGroupDataType, Node, NodeAttributes, NodeAttributesMaskEnum, NodeClassEnum, NodeId, NodeIdType, NodeReference, NodeTypeDescription, NotificationData, NotificationMessage, ObjectAttributes, ObjectNode, ObjectTypeAttributes, ObjectTypeNode, OpenFileModeEnum, OpenSecureChannelRequest, OpenSecureChannelResponse, OptionSet, Orientation, OverrideValueHandlingEnum, ParsingResult, PerformUpdateTypeEnum, PortIdSubtypeEnum, PortableNodeId, PortableQualifiedName, PriorityMappingEntryType, ProgramDiagnostic2DataType, ProgramDiagnosticDataType, PubSubConfiguration2DataType, PubSubConfigurationDataType, PubSubConfigurationRefDataType, PubSubConfigurationValueDataType, PubSubConnectionDataType, PubSubDiagnosticsCounterClassificationEnum, PubSubGroupDataType, PubSubKeyPushTargetDataType, PubSubStateEnum, PublishRequest, PublishResponse, PublishedActionDataType, PublishedActionMethodDataType, PublishedDataItemsDataType, PublishedDataSetCustomSourceDataType, PublishedDataSetDataType, PublishedDataSetSourceDataType, PublishedEventsDataType, PublishedVariableDataType, QosDataType, QualifiedName, QuantityDimension, QueryDataDescription, QueryDataSet, QueryFirstRequest, QueryFirstResponse, QueryNextRequest, QueryNextResponse, Range, RationalNumber, ReadAnnotationDataDetails, ReadAtTimeDetails, ReadEventDetails, ReadEventDetails2, ReadEventDetailsSorted, ReadProcessedDetails, ReadRawModifiedDetails, ReadRequest, ReadResponse, ReadValueId, ReaderGroupDataType, ReaderGroupMessageDataType, ReaderGroupTransportDataType, ReceiveQosDataType, ReceiveQosPriorityDataType, RedundancySupportEnum, RedundantServerDataType, RedundantServerModeEnum, ReferenceDescription, ReferenceDescriptionDataType, ReferenceListEntryDataType, ReferenceNode, ReferenceTypeAttributes, ReferenceTypeNode, RegisterNodesRequest, RegisterNodesResponse, RegisterServer2Request, RegisterServer2Response, RegisterServerRequest, RegisterServerResponse, RegisteredServer, RelativePath, RelativePathElement, RepublishRequest, RepublishResponse, RequestHeader, ResponseHeader, RolePermissionType, SamplingIntervalDiagnosticsDataType, SecureChannelChunkReader, SecureChannelChunkWriter, SecureChannelContext, SecureChannelFacade, SecureChannelMessageDecoder, SecureChannelMessageEncoder, SecureChannelTypeDecoder, SecureChannelTypeEncoder, SecurityGroupDataType, SecuritySettingsDataType, SecurityTokenRequestTypeEnum, SemanticChangeStructureDataType, ServerDiagnosticsSummaryDataType, ServerEndpointDataType, ServerOnNetwork, ServerStateEnum, ServerStatusDataType, ServiceCertificateDataType, ServiceCounterDataType, ServiceFault, SessionDiagnosticsDataType, SessionSecurityDiagnosticsDataType, SessionlessInvokeRequestType, SessionlessInvokeResponseType, SetMonitoringModeRequest, SetMonitoringModeResponse, SetPublishingModeRequest, SetPublishingModeResponse, SetTriggeringRequest, SetTriggeringResponse, SignatureData, SignedSoftwareCertificate, SimpleAttributeOperand, SimpleTypeDescription, SortOrderTypeEnum, SortRuleElement, SpanContextDataType, StandaloneSubscribedDataSetDataType, StandaloneSubscribedDataSetRefDataType, StatusChangeNotification, StatusCode, type StatusCodeFlagBits, StatusCodeGetFlagBits, StatusCodeIs, StatusCodeToString, StatusCodeToStringNumber, StatusResult, Structure, StructureDefinition, StructureDescription, StructureField, StructureTypeEnum, SubscribedDataSetDataType, SubscribedDataSetMirrorDataType, SubscriptionAcknowledgement, SubscriptionDiagnosticsDataType, TargetVariablesDataType, TcpConnectionHandler, TcpMessageDecoupler, TcpMessageInjector, TimeZoneDataType, TimestampsToReturnEnum, TraceContextDataType, TransactionErrorType, TransferResult, TransferSubscriptionsRequest, TransferSubscriptionsResponse, TranslateBrowsePathsToNodeIdsRequest, TranslateBrowsePathsToNodeIdsResponse, TransmitQosDataType, TransmitQosPriorityDataType, TrustListDataType, TrustListMasksEnum, TsnFailureCodeEnum, TsnListenerStatusEnum, TsnStreamStateEnum, TsnTalkerStatusEnum, TypeNode, UABinaryFileDataType, type UaBoolean, type UaByte, type UaByteString, type UaDateTime, type UaDouble, type UaFloat, type UaGuid, type UaInt16, type UaInt32, type UaInt64, type UaPrimitive, type UaSbyte, type UaString, type UaUint16, type UaUint32, type UaUint64, UadpDataSetReaderMessageDataType, UadpDataSetWriterMessageDataType, UadpWriterGroupMessageDataType, Union, UnregisterNodesRequest, UnregisterNodesResponse, UnsignedRationalNumber, UpdateDataDetails, UpdateEventDetails, UpdateStructureDataDetails, UserIdentityToken, UserManagementDataType, UserNameIdentityToken, UserTokenPolicy, UserTokenSettingsDataType, UserTokenTypeEnum, VariableAttributes, VariableNode, VariableTypeAttributes, VariableTypeNode, Variant, type VariantArrayValue, type VariantValue, Vector, ViewAttributes, ViewDescription, ViewNode, WebSocketFascade, WebSocketReadableStream, WebSocketWritableStream, WriteRequest, WriteResponse, WriteValue, WriterGroupDataType, WriterGroupMessageDataType, WriterGroupTransportDataType, X509IdentityToken, XVType, XmlElement, _3DCartesianCoordinates, _3DFrame, _3DOrientation, _3DVector, getLogger, initLoggerProvider, registerBinaryDecoders, registerEncoders, registerJsonDecoders, registerTypeDecoders, registerXmlDecoders, uaByte, uaDouble, uaFloat, uaGuid, uaInt16, uaInt32, uaInt64, uaSbyte, uaUint16, uaUint32, uaUint64 };
|