@effect-opcua/client 0.1.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +367 -0
  3. package/dist/Opcua.d.mts +13 -0
  4. package/dist/Opcua.d.mts.map +1 -0
  5. package/dist/Opcua.mjs +23 -0
  6. package/dist/Opcua.mjs.map +1 -0
  7. package/dist/OpcuaClient.d.mts +27 -0
  8. package/dist/OpcuaClient.d.mts.map +1 -0
  9. package/dist/OpcuaClient.mjs +20 -0
  10. package/dist/OpcuaClient.mjs.map +1 -0
  11. package/dist/OpcuaError.d.mts +249 -0
  12. package/dist/OpcuaError.d.mts.map +1 -0
  13. package/dist/OpcuaError.mjs +97 -0
  14. package/dist/OpcuaError.mjs.map +1 -0
  15. package/dist/OpcuaMethod.d.mts +158 -0
  16. package/dist/OpcuaMethod.d.mts.map +1 -0
  17. package/dist/OpcuaMethod.mjs +31 -0
  18. package/dist/OpcuaMethod.mjs.map +1 -0
  19. package/dist/OpcuaSession.d.mts +247 -0
  20. package/dist/OpcuaSession.d.mts.map +1 -0
  21. package/dist/OpcuaSession.mjs +50 -0
  22. package/dist/OpcuaSession.mjs.map +1 -0
  23. package/dist/OpcuaSubscription.d.mts +148 -0
  24. package/dist/OpcuaSubscription.d.mts.map +1 -0
  25. package/dist/OpcuaSubscription.mjs +45 -0
  26. package/dist/OpcuaSubscription.mjs.map +1 -0
  27. package/dist/OpcuaVariable.d.mts +179 -0
  28. package/dist/OpcuaVariable.d.mts.map +1 -0
  29. package/dist/OpcuaVariable.mjs +15 -0
  30. package/dist/OpcuaVariable.mjs.map +1 -0
  31. package/dist/_virtual/rolldown_runtime.mjs +18 -0
  32. package/dist/index.d.mts +8 -0
  33. package/dist/index.mjs +7 -0
  34. package/dist/internal/batch/chunk.d.mts +11 -0
  35. package/dist/internal/batch/chunk.d.mts.map +1 -0
  36. package/dist/internal/batch/chunk.mjs +23 -0
  37. package/dist/internal/batch/chunk.mjs.map +1 -0
  38. package/dist/internal/batch/keyed.d.mts +50 -0
  39. package/dist/internal/batch/keyed.d.mts.map +1 -0
  40. package/dist/internal/batch/keyed.mjs +112 -0
  41. package/dist/internal/batch/keyed.mjs.map +1 -0
  42. package/dist/internal/batch/operations.d.mts +25 -0
  43. package/dist/internal/batch/operations.d.mts.map +1 -0
  44. package/dist/internal/batch/operations.mjs +213 -0
  45. package/dist/internal/batch/operations.mjs.map +1 -0
  46. package/dist/internal/browse/operations.d.mts +15 -0
  47. package/dist/internal/browse/operations.d.mts.map +1 -0
  48. package/dist/internal/browse/operations.mjs +72 -0
  49. package/dist/internal/browse/operations.mjs.map +1 -0
  50. package/dist/internal/client/make.d.mts +16 -0
  51. package/dist/internal/client/make.d.mts.map +1 -0
  52. package/dist/internal/client/make.mjs +76 -0
  53. package/dist/internal/client/make.mjs.map +1 -0
  54. package/dist/internal/common/collections.d.mts +5 -0
  55. package/dist/internal/common/collections.d.mts.map +1 -0
  56. package/dist/internal/common/collections.mjs +10 -0
  57. package/dist/internal/common/collections.mjs.map +1 -0
  58. package/dist/internal/common/constants.d.mts +18 -0
  59. package/dist/internal/common/constants.d.mts.map +1 -0
  60. package/dist/internal/common/constants.mjs +19 -0
  61. package/dist/internal/common/constants.mjs.map +1 -0
  62. package/dist/internal/common/node-id.d.mts +2 -0
  63. package/dist/internal/common/node-id.mjs +1 -0
  64. package/dist/internal/common/options.d.mts +15 -0
  65. package/dist/internal/common/options.d.mts.map +1 -0
  66. package/dist/internal/common/options.mjs +22 -0
  67. package/dist/internal/common/options.mjs.map +1 -0
  68. package/dist/internal/common/predicates.d.mts +8 -0
  69. package/dist/internal/common/predicates.d.mts.map +1 -0
  70. package/dist/internal/common/predicates.mjs +13 -0
  71. package/dist/internal/common/predicates.mjs.map +1 -0
  72. package/dist/internal/data-types/enum.d.mts +2 -0
  73. package/dist/internal/data-types/enum.mjs +3 -0
  74. package/dist/internal/data-types/manager.d.mts +2 -0
  75. package/dist/internal/data-types/manager.mjs +3 -0
  76. package/dist/internal/data-types/model.d.mts +2 -0
  77. package/dist/internal/data-types/model.mjs +1 -0
  78. package/dist/internal/data-types/read.d.mts +14 -0
  79. package/dist/internal/data-types/read.d.mts.map +1 -0
  80. package/dist/internal/data-types/read.mjs +291 -0
  81. package/dist/internal/data-types/read.mjs.map +1 -0
  82. package/dist/internal/data-types/structure.d.mts +2 -0
  83. package/dist/internal/data-types/structure.mjs +3 -0
  84. package/dist/internal/events/model.d.mts +72 -0
  85. package/dist/internal/events/model.d.mts.map +1 -0
  86. package/dist/internal/events/model.mjs +1 -0
  87. package/dist/internal/events/wire.d.mts +37 -0
  88. package/dist/internal/events/wire.d.mts.map +1 -0
  89. package/dist/internal/events/wire.mjs +127 -0
  90. package/dist/internal/events/wire.mjs.map +1 -0
  91. package/dist/internal/metadata/arguments.d.mts +2 -0
  92. package/dist/internal/metadata/arguments.mjs +3 -0
  93. package/dist/internal/metadata/methods.d.mts +2 -0
  94. package/dist/internal/metadata/methods.mjs +3 -0
  95. package/dist/internal/metadata/service.d.mts +23 -0
  96. package/dist/internal/metadata/service.d.mts.map +1 -0
  97. package/dist/internal/metadata/service.mjs +416 -0
  98. package/dist/internal/metadata/service.mjs.map +1 -0
  99. package/dist/internal/metadata/variables.d.mts +3 -0
  100. package/dist/internal/metadata/variables.mjs +3 -0
  101. package/dist/internal/method/arguments.d.mts +48 -0
  102. package/dist/internal/method/arguments.d.mts.map +1 -0
  103. package/dist/internal/method/arguments.mjs +216 -0
  104. package/dist/internal/method/arguments.mjs.map +1 -0
  105. package/dist/internal/method/operations.d.mts +19 -0
  106. package/dist/internal/method/operations.d.mts.map +1 -0
  107. package/dist/internal/method/operations.mjs +111 -0
  108. package/dist/internal/method/operations.mjs.map +1 -0
  109. package/dist/internal/monitoring/options.d.mts +30 -0
  110. package/dist/internal/monitoring/options.d.mts.map +1 -0
  111. package/dist/internal/monitoring/options.mjs +260 -0
  112. package/dist/internal/monitoring/options.mjs.map +1 -0
  113. package/dist/internal/monitoring/requests.d.mts +16 -0
  114. package/dist/internal/monitoring/requests.d.mts.map +1 -0
  115. package/dist/internal/monitoring/requests.mjs +53 -0
  116. package/dist/internal/monitoring/requests.mjs.map +1 -0
  117. package/dist/internal/monitoring/runtime.d.mts +14 -0
  118. package/dist/internal/monitoring/runtime.d.mts.map +1 -0
  119. package/dist/internal/monitoring/runtime.mjs +321 -0
  120. package/dist/internal/monitoring/runtime.mjs.map +1 -0
  121. package/dist/internal/monitoring/samples.d.mts +23 -0
  122. package/dist/internal/monitoring/samples.d.mts.map +1 -0
  123. package/dist/internal/monitoring/samples.mjs +45 -0
  124. package/dist/internal/monitoring/samples.mjs.map +1 -0
  125. package/dist/internal/session/make.d.mts +11 -0
  126. package/dist/internal/session/make.d.mts.map +1 -0
  127. package/dist/internal/session/make.mjs +36 -0
  128. package/dist/internal/session/make.mjs.map +1 -0
  129. package/dist/internal/session/service.d.mts +10 -0
  130. package/dist/internal/session/service.d.mts.map +1 -0
  131. package/dist/internal/session/service.mjs +232 -0
  132. package/dist/internal/session/service.mjs.map +1 -0
  133. package/dist/internal/structures/adapter.d.mts +11 -0
  134. package/dist/internal/structures/adapter.d.mts.map +1 -0
  135. package/dist/internal/structures/adapter.mjs +37 -0
  136. package/dist/internal/structures/adapter.mjs.map +1 -0
  137. package/dist/internal/structures/model.d.mts +21 -0
  138. package/dist/internal/structures/model.d.mts.map +1 -0
  139. package/dist/internal/structures/model.mjs +7 -0
  140. package/dist/internal/structures/model.mjs.map +1 -0
  141. package/dist/internal/structures/runtime.d.mts +28 -0
  142. package/dist/internal/structures/runtime.d.mts.map +1 -0
  143. package/dist/internal/structures/runtime.mjs +119 -0
  144. package/dist/internal/structures/runtime.mjs.map +1 -0
  145. package/dist/internal/subscription/options.d.mts +17 -0
  146. package/dist/internal/subscription/options.d.mts.map +1 -0
  147. package/dist/internal/subscription/options.mjs +51 -0
  148. package/dist/internal/subscription/options.mjs.map +1 -0
  149. package/dist/internal/subscription/runtime.d.mts +15 -0
  150. package/dist/internal/subscription/runtime.d.mts.map +1 -0
  151. package/dist/internal/subscription/runtime.mjs +43 -0
  152. package/dist/internal/subscription/runtime.mjs.map +1 -0
  153. package/dist/internal/values/codec.d.mts +53 -0
  154. package/dist/internal/values/codec.d.mts.map +1 -0
  155. package/dist/internal/values/codec.mjs +117 -0
  156. package/dist/internal/values/codec.mjs.map +1 -0
  157. package/dist/internal/values/normalize.d.mts +33 -0
  158. package/dist/internal/values/normalize.d.mts.map +1 -0
  159. package/dist/internal/values/normalize.mjs +177 -0
  160. package/dist/internal/values/normalize.mjs.map +1 -0
  161. package/dist/internal/values/result.d.mts +16 -0
  162. package/dist/internal/values/result.d.mts.map +1 -0
  163. package/dist/internal/values/result.mjs +15 -0
  164. package/dist/internal/values/result.mjs.map +1 -0
  165. package/dist/internal/variable/operations.d.mts +50 -0
  166. package/dist/internal/variable/operations.d.mts.map +1 -0
  167. package/dist/internal/variable/operations.mjs +192 -0
  168. package/dist/internal/variable/operations.mjs.map +1 -0
  169. package/dist/node-opcua.d.mts +2 -0
  170. package/dist/node-opcua.mjs +3 -0
  171. package/package.json +57 -0
@@ -0,0 +1,247 @@
1
+ import { AnyWriteManyRecord, NodeIdOfVariableDef, NodeIdString, OpcuaDynamicValue, OpcuaExpandedNodeIdInfo, OpcuaLocalizedTextInfo, OpcuaQualifiedNameInfo, OpcuaStatusInfo, ReadManyResult as ReadManyResult$1, ReadResult, ReadableVariableDef, ValueOfVariableDef, WritableVariableDef, WriteManyInput, WriteManyResult, WriteResult } from "./OpcuaVariable.mjs";
2
+ import { OpcuaSessionEvent } from "./internal/events/model.mjs";
3
+ import { OpcuaSubscription } from "./OpcuaSubscription.mjs";
4
+ import { OpcuaError, OpcuaSessionCreateError } from "./OpcuaError.mjs";
5
+ import { AnyCallManyRecord, AnyMethodDef, CallManyInput, CallManyResult, InputOfMethodDef, MethodCallOptions, MethodCallResult, OutputOfMethodDef } from "./OpcuaMethod.mjs";
6
+ import { Client } from "./OpcuaClient.mjs";
7
+ import { BrowseDirection, BrowseResult, ClientSession, ReferenceDescription, UserIdentityInfo } from "node-opcua";
8
+ import { Context, Duration, Effect, Layer, Scope, Stream } from "effect";
9
+
10
+ //#region src/OpcuaSession.d.ts
11
+ declare namespace OpcuaSession_d_exports {
12
+ export { CallManyOptions, OpcuaAccessBits, OpcuaBrowseChildrenOptions, OpcuaBrowseChildrenResult, OpcuaBrowseContinuation, OpcuaBrowseOptions, OpcuaBrowseReference, OpcuaBrowseResult, OpcuaDataTypeDefinition, OpcuaDataTypeDefinitionResult, OpcuaEnumDefinition, OpcuaEnumField, OpcuaInspectNodeOptions, OpcuaInspectValueResult, OpcuaMetadataAttribute, OpcuaMetadataReadFailure, OpcuaNodeInspection, OpcuaNodeMetadata, OpcuaNodeMetadataResult, Session as OpcuaSession, OpcuaStructureDefinition, OpcuaStructureField, ReadManyOptions, ReadManyResult, Service, ServiceLimits, ServiceOptions, Session, SessionBatchingOptions, SessionOptions, SessionService, SubscriptionOptions, WriteManyOptions, browse, browseChildren, browseNext, call, callMany, inspectNode, layer, makeSubscription, read, readDataTypeDefinition, readMany, readManyDataTypeDefinitions, readManyNodeMetadata, readNamespaceArray, readNodeMetadata, releaseBrowseContinuation, write, writeMany };
13
+ }
14
+ type ServiceLimits = {
15
+ readonly maxNodesPerRequest: number;
16
+ readonly maxConcurrentRequests: number;
17
+ };
18
+ type ServiceOptions = {
19
+ readonly service?: Partial<ServiceLimits>;
20
+ readonly serviceLimitsOverrides?: Partial<ServiceLimits>;
21
+ };
22
+ type ReadManyOptions = ServiceOptions & {
23
+ readonly validation?: "strict" | "none";
24
+ };
25
+ type WriteManyOptions = ServiceOptions;
26
+ type CallManyOptions = ServiceOptions;
27
+ type SessionBatchingOptions = {
28
+ readonly readLimits?: Partial<ServiceLimits>;
29
+ readonly writeLimits?: Partial<ServiceLimits>;
30
+ readonly callLimits?: Partial<ServiceLimits>;
31
+ };
32
+ type OpcuaBrowseReference = {
33
+ readonly nodeId: OpcuaExpandedNodeIdInfo;
34
+ readonly referenceTypeId?: NodeIdString;
35
+ readonly isForward?: boolean;
36
+ readonly nodeClass?: string;
37
+ readonly browseName?: OpcuaQualifiedNameInfo;
38
+ readonly displayName?: OpcuaLocalizedTextInfo;
39
+ readonly typeDefinition?: OpcuaExpandedNodeIdInfo;
40
+ readonly unsafeRaw?: ReferenceDescription;
41
+ };
42
+ type OpcuaBrowseContinuation = {
43
+ readonly nodeId: NodeIdString;
44
+ readonly unsafeRaw: Buffer;
45
+ };
46
+ type OpcuaBrowseResult = {
47
+ readonly _tag: "Browsed";
48
+ readonly nodeId: NodeIdString;
49
+ readonly status: OpcuaStatusInfo;
50
+ readonly references: ReadonlyArray<OpcuaBrowseReference>;
51
+ readonly continuation?: OpcuaBrowseContinuation;
52
+ readonly unsafeRaw?: BrowseResult;
53
+ } | {
54
+ readonly _tag: "NonGoodStatus";
55
+ readonly nodeId: NodeIdString;
56
+ readonly status: OpcuaStatusInfo;
57
+ readonly unsafeRaw?: BrowseResult;
58
+ };
59
+ type OpcuaBrowseChildrenResult = OpcuaBrowseResult;
60
+ type OpcuaBrowseOptions = {
61
+ readonly nodeId: NodeIdString;
62
+ readonly referenceTypeId?: NodeIdString;
63
+ readonly browseDirection?: BrowseDirection;
64
+ readonly includeSubtypes?: boolean;
65
+ readonly nodeClassMask?: number;
66
+ readonly resultMask?: number;
67
+ readonly maxReferencesPerNode?: number;
68
+ readonly includeRaw?: boolean;
69
+ };
70
+ type OpcuaBrowseChildrenOptions = {
71
+ readonly mode?: "all" | "page";
72
+ readonly maxReferencesPerNode?: number;
73
+ readonly referenceTypeId?: string;
74
+ readonly includeSubtypes?: boolean;
75
+ readonly nodeClassMask?: number;
76
+ readonly includeRaw?: boolean;
77
+ };
78
+ type OpcuaAccessBits = {
79
+ readonly readable: boolean;
80
+ readonly writable: boolean;
81
+ };
82
+ type OpcuaNodeMetadata = {
83
+ readonly nodeId: string;
84
+ readonly nodeClass?: string;
85
+ readonly browseName?: string;
86
+ readonly browseNameNamespaceIndex?: number;
87
+ readonly displayName?: string;
88
+ readonly description?: string;
89
+ readonly dataType?: string;
90
+ readonly valueRank?: number;
91
+ readonly arrayDimensions?: readonly number[];
92
+ readonly accessLevel?: OpcuaAccessBits;
93
+ readonly userAccessLevel?: OpcuaAccessBits;
94
+ readonly namespaceIndex?: number;
95
+ readonly namespaceUri?: string;
96
+ };
97
+ type OpcuaMetadataAttribute = "NodeClass" | "BrowseName" | "DisplayName" | "Description" | "DataType" | "ValueRank" | "ArrayDimensions" | "AccessLevel" | "UserAccessLevel";
98
+ type OpcuaMetadataReadFailure = {
99
+ readonly _tag: "NonGoodStatus";
100
+ readonly attribute: OpcuaMetadataAttribute;
101
+ readonly status: OpcuaStatusInfo;
102
+ } | {
103
+ readonly _tag: "InvalidValue";
104
+ readonly attribute: OpcuaMetadataAttribute;
105
+ readonly message: string;
106
+ };
107
+ type OpcuaNodeMetadataResult = {
108
+ readonly _tag: "Success";
109
+ readonly nodeId: string;
110
+ readonly metadata: OpcuaNodeMetadata;
111
+ } | {
112
+ readonly _tag: "Failure";
113
+ readonly nodeId: string;
114
+ readonly reason: OpcuaMetadataReadFailure;
115
+ };
116
+ type OpcuaDataTypeDefinitionResult = {
117
+ readonly _tag: "Success";
118
+ readonly dataTypeNodeId: string;
119
+ readonly definition: OpcuaDataTypeDefinition;
120
+ } | {
121
+ readonly _tag: "Missing";
122
+ readonly dataTypeNodeId: string;
123
+ readonly reason: string;
124
+ } | {
125
+ readonly _tag: "Unsupported";
126
+ readonly dataTypeNodeId: string;
127
+ readonly reason: string;
128
+ } | {
129
+ readonly _tag: "Failure";
130
+ readonly dataTypeNodeId: string;
131
+ readonly reason: string;
132
+ };
133
+ type OpcuaDataTypeDefinition = OpcuaStructureDefinition | OpcuaEnumDefinition;
134
+ type OpcuaStructureDefinition = {
135
+ readonly _tag: "Structure";
136
+ readonly dataTypeNodeId: string;
137
+ readonly name: string;
138
+ readonly structureType: "Structure" | "StructureWithOptionalFields" | "Union" | "Unknown";
139
+ readonly fields: readonly OpcuaStructureField[];
140
+ };
141
+ type OpcuaStructureField = {
142
+ readonly name: string;
143
+ readonly dataTypeNodeId: string;
144
+ readonly valueRank?: number;
145
+ readonly arrayDimensions?: readonly number[];
146
+ readonly isOptional?: boolean;
147
+ readonly description?: string;
148
+ };
149
+ type OpcuaEnumDefinition = {
150
+ readonly _tag: "Enum";
151
+ readonly dataTypeNodeId: string;
152
+ readonly name: string;
153
+ readonly fields: readonly OpcuaEnumField[];
154
+ };
155
+ type OpcuaEnumField = {
156
+ readonly name: string;
157
+ readonly value: number;
158
+ readonly description?: string;
159
+ };
160
+ type OpcuaInspectNodeOptions = {
161
+ readonly value?: boolean;
162
+ readonly dataTypeDefinition?: boolean;
163
+ };
164
+ type OpcuaInspectValueResult = ReadResult<OpcuaDynamicValue> | {
165
+ readonly _tag: "NotReadable";
166
+ readonly nodeId: NodeIdString;
167
+ } | {
168
+ readonly _tag: "ReadFailed";
169
+ readonly nodeId: NodeIdString;
170
+ readonly error: OpcuaError;
171
+ };
172
+ type OpcuaNodeInspection = {
173
+ readonly nodeId: NodeIdString;
174
+ readonly metadata: OpcuaNodeMetadata;
175
+ readonly value?: OpcuaInspectValueResult;
176
+ readonly dataTypeDefinition?: OpcuaDataTypeDefinitionResult;
177
+ };
178
+ interface VariableService {
179
+ readonly read: <const Def extends ReadableVariableDef>(def: Def) => Effect.Effect<ReadResult<ValueOfVariableDef<Def>, NodeIdOfVariableDef<Def>>, OpcuaError>;
180
+ readonly readMany: <const Items extends Record<string, ReadableVariableDef>>(items: Items, options?: ReadManyOptions) => Effect.Effect<ReadManyResult$1<Items>, OpcuaError>;
181
+ readonly write: <const Def extends WritableVariableDef>(def: Def, value: ValueOfVariableDef<Def>) => Effect.Effect<WriteResult<NodeIdOfVariableDef<Def>>, OpcuaError>;
182
+ readonly writeMany: <const Items extends AnyWriteManyRecord>(items: Items & WriteManyInput<Items>, options?: WriteManyOptions) => Effect.Effect<WriteManyResult<Items>, OpcuaError>;
183
+ }
184
+ type SubscriptionOptions = {
185
+ readonly publishingInterval: Duration.Duration;
186
+ readonly lifetimeCount?: number;
187
+ readonly maxKeepAliveCount?: number;
188
+ readonly maxNotificationsPerPublish?: number;
189
+ readonly publishingEnabled?: boolean;
190
+ readonly priority?: number;
191
+ };
192
+ interface SubscriptionService {
193
+ readonly makeSubscription: (options: SubscriptionOptions) => Effect.Effect<OpcuaSubscription, OpcuaError, Scope.Scope>;
194
+ }
195
+ interface MethodService {
196
+ readonly call: <const Spec extends AnyMethodDef>(def: Spec, input: InputOfMethodDef<Spec>, options?: MethodCallOptions) => Effect.Effect<MethodCallResult<OutputOfMethodDef<Spec>, Spec["objectId"], Spec["methodId"]>, OpcuaError>;
197
+ readonly callMany: <const Items extends AnyCallManyRecord>(items: Items & CallManyInput<Items>, options?: CallManyOptions) => Effect.Effect<CallManyResult<Items>, OpcuaError>;
198
+ }
199
+ interface BrowseService {
200
+ readonly browse: (input: OpcuaBrowseOptions) => Effect.Effect<OpcuaBrowseResult, OpcuaError>;
201
+ readonly browseNext: (continuation: OpcuaBrowseContinuation & {
202
+ readonly includeRaw?: boolean;
203
+ }) => Effect.Effect<OpcuaBrowseResult, OpcuaError>;
204
+ readonly releaseBrowseContinuation: (continuation: OpcuaBrowseContinuation) => Effect.Effect<void, OpcuaError>;
205
+ readonly browseChildren: (nodeId: NodeIdString, options?: OpcuaBrowseChildrenOptions) => Effect.Effect<OpcuaBrowseChildrenResult, OpcuaError>;
206
+ }
207
+ interface MetadataService {
208
+ readonly readNamespaceArray: () => Effect.Effect<readonly string[], OpcuaError>;
209
+ readonly readNodeMetadata: (nodeId: string) => Effect.Effect<OpcuaNodeMetadata, OpcuaError>;
210
+ readonly readManyNodeMetadata: (nodeIds: readonly string[]) => Effect.Effect<readonly OpcuaNodeMetadataResult[], OpcuaError>;
211
+ readonly readDataTypeDefinition: (dataTypeNodeId: string) => Effect.Effect<OpcuaDataTypeDefinitionResult, OpcuaError>;
212
+ readonly readManyDataTypeDefinitions: (dataTypeNodeIds: readonly string[]) => Effect.Effect<readonly OpcuaDataTypeDefinitionResult[], OpcuaError>;
213
+ readonly inspectNode: (nodeId: string, options?: OpcuaInspectNodeOptions) => Effect.Effect<OpcuaNodeInspection, OpcuaError>;
214
+ }
215
+ interface SessionService extends VariableService, SubscriptionService, MethodService, BrowseService, MetadataService {
216
+ readonly events: Stream.Stream<OpcuaSessionEvent>;
217
+ readonly unsafeRaw: ClientSession;
218
+ }
219
+ declare const Session_base: Context.ServiceClass<Session, "@effect-opcua/client/OpcuaSession", SessionService>;
220
+ declare class Session extends Session_base {}
221
+ type Service = SessionService;
222
+ type ReadManyResult<Items> = ReadManyResult$1<Items>;
223
+ declare const read: <const Def extends ReadableVariableDef>(def: Def) => Effect.Effect<ReadResult<ValueOfVariableDef<Def>, NodeIdOfVariableDef<Def>>, OpcuaError, Session>;
224
+ declare const readMany: <const Items extends Record<string, ReadableVariableDef>>(items: Items, options?: ReadManyOptions) => Effect.Effect<ReadManyResult$1<Items>, OpcuaError, Session>;
225
+ declare const write: <const Def extends WritableVariableDef>(def: Def, value: ValueOfVariableDef<Def>) => Effect.Effect<WriteResult<NodeIdOfVariableDef<Def>>, OpcuaError, Session>;
226
+ declare const writeMany: <const Items extends AnyWriteManyRecord>(items: Items & WriteManyInput<Items>, options?: WriteManyOptions) => Effect.Effect<WriteManyResult<Items & WriteManyInput<Items>>, OpcuaError, Session>;
227
+ declare const makeSubscription: (options: Parameters<SessionService["makeSubscription"]>[0]) => Effect.Effect<OpcuaSubscription, OpcuaError, Scope.Scope | Session>;
228
+ declare const callMany: <const Items extends AnyCallManyRecord>(items: Items & CallManyInput<Items>, options?: CallManyOptions) => Effect.Effect<CallManyResult<Items & CallManyInput<Items>>, OpcuaError, Session>;
229
+ declare const call: <const Spec extends AnyMethodDef>(def: Spec, input: InputOfMethodDef<Spec>, options?: MethodCallOptions) => Effect.Effect<MethodCallResult<OutputOfMethodDef<Spec>, Spec["objectId"], Spec["methodId"]>, OpcuaError, Session>;
230
+ declare const browse: (input: OpcuaBrowseOptions) => Effect.Effect<OpcuaBrowseResult, OpcuaError, Session>;
231
+ declare const browseNext: (continuation: Parameters<SessionService["browseNext"]>[0]) => Effect.Effect<OpcuaBrowseResult, OpcuaError, Session>;
232
+ declare const releaseBrowseContinuation: (continuation: OpcuaBrowseContinuation) => Effect.Effect<void, OpcuaError, Session>;
233
+ declare const browseChildren: (nodeId: NodeIdString, options?: OpcuaBrowseChildrenOptions) => Effect.Effect<OpcuaBrowseResult, OpcuaError, Session>;
234
+ declare const readNamespaceArray: () => Effect.Effect<readonly string[], OpcuaError, Session>;
235
+ declare const readNodeMetadata: (nodeId: string) => Effect.Effect<OpcuaNodeMetadata, OpcuaError, Session>;
236
+ declare const readManyNodeMetadata: (nodeIds: readonly string[]) => Effect.Effect<readonly OpcuaNodeMetadataResult[], OpcuaError, Session>;
237
+ declare const readDataTypeDefinition: (dataTypeNodeId: string) => Effect.Effect<OpcuaDataTypeDefinitionResult, OpcuaError, Session>;
238
+ declare const readManyDataTypeDefinitions: (dataTypeNodeIds: readonly string[]) => Effect.Effect<readonly OpcuaDataTypeDefinitionResult[], OpcuaError, Session>;
239
+ declare const inspectNode: (nodeId: string, options?: OpcuaInspectNodeOptions) => Effect.Effect<OpcuaNodeInspection, OpcuaError, Session>;
240
+ type SessionOptions = {
241
+ readonly userIdentity?: UserIdentityInfo;
242
+ readonly batching?: SessionBatchingOptions;
243
+ };
244
+ declare const layer: (options?: SessionOptions) => Layer.Layer<Session, OpcuaSessionCreateError, Client>;
245
+ //#endregion
246
+ export { CallManyOptions, OpcuaAccessBits, OpcuaBrowseChildrenOptions, OpcuaBrowseChildrenResult, OpcuaBrowseContinuation, OpcuaBrowseOptions, OpcuaBrowseReference, OpcuaBrowseResult, OpcuaDataTypeDefinition, OpcuaDataTypeDefinitionResult, OpcuaEnumDefinition, OpcuaEnumField, OpcuaInspectNodeOptions, OpcuaInspectValueResult, OpcuaMetadataAttribute, OpcuaMetadataReadFailure, OpcuaNodeInspection, OpcuaNodeMetadata, OpcuaNodeMetadataResult, Session as OpcuaSession, Session, OpcuaSession_d_exports, OpcuaStructureDefinition, OpcuaStructureField, ReadManyOptions, ReadManyResult, Service, ServiceLimits, ServiceOptions, SessionBatchingOptions, SessionOptions, SessionService, SubscriptionOptions, WriteManyOptions, browse, browseChildren, browseNext, call, callMany, inspectNode, layer, makeSubscription, read, readDataTypeDefinition, readMany, readManyDataTypeDefinitions, readManyNodeMetadata, readNamespaceArray, readNodeMetadata, releaseBrowseContinuation, write, writeMany };
247
+ //# sourceMappingURL=OpcuaSession.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpcuaSession.d.mts","names":[],"sources":["../src/OpcuaSession.ts"],"sourcesContent":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import { __export } from "./_virtual/rolldown_runtime.mjs";
2
+ import { make } from "./internal/session/make.mjs";
3
+ import { Context, Layer } from "effect";
4
+
5
+ //#region src/OpcuaSession.ts
6
+ var OpcuaSession_exports = /* @__PURE__ */ __export({
7
+ OpcuaSession: () => Session,
8
+ Session: () => Session,
9
+ browse: () => browse,
10
+ browseChildren: () => browseChildren,
11
+ browseNext: () => browseNext,
12
+ call: () => call,
13
+ callMany: () => callMany,
14
+ inspectNode: () => inspectNode,
15
+ layer: () => layer,
16
+ makeSubscription: () => makeSubscription,
17
+ read: () => read,
18
+ readDataTypeDefinition: () => readDataTypeDefinition,
19
+ readMany: () => readMany,
20
+ readManyDataTypeDefinitions: () => readManyDataTypeDefinitions,
21
+ readManyNodeMetadata: () => readManyNodeMetadata,
22
+ readNamespaceArray: () => readNamespaceArray,
23
+ readNodeMetadata: () => readNodeMetadata,
24
+ releaseBrowseContinuation: () => releaseBrowseContinuation,
25
+ write: () => write,
26
+ writeMany: () => writeMany
27
+ });
28
+ var Session = class extends Context.Service()("@effect-opcua/client/OpcuaSession") {};
29
+ const read = (def) => Session.use((session) => session.read(def));
30
+ const readMany = (items, options) => Session.use((session) => session.readMany(items, options));
31
+ const write = (def, value) => Session.use((session) => session.write(def, value));
32
+ const writeMany = (items, options) => Session.use((session) => session.writeMany(items, options));
33
+ const makeSubscription = (options) => Session.use((session) => session.makeSubscription(options));
34
+ const callMany = (items, options) => Session.use((session) => session.callMany(items, options));
35
+ const call = (def, input, options) => Session.use((session) => session.call(def, input, options));
36
+ const browse = (input) => Session.use((session) => session.browse(input));
37
+ const browseNext = (continuation) => Session.use((session) => session.browseNext(continuation));
38
+ const releaseBrowseContinuation = (continuation) => Session.use((session) => session.releaseBrowseContinuation(continuation));
39
+ const browseChildren = (nodeId, options) => Session.use((session) => session.browseChildren(nodeId, options));
40
+ const readNamespaceArray = () => Session.use((session) => session.readNamespaceArray());
41
+ const readNodeMetadata = (nodeId) => Session.use((session) => session.readNodeMetadata(nodeId));
42
+ const readManyNodeMetadata = (nodeIds) => Session.use((session) => session.readManyNodeMetadata(nodeIds));
43
+ const readDataTypeDefinition = (dataTypeNodeId) => Session.use((session) => session.readDataTypeDefinition(dataTypeNodeId));
44
+ const readManyDataTypeDefinitions = (dataTypeNodeIds) => Session.use((session) => session.readManyDataTypeDefinitions(dataTypeNodeIds));
45
+ const inspectNode = (nodeId, options) => Session.use((session) => session.inspectNode(nodeId, options));
46
+ const layer = (options) => Layer.effect(Session, make(options));
47
+
48
+ //#endregion
49
+ export { Session as OpcuaSession, Session, OpcuaSession_exports, browse, browseChildren, browseNext, call, callMany, inspectNode, layer, makeSubscription, read, readDataTypeDefinition, readMany, readManyDataTypeDefinitions, readManyNodeMetadata, readNamespaceArray, readNodeMetadata, releaseBrowseContinuation, write, writeMany };
50
+ //# sourceMappingURL=OpcuaSession.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpcuaSession.mjs","names":[],"sources":["../src/OpcuaSession.ts"],"sourcesContent":["import type { ClientSession, UserIdentityInfo } from \"node-opcua\";\nimport {\n Context,\n Layer,\n type Duration,\n type Effect,\n type Scope,\n type Stream,\n} from \"effect\";\n\nimport type * as OpcuaError from \"./OpcuaError.js\";\nimport type * as OpcuaMethod from \"./OpcuaMethod.js\";\nimport type * as OpcuaSubscription from \"./OpcuaSubscription.js\";\nimport type * as OpcuaVariable from \"./OpcuaVariable.js\";\n\nimport type {\n BrowseDirection,\n BrowseResult,\n ReferenceDescription,\n} from \"node-opcua\";\nimport type { OpcuaSessionEvent } from \"./internal/events/model.js\";\nimport type {\n NodeIdString,\n OpcuaExpandedNodeIdInfo,\n OpcuaLocalizedTextInfo,\n OpcuaQualifiedNameInfo,\n OpcuaStatusInfo,\n} from \"./OpcuaVariable.js\";\nimport { make } from \"./internal/session/make.js\";\n\nexport type ServiceLimits = {\n readonly maxNodesPerRequest: number;\n readonly maxConcurrentRequests: number;\n};\n\nexport type ServiceOptions = {\n readonly service?: Partial<ServiceLimits>;\n readonly serviceLimitsOverrides?: Partial<ServiceLimits>;\n};\n\nexport type ReadManyOptions = ServiceOptions & {\n readonly validation?: \"strict\" | \"none\";\n};\n\nexport type WriteManyOptions = ServiceOptions;\nexport type CallManyOptions = ServiceOptions;\n\nexport type SessionBatchingOptions = {\n readonly readLimits?: Partial<ServiceLimits>;\n readonly writeLimits?: Partial<ServiceLimits>;\n readonly callLimits?: Partial<ServiceLimits>;\n};\n\nexport type OpcuaBrowseReference = {\n readonly nodeId: OpcuaExpandedNodeIdInfo;\n readonly referenceTypeId?: NodeIdString;\n readonly isForward?: boolean;\n readonly nodeClass?: string;\n readonly browseName?: OpcuaQualifiedNameInfo;\n readonly displayName?: OpcuaLocalizedTextInfo;\n readonly typeDefinition?: OpcuaExpandedNodeIdInfo;\n readonly unsafeRaw?: ReferenceDescription;\n};\n\nexport type OpcuaBrowseContinuation = {\n readonly nodeId: NodeIdString;\n readonly unsafeRaw: Buffer;\n};\n\nexport type OpcuaBrowseResult =\n | {\n readonly _tag: \"Browsed\";\n readonly nodeId: NodeIdString;\n readonly status: OpcuaStatusInfo;\n readonly references: ReadonlyArray<OpcuaBrowseReference>;\n readonly continuation?: OpcuaBrowseContinuation;\n readonly unsafeRaw?: BrowseResult;\n }\n | {\n readonly _tag: \"NonGoodStatus\";\n readonly nodeId: NodeIdString;\n readonly status: OpcuaStatusInfo;\n readonly unsafeRaw?: BrowseResult;\n };\n\nexport type OpcuaBrowseChildrenResult = OpcuaBrowseResult;\n\nexport type OpcuaBrowseOptions = {\n readonly nodeId: NodeIdString;\n readonly referenceTypeId?: NodeIdString;\n readonly browseDirection?: BrowseDirection;\n readonly includeSubtypes?: boolean;\n readonly nodeClassMask?: number;\n readonly resultMask?: number;\n readonly maxReferencesPerNode?: number;\n readonly includeRaw?: boolean;\n};\n\nexport type OpcuaBrowseChildrenOptions = {\n readonly mode?: \"all\" | \"page\";\n readonly maxReferencesPerNode?: number;\n readonly referenceTypeId?: string;\n readonly includeSubtypes?: boolean;\n readonly nodeClassMask?: number;\n readonly includeRaw?: boolean;\n};\n\nexport type OpcuaAccessBits = {\n readonly readable: boolean;\n readonly writable: boolean;\n};\n\nexport type OpcuaNodeMetadata = {\n readonly nodeId: string;\n\n readonly nodeClass?: string;\n readonly browseName?: string;\n readonly browseNameNamespaceIndex?: number;\n\n readonly displayName?: string;\n readonly description?: string;\n\n readonly dataType?: string;\n readonly valueRank?: number;\n readonly arrayDimensions?: readonly number[];\n\n readonly accessLevel?: OpcuaAccessBits;\n readonly userAccessLevel?: OpcuaAccessBits;\n\n readonly namespaceIndex?: number;\n readonly namespaceUri?: string;\n};\n\nexport type OpcuaMetadataAttribute =\n | \"NodeClass\"\n | \"BrowseName\"\n | \"DisplayName\"\n | \"Description\"\n | \"DataType\"\n | \"ValueRank\"\n | \"ArrayDimensions\"\n | \"AccessLevel\"\n | \"UserAccessLevel\";\n\nexport type OpcuaMetadataReadFailure =\n | {\n readonly _tag: \"NonGoodStatus\";\n readonly attribute: OpcuaMetadataAttribute;\n readonly status: OpcuaStatusInfo;\n }\n | {\n readonly _tag: \"InvalidValue\";\n readonly attribute: OpcuaMetadataAttribute;\n readonly message: string;\n };\n\nexport type OpcuaNodeMetadataResult =\n | {\n readonly _tag: \"Success\";\n readonly nodeId: string;\n readonly metadata: OpcuaNodeMetadata;\n }\n | {\n readonly _tag: \"Failure\";\n readonly nodeId: string;\n readonly reason: OpcuaMetadataReadFailure;\n };\n\nexport type OpcuaDataTypeDefinitionResult =\n | {\n readonly _tag: \"Success\";\n readonly dataTypeNodeId: string;\n readonly definition: OpcuaDataTypeDefinition;\n }\n | {\n readonly _tag: \"Missing\";\n readonly dataTypeNodeId: string;\n readonly reason: string;\n }\n | {\n readonly _tag: \"Unsupported\";\n readonly dataTypeNodeId: string;\n readonly reason: string;\n }\n | {\n readonly _tag: \"Failure\";\n readonly dataTypeNodeId: string;\n readonly reason: string;\n };\n\nexport type OpcuaDataTypeDefinition =\n | OpcuaStructureDefinition\n | OpcuaEnumDefinition;\n\nexport type OpcuaStructureDefinition = {\n readonly _tag: \"Structure\";\n readonly dataTypeNodeId: string;\n readonly name: string;\n readonly structureType:\n | \"Structure\"\n | \"StructureWithOptionalFields\"\n | \"Union\"\n | \"Unknown\";\n readonly fields: readonly OpcuaStructureField[];\n};\n\nexport type OpcuaStructureField = {\n readonly name: string;\n readonly dataTypeNodeId: string;\n readonly valueRank?: number;\n readonly arrayDimensions?: readonly number[];\n readonly isOptional?: boolean;\n readonly description?: string;\n};\n\nexport type OpcuaEnumDefinition = {\n readonly _tag: \"Enum\";\n readonly dataTypeNodeId: string;\n readonly name: string;\n readonly fields: readonly OpcuaEnumField[];\n};\n\nexport type OpcuaEnumField = {\n readonly name: string;\n readonly value: number;\n readonly description?: string;\n};\n\nexport type OpcuaInspectNodeOptions = {\n readonly value?: boolean;\n readonly dataTypeDefinition?: boolean;\n};\n\nexport type OpcuaInspectValueResult =\n | OpcuaVariable.ReadResult<OpcuaVariable.OpcuaDynamicValue>\n | { readonly _tag: \"NotReadable\"; readonly nodeId: NodeIdString }\n | {\n readonly _tag: \"ReadFailed\";\n readonly nodeId: NodeIdString;\n readonly error: OpcuaError.OpcuaError;\n };\n\nexport type OpcuaNodeInspection = {\n readonly nodeId: NodeIdString;\n readonly metadata: OpcuaNodeMetadata;\n readonly value?: OpcuaInspectValueResult;\n readonly dataTypeDefinition?: OpcuaDataTypeDefinitionResult;\n};\n\ninterface VariableService {\n readonly read: <const Def extends OpcuaVariable.ReadableVariableDef>(\n def: Def,\n ) => Effect.Effect<\n OpcuaVariable.ReadResult<\n OpcuaVariable.ValueOfVariableDef<Def>,\n OpcuaVariable.NodeIdOfVariableDef<Def>\n >,\n OpcuaError.OpcuaError\n >;\n readonly readMany: <\n const Items extends Record<string, OpcuaVariable.ReadableVariableDef>,\n >(\n items: Items,\n options?: ReadManyOptions,\n ) => Effect.Effect<\n OpcuaVariable.ReadManyResult<Items>,\n OpcuaError.OpcuaError\n >;\n readonly write: <const Def extends OpcuaVariable.WritableVariableDef>(\n def: Def,\n value: OpcuaVariable.ValueOfVariableDef<Def>,\n ) => Effect.Effect<\n OpcuaVariable.WriteResult<OpcuaVariable.NodeIdOfVariableDef<Def>>,\n OpcuaError.OpcuaError\n >;\n readonly writeMany: <const Items extends OpcuaVariable.AnyWriteManyRecord>(\n items: Items & OpcuaVariable.WriteManyInput<Items>,\n options?: WriteManyOptions,\n ) => Effect.Effect<\n OpcuaVariable.WriteManyResult<Items>,\n OpcuaError.OpcuaError\n >;\n}\n\nexport type SubscriptionOptions = {\n readonly publishingInterval: Duration.Duration;\n readonly lifetimeCount?: number;\n readonly maxKeepAliveCount?: number;\n readonly maxNotificationsPerPublish?: number;\n readonly publishingEnabled?: boolean;\n readonly priority?: number;\n};\n\ninterface SubscriptionService {\n readonly makeSubscription: (\n options: SubscriptionOptions,\n ) => Effect.Effect<\n OpcuaSubscription.OpcuaSubscription,\n OpcuaError.OpcuaError,\n Scope.Scope\n >;\n}\n\ninterface MethodService {\n readonly call: <const Spec extends OpcuaMethod.AnyMethodDef>(\n def: Spec,\n input: OpcuaMethod.InputOfMethodDef<Spec>,\n options?: OpcuaMethod.MethodCallOptions,\n ) => Effect.Effect<\n OpcuaMethod.MethodCallResult<\n OpcuaMethod.OutputOfMethodDef<Spec>,\n Spec[\"objectId\"],\n Spec[\"methodId\"]\n >,\n OpcuaError.OpcuaError\n >;\n readonly callMany: <const Items extends OpcuaMethod.AnyCallManyRecord>(\n items: Items & OpcuaMethod.CallManyInput<Items>,\n options?: CallManyOptions,\n ) => Effect.Effect<OpcuaMethod.CallManyResult<Items>, OpcuaError.OpcuaError>;\n}\n\ninterface BrowseService {\n readonly browse: (\n input: OpcuaBrowseOptions,\n ) => Effect.Effect<OpcuaBrowseResult, OpcuaError.OpcuaError>;\n readonly browseNext: (\n continuation: OpcuaBrowseContinuation & { readonly includeRaw?: boolean },\n ) => Effect.Effect<OpcuaBrowseResult, OpcuaError.OpcuaError>;\n readonly releaseBrowseContinuation: (\n continuation: OpcuaBrowseContinuation,\n ) => Effect.Effect<void, OpcuaError.OpcuaError>;\n readonly browseChildren: (\n nodeId: NodeIdString,\n options?: OpcuaBrowseChildrenOptions,\n ) => Effect.Effect<OpcuaBrowseChildrenResult, OpcuaError.OpcuaError>;\n}\n\ninterface MetadataService {\n readonly readNamespaceArray: () => Effect.Effect<\n readonly string[],\n OpcuaError.OpcuaError\n >;\n readonly readNodeMetadata: (\n nodeId: string,\n ) => Effect.Effect<OpcuaNodeMetadata, OpcuaError.OpcuaError>;\n readonly readManyNodeMetadata: (\n nodeIds: readonly string[],\n ) => Effect.Effect<readonly OpcuaNodeMetadataResult[], OpcuaError.OpcuaError>;\n readonly readDataTypeDefinition: (\n dataTypeNodeId: string,\n ) => Effect.Effect<OpcuaDataTypeDefinitionResult, OpcuaError.OpcuaError>;\n readonly readManyDataTypeDefinitions: (\n dataTypeNodeIds: readonly string[],\n ) => Effect.Effect<\n readonly OpcuaDataTypeDefinitionResult[],\n OpcuaError.OpcuaError\n >;\n readonly inspectNode: (\n nodeId: string,\n options?: OpcuaInspectNodeOptions,\n ) => Effect.Effect<OpcuaNodeInspection, OpcuaError.OpcuaError>;\n}\n\nexport interface SessionService\n extends\n VariableService,\n SubscriptionService,\n MethodService,\n BrowseService,\n MetadataService {\n readonly events: Stream.Stream<OpcuaSessionEvent>;\n readonly unsafeRaw: ClientSession;\n}\n\nexport class Session extends Context.Service<Session, SessionService>()(\n \"@effect-opcua/client/OpcuaSession\",\n) {}\n\nexport type Service = SessionService;\nexport type ReadManyResult<Items> = OpcuaVariable.ReadManyResult<Items>;\nexport { Session as OpcuaSession };\n\nexport const read = <const Def extends OpcuaVariable.ReadableVariableDef>(\n def: Def,\n) => Session.use((session) => session.read(def));\n\nexport const readMany = <\n const Items extends Record<string, OpcuaVariable.ReadableVariableDef>,\n>(\n items: Items,\n options?: ReadManyOptions,\n) => Session.use((session) => session.readMany(items, options));\n\nexport const write = <const Def extends OpcuaVariable.WritableVariableDef>(\n def: Def,\n value: OpcuaVariable.ValueOfVariableDef<Def>,\n) => Session.use((session) => session.write(def, value));\n\nexport const writeMany = <const Items extends OpcuaVariable.AnyWriteManyRecord>(\n items: Items & OpcuaVariable.WriteManyInput<Items>,\n options?: WriteManyOptions,\n) => Session.use((session) => session.writeMany(items, options));\n\nexport const makeSubscription = (\n options: Parameters<SessionService[\"makeSubscription\"]>[0],\n) => Session.use((session) => session.makeSubscription(options));\n\nexport const callMany = <const Items extends OpcuaMethod.AnyCallManyRecord>(\n items: Items & OpcuaMethod.CallManyInput<Items>,\n options?: CallManyOptions,\n) => Session.use((session) => session.callMany(items, options));\n\nexport const call = <const Spec extends OpcuaMethod.AnyMethodDef>(\n def: Spec,\n input: OpcuaMethod.InputOfMethodDef<Spec>,\n options?: OpcuaMethod.MethodCallOptions,\n) => Session.use((session) => session.call(def, input, options));\n\nexport const browse = (input: OpcuaBrowseOptions) =>\n Session.use((session) => session.browse(input));\n\nexport const browseNext = (\n continuation: Parameters<SessionService[\"browseNext\"]>[0],\n) => Session.use((session) => session.browseNext(continuation));\n\nexport const releaseBrowseContinuation = (\n continuation: OpcuaBrowseContinuation,\n) => Session.use((session) => session.releaseBrowseContinuation(continuation));\n\nexport const browseChildren = (\n nodeId: NodeIdString,\n options?: OpcuaBrowseChildrenOptions,\n) => Session.use((session) => session.browseChildren(nodeId, options));\n\nexport const readNamespaceArray = () =>\n Session.use((session) => session.readNamespaceArray());\n\nexport const readNodeMetadata = (nodeId: string) =>\n Session.use((session) => session.readNodeMetadata(nodeId));\n\nexport const readManyNodeMetadata = (nodeIds: readonly string[]) =>\n Session.use((session) => session.readManyNodeMetadata(nodeIds));\n\nexport const readDataTypeDefinition = (dataTypeNodeId: string) =>\n Session.use((session) => session.readDataTypeDefinition(dataTypeNodeId));\n\nexport const readManyDataTypeDefinitions = (\n dataTypeNodeIds: readonly string[],\n) =>\n Session.use((session) =>\n session.readManyDataTypeDefinitions(dataTypeNodeIds),\n );\n\nexport const inspectNode = (\n nodeId: string,\n options?: OpcuaInspectNodeOptions,\n) => Session.use((session) => session.inspectNode(nodeId, options));\n\nexport type SessionOptions = {\n readonly userIdentity?: UserIdentityInfo;\n readonly batching?: SessionBatchingOptions;\n};\n\nexport const layer = (options?: SessionOptions) =>\n Layer.effect(Session, make(options));\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAuXA,IAAa,UAAb,cAA6B,QAAQ,SAAkC,CACrE,oCACD,CAAC;AAMF,MAAa,QACX,QACG,QAAQ,KAAK,YAAY,QAAQ,KAAK,IAAI,CAAC;AAEhD,MAAa,YAGX,OACA,YACG,QAAQ,KAAK,YAAY,QAAQ,SAAS,OAAO,QAAQ,CAAC;AAE/D,MAAa,SACX,KACA,UACG,QAAQ,KAAK,YAAY,QAAQ,MAAM,KAAK,MAAM,CAAC;AAExD,MAAa,aACX,OACA,YACG,QAAQ,KAAK,YAAY,QAAQ,UAAU,OAAO,QAAQ,CAAC;AAEhE,MAAa,oBACX,YACG,QAAQ,KAAK,YAAY,QAAQ,iBAAiB,QAAQ,CAAC;AAEhE,MAAa,YACX,OACA,YACG,QAAQ,KAAK,YAAY,QAAQ,SAAS,OAAO,QAAQ,CAAC;AAE/D,MAAa,QACX,KACA,OACA,YACG,QAAQ,KAAK,YAAY,QAAQ,KAAK,KAAK,OAAO,QAAQ,CAAC;AAEhE,MAAa,UAAU,UACrB,QAAQ,KAAK,YAAY,QAAQ,OAAO,MAAM,CAAC;AAEjD,MAAa,cACX,iBACG,QAAQ,KAAK,YAAY,QAAQ,WAAW,aAAa,CAAC;AAE/D,MAAa,6BACX,iBACG,QAAQ,KAAK,YAAY,QAAQ,0BAA0B,aAAa,CAAC;AAE9E,MAAa,kBACX,QACA,YACG,QAAQ,KAAK,YAAY,QAAQ,eAAe,QAAQ,QAAQ,CAAC;AAEtE,MAAa,2BACX,QAAQ,KAAK,YAAY,QAAQ,oBAAoB,CAAC;AAExD,MAAa,oBAAoB,WAC/B,QAAQ,KAAK,YAAY,QAAQ,iBAAiB,OAAO,CAAC;AAE5D,MAAa,wBAAwB,YACnC,QAAQ,KAAK,YAAY,QAAQ,qBAAqB,QAAQ,CAAC;AAEjE,MAAa,0BAA0B,mBACrC,QAAQ,KAAK,YAAY,QAAQ,uBAAuB,eAAe,CAAC;AAE1E,MAAa,+BACX,oBAEA,QAAQ,KAAK,YACX,QAAQ,4BAA4B,gBAAgB,CACrD;AAEH,MAAa,eACX,QACA,YACG,QAAQ,KAAK,YAAY,QAAQ,YAAY,QAAQ,QAAQ,CAAC;AAOnE,MAAa,SAAS,YACpB,MAAM,OAAO,SAAS,KAAK,QAAQ,CAAC"}
@@ -0,0 +1,148 @@
1
+ import { OpcuaStatusInfo, ReadableVariableDef, ValueOfVariableDef } from "./OpcuaVariable.mjs";
2
+ import { OpcuaSubscriptionEvent } from "./internal/events/model.mjs";
3
+ import { OpcuaStructureRuntime } from "./internal/structures/runtime.mjs";
4
+ import { ValidateVariable } from "./internal/monitoring/runtime.mjs";
5
+ import { OpcuaDecodeError, OpcuaMonitorConfigurationError, OpcuaMonitorCreateError, OpcuaMonitorRuntimeError, OpcuaMonitorStartupError } from "./OpcuaError.mjs";
6
+ import { ClientSubscription } from "node-opcua";
7
+ import { Duration, Effect, PubSub, Scope, Stream } from "effect";
8
+
9
+ //#region src/OpcuaSubscription.d.ts
10
+ declare namespace OpcuaSubscription_d_exports {
11
+ export { ActiveMonitor, AnyVariableDefinition, BufferPolicy, EffectiveMonitorItemOptions, MonitorCreateOptions, MonitorDeadband, MonitorFilter, MonitorItemDictionary, MonitorItemOverride, MonitorOptions, MonitorSample, MonitorStarted, MonitorStartup, MonitorStartupFailure, MonitorStartupReport, MonitorTimestamps, MonitorValidation, MonitorValueForKey, OpcuaSubscription, RevisedMonitorItemOptions, makeSubscription };
12
+ }
13
+ type BufferPolicy = {
14
+ readonly _tag: "Sliding";
15
+ readonly capacity: number;
16
+ } | {
17
+ readonly _tag: "Dropping";
18
+ readonly capacity: number;
19
+ };
20
+ declare const BufferPolicy: {
21
+ sliding: (capacity: number) => BufferPolicy;
22
+ dropping: (capacity: number) => BufferPolicy;
23
+ latest: () => BufferPolicy;
24
+ };
25
+ type MonitorDeadband = {
26
+ readonly _tag: "None";
27
+ } | {
28
+ readonly _tag: "Absolute";
29
+ readonly value: number;
30
+ } | {
31
+ readonly _tag: "Percent";
32
+ readonly value: number;
33
+ };
34
+ declare const MonitorDeadband: {
35
+ none: () => MonitorDeadband;
36
+ absolute: (value: number) => MonitorDeadband;
37
+ percent: (value: number) => MonitorDeadband;
38
+ };
39
+ type MonitorFilter = {
40
+ readonly _tag: "None";
41
+ } | {
42
+ readonly _tag: "Status";
43
+ } | {
44
+ readonly _tag: "StatusValue";
45
+ readonly deadband: MonitorDeadband;
46
+ } | {
47
+ readonly _tag: "StatusValueTimestamp";
48
+ readonly deadband: MonitorDeadband;
49
+ };
50
+ declare const MonitorFilter: {
51
+ none: () => MonitorFilter;
52
+ status: () => MonitorFilter;
53
+ statusValue: (deadband?: MonitorDeadband) => MonitorFilter;
54
+ statusValueTimestamp: (deadband?: MonitorDeadband) => MonitorFilter;
55
+ };
56
+ type MonitorStartup = "strict" | "bestEffort";
57
+ type MonitorValidation = "none" | "access" | "strict";
58
+ type MonitorTimestamps = "none" | "source" | "server" | "both";
59
+ type MonitorCreateOptions = {
60
+ readonly maxItemsPerRequest?: number;
61
+ readonly maxConcurrentRequests?: number;
62
+ };
63
+ type MonitorItemOverride = Partial<{
64
+ readonly samplingInterval: Duration.Duration;
65
+ readonly queueSize: number;
66
+ readonly discardOldest: boolean;
67
+ readonly filter: MonitorFilter;
68
+ readonly timestamps: MonitorTimestamps;
69
+ }>;
70
+ type AnyVariableDefinition = ReadableVariableDef;
71
+ type MonitorItemDictionary = Record<string, AnyVariableDefinition>;
72
+ type MonitorOptions<Items = MonitorItemDictionary> = {
73
+ readonly startup: MonitorStartup;
74
+ readonly validation: MonitorValidation;
75
+ readonly samplingInterval: Duration.Duration;
76
+ readonly queueSize: number;
77
+ readonly discardOldest: boolean;
78
+ readonly filter: MonitorFilter;
79
+ readonly timestamps: MonitorTimestamps;
80
+ readonly clientBuffer: BufferPolicy;
81
+ readonly overrides?: { readonly [K in keyof Items]?: MonitorItemOverride };
82
+ readonly create?: MonitorCreateOptions;
83
+ };
84
+ type EffectiveMonitorItemOptions = {
85
+ readonly samplingInterval: number;
86
+ readonly queueSize: number;
87
+ readonly discardOldest: boolean;
88
+ readonly filter: MonitorFilter;
89
+ readonly timestamps: MonitorTimestamps;
90
+ };
91
+ type RevisedMonitorItemOptions = {
92
+ readonly samplingInterval?: number;
93
+ readonly queueSize?: number;
94
+ };
95
+ type MonitorStarted = {
96
+ readonly key: string;
97
+ readonly nodeId: string;
98
+ readonly requested: EffectiveMonitorItemOptions;
99
+ readonly revised?: RevisedMonitorItemOptions;
100
+ };
101
+ type MonitorStartupFailure = {
102
+ readonly key: string;
103
+ readonly nodeId: string;
104
+ readonly requested: EffectiveMonitorItemOptions;
105
+ readonly error: OpcuaMonitorStartupError;
106
+ };
107
+ type MonitorStartupReport<Items = MonitorItemDictionary> = {
108
+ readonly ok: boolean;
109
+ readonly requested: number;
110
+ readonly activeCount: number;
111
+ readonly failedCount: number;
112
+ readonly active: ReadonlyMap<keyof Items & string, MonitorStarted>;
113
+ readonly failed: ReadonlyMap<keyof Items & string, MonitorStartupFailure>;
114
+ };
115
+ type MonitorValueForKey<Items, Key$1 extends keyof Items & string> = Items[Key$1] extends ReadableVariableDef ? ValueOfVariableDef<Items[Key$1]> : never;
116
+ type MonitorNodeIdForKey<Items, Key$1 extends keyof Items & string> = Items[Key$1] extends {
117
+ readonly nodeId: infer Id extends string;
118
+ } ? Id : string;
119
+ type MonitorSampleBase<Items, Key$1 extends keyof Items & string> = {
120
+ readonly key: Key$1;
121
+ readonly nodeId: MonitorNodeIdForKey<Items, Key$1>;
122
+ readonly status: OpcuaStatusInfo;
123
+ readonly sourceTimestamp?: Date;
124
+ readonly serverTimestamp?: Date;
125
+ };
126
+ type MonitorSample<Items = MonitorItemDictionary> = { readonly [Key in keyof Items & string]: ({
127
+ readonly _tag: "Value";
128
+ readonly value: MonitorValueForKey<Items, Key>;
129
+ } & MonitorSampleBase<Items, Key>) | ({
130
+ readonly _tag: "Status";
131
+ } & MonitorSampleBase<Items, Key>) | ({
132
+ readonly _tag: "DecodeError";
133
+ readonly error: OpcuaDecodeError;
134
+ readonly rawValue: unknown;
135
+ } & MonitorSampleBase<Items, Key>) }[keyof Items & string];
136
+ type ActiveMonitor<Items = MonitorItemDictionary> = {
137
+ readonly startup: MonitorStartupReport<Items>;
138
+ readonly samples: Stream.Stream<MonitorSample<Items>, OpcuaMonitorRuntimeError>;
139
+ };
140
+ type OpcuaSubscription = {
141
+ readonly monitor: <const Items extends MonitorItemDictionary>(items: Items, options: MonitorOptions<Items>) => Effect.Effect<ActiveMonitor<Items>, OpcuaMonitorCreateError<Items> | OpcuaMonitorConfigurationError, Scope.Scope>;
142
+ readonly events: Stream.Stream<OpcuaSubscriptionEvent>;
143
+ readonly unsafeRaw: ClientSubscription;
144
+ };
145
+ declare const makeSubscription: (unsafeRaw: ClientSubscription, events: PubSub.PubSub<OpcuaSubscriptionEvent>, structureRuntime: OpcuaStructureRuntime, validateVariable: ValidateVariable) => OpcuaSubscription;
146
+ //#endregion
147
+ export { ActiveMonitor, AnyVariableDefinition, BufferPolicy, EffectiveMonitorItemOptions, MonitorCreateOptions, MonitorDeadband, MonitorFilter, MonitorItemDictionary, MonitorItemOverride, MonitorOptions, MonitorSample, MonitorStarted, MonitorStartup, MonitorStartupFailure, MonitorStartupReport, MonitorTimestamps, MonitorValidation, MonitorValueForKey, OpcuaSubscription, OpcuaSubscription_d_exports, RevisedMonitorItemOptions, makeSubscription };
148
+ //# sourceMappingURL=OpcuaSubscription.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpcuaSubscription.d.mts","names":[],"sources":["../src/OpcuaSubscription.ts"],"sourcesContent":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import { makeSubscriptionService } from "./internal/monitoring/runtime.mjs";
2
+
3
+ //#region src/OpcuaSubscription.ts
4
+ const BufferPolicy = {
5
+ sliding: (capacity) => ({
6
+ _tag: "Sliding",
7
+ capacity
8
+ }),
9
+ dropping: (capacity) => ({
10
+ _tag: "Dropping",
11
+ capacity
12
+ }),
13
+ latest: () => ({
14
+ _tag: "Sliding",
15
+ capacity: 1
16
+ })
17
+ };
18
+ const MonitorDeadband = {
19
+ none: () => ({ _tag: "None" }),
20
+ absolute: (value) => ({
21
+ _tag: "Absolute",
22
+ value
23
+ }),
24
+ percent: (value) => ({
25
+ _tag: "Percent",
26
+ value
27
+ })
28
+ };
29
+ const MonitorFilter = {
30
+ none: () => ({ _tag: "None" }),
31
+ status: () => ({ _tag: "Status" }),
32
+ statusValue: (deadband = MonitorDeadband.none()) => ({
33
+ _tag: "StatusValue",
34
+ deadband
35
+ }),
36
+ statusValueTimestamp: (deadband = MonitorDeadband.none()) => ({
37
+ _tag: "StatusValueTimestamp",
38
+ deadband
39
+ })
40
+ };
41
+ const makeSubscription = (unsafeRaw, events, structureRuntime, validateVariable) => makeSubscriptionService(unsafeRaw, events, structureRuntime, validateVariable);
42
+
43
+ //#endregion
44
+ export { BufferPolicy, MonitorDeadband, MonitorFilter, makeSubscription };
45
+ //# sourceMappingURL=OpcuaSubscription.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpcuaSubscription.mjs","names":[],"sources":["../src/OpcuaSubscription.ts"],"sourcesContent":["import type { ClientSubscription } from \"node-opcua\";\nimport type { Duration, Effect, PubSub, Scope, Stream } from \"effect\";\n\nimport type * as OpcuaError from \"./OpcuaError.js\";\nimport type * as OpcuaVariable from \"./OpcuaVariable.js\";\n\nimport type { OpcuaSubscriptionEvent } from \"./internal/events/model.js\";\nimport {\n makeSubscriptionService,\n type ValidateVariable,\n} from \"./internal/monitoring/runtime.js\";\nimport type { OpcuaStructureRuntime } from \"./internal/structures/runtime.js\";\nimport type { OpcuaStatusInfo } from \"./OpcuaVariable.js\";\n\nexport type BufferPolicy =\n | { readonly _tag: \"Sliding\"; readonly capacity: number }\n | { readonly _tag: \"Dropping\"; readonly capacity: number };\n\nexport const BufferPolicy = {\n sliding: (capacity: number): BufferPolicy => ({\n _tag: \"Sliding\",\n capacity,\n }),\n dropping: (capacity: number): BufferPolicy => ({\n _tag: \"Dropping\",\n capacity,\n }),\n latest: (): BufferPolicy => ({ _tag: \"Sliding\", capacity: 1 }),\n};\n\nexport type MonitorDeadband =\n | { readonly _tag: \"None\" }\n | { readonly _tag: \"Absolute\"; readonly value: number }\n | { readonly _tag: \"Percent\"; readonly value: number };\n\nexport const MonitorDeadband = {\n none: (): MonitorDeadband => ({ _tag: \"None\" }),\n absolute: (value: number): MonitorDeadband => ({\n _tag: \"Absolute\",\n value,\n }),\n percent: (value: number): MonitorDeadband => ({\n _tag: \"Percent\",\n value,\n }),\n};\n\nexport type MonitorFilter =\n | { readonly _tag: \"None\" }\n | { readonly _tag: \"Status\" }\n | {\n readonly _tag: \"StatusValue\";\n readonly deadband: MonitorDeadband;\n }\n | {\n readonly _tag: \"StatusValueTimestamp\";\n readonly deadband: MonitorDeadband;\n };\n\nexport const MonitorFilter = {\n none: (): MonitorFilter => ({ _tag: \"None\" }),\n status: (): MonitorFilter => ({ _tag: \"Status\" }),\n statusValue: (\n deadband: MonitorDeadband = MonitorDeadband.none(),\n ): MonitorFilter => ({\n _tag: \"StatusValue\",\n deadband,\n }),\n statusValueTimestamp: (\n deadband: MonitorDeadband = MonitorDeadband.none(),\n ): MonitorFilter => ({\n _tag: \"StatusValueTimestamp\",\n deadband,\n }),\n};\n\nexport type MonitorStartup = \"strict\" | \"bestEffort\";\nexport type MonitorValidation = \"none\" | \"access\" | \"strict\";\nexport type MonitorTimestamps = \"none\" | \"source\" | \"server\" | \"both\";\n\nexport type MonitorCreateOptions = {\n readonly maxItemsPerRequest?: number;\n readonly maxConcurrentRequests?: number;\n};\n\nexport type MonitorItemOverride = Partial<{\n readonly samplingInterval: Duration.Duration;\n readonly queueSize: number;\n readonly discardOldest: boolean;\n readonly filter: MonitorFilter;\n readonly timestamps: MonitorTimestamps;\n}>;\n\nexport type AnyVariableDefinition = OpcuaVariable.ReadableVariableDef;\nexport type MonitorItemDictionary = Record<string, AnyVariableDefinition>;\n\nexport type MonitorOptions<Items = MonitorItemDictionary> = {\n readonly startup: MonitorStartup;\n readonly validation: MonitorValidation;\n\n readonly samplingInterval: Duration.Duration;\n readonly queueSize: number;\n readonly discardOldest: boolean;\n readonly filter: MonitorFilter;\n readonly timestamps: MonitorTimestamps;\n\n readonly clientBuffer: BufferPolicy;\n\n readonly overrides?: {\n readonly [K in keyof Items]?: MonitorItemOverride;\n };\n\n readonly create?: MonitorCreateOptions;\n};\n\nexport type EffectiveMonitorItemOptions = {\n readonly samplingInterval: number;\n readonly queueSize: number;\n readonly discardOldest: boolean;\n readonly filter: MonitorFilter;\n readonly timestamps: MonitorTimestamps;\n};\n\nexport type RevisedMonitorItemOptions = {\n readonly samplingInterval?: number;\n readonly queueSize?: number;\n};\n\nexport type MonitorStarted = {\n readonly key: string;\n readonly nodeId: string;\n readonly requested: EffectiveMonitorItemOptions;\n readonly revised?: RevisedMonitorItemOptions;\n};\n\nexport type MonitorStartupFailure = {\n readonly key: string;\n readonly nodeId: string;\n readonly requested: EffectiveMonitorItemOptions;\n readonly error: OpcuaError.OpcuaMonitorStartupError;\n};\n\nexport type MonitorStartupReport<Items = MonitorItemDictionary> = {\n readonly ok: boolean;\n readonly requested: number;\n readonly activeCount: number;\n readonly failedCount: number;\n readonly active: ReadonlyMap<keyof Items & string, MonitorStarted>;\n readonly failed: ReadonlyMap<keyof Items & string, MonitorStartupFailure>;\n};\n\nexport type MonitorValueForKey<\n Items,\n Key extends keyof Items & string,\n> = Items[Key] extends OpcuaVariable.ReadableVariableDef\n ? OpcuaVariable.ValueOfVariableDef<Items[Key]>\n : never;\n\ntype MonitorNodeIdForKey<\n Items,\n Key extends keyof Items & string,\n> = Items[Key] extends { readonly nodeId: infer Id extends string }\n ? Id\n : string;\n\ntype MonitorSampleBase<Items, Key extends keyof Items & string> = {\n readonly key: Key;\n readonly nodeId: MonitorNodeIdForKey<Items, Key>;\n readonly status: OpcuaStatusInfo;\n readonly sourceTimestamp?: Date;\n readonly serverTimestamp?: Date;\n};\n\nexport type MonitorSample<Items = MonitorItemDictionary> = {\n readonly [Key in keyof Items & string]:\n | ({\n readonly _tag: \"Value\";\n readonly value: MonitorValueForKey<Items, Key>;\n } & MonitorSampleBase<Items, Key>)\n | ({\n readonly _tag: \"Status\";\n } & MonitorSampleBase<Items, Key>)\n | ({\n readonly _tag: \"DecodeError\";\n readonly error: OpcuaError.OpcuaDecodeError;\n readonly rawValue: unknown;\n } & MonitorSampleBase<Items, Key>);\n}[keyof Items & string];\n\nexport type ActiveMonitor<Items = MonitorItemDictionary> = {\n readonly startup: MonitorStartupReport<Items>;\n readonly samples: Stream.Stream<\n MonitorSample<Items>,\n OpcuaError.OpcuaMonitorRuntimeError\n >;\n};\n\nexport type OpcuaSubscription = {\n readonly monitor: <const Items extends MonitorItemDictionary>(\n items: Items,\n options: MonitorOptions<Items>,\n ) => Effect.Effect<\n ActiveMonitor<Items>,\n | OpcuaError.OpcuaMonitorCreateError<Items>\n | OpcuaError.OpcuaMonitorConfigurationError,\n Scope.Scope\n >;\n readonly events: Stream.Stream<OpcuaSubscriptionEvent>;\n readonly unsafeRaw: ClientSubscription;\n};\n\nexport const makeSubscription = (\n unsafeRaw: ClientSubscription,\n events: PubSub.PubSub<OpcuaSubscriptionEvent>,\n structureRuntime: OpcuaStructureRuntime,\n validateVariable: ValidateVariable,\n): OpcuaSubscription =>\n makeSubscriptionService(\n unsafeRaw,\n events,\n structureRuntime,\n validateVariable,\n );\n"],"mappings":";;;AAkBA,MAAa,eAAe;CAC1B,UAAU,cAAoC;EAC5C,MAAM;EACN;EACD;CACD,WAAW,cAAoC;EAC7C,MAAM;EACN;EACD;CACD,eAA6B;EAAE,MAAM;EAAW,UAAU;EAAG;CAC9D;AAOD,MAAa,kBAAkB;CAC7B,aAA8B,EAAE,MAAM,QAAQ;CAC9C,WAAW,WAAoC;EAC7C,MAAM;EACN;EACD;CACD,UAAU,WAAoC;EAC5C,MAAM;EACN;EACD;CACF;AAcD,MAAa,gBAAgB;CAC3B,aAA4B,EAAE,MAAM,QAAQ;CAC5C,eAA8B,EAAE,MAAM,UAAU;CAChD,cACE,WAA4B,gBAAgB,MAAM,MAC/B;EACnB,MAAM;EACN;EACD;CACD,uBACE,WAA4B,gBAAgB,MAAM,MAC/B;EACnB,MAAM;EACN;EACD;CACF;AAyID,MAAa,oBACX,WACA,QACA,kBACA,qBAEA,wBACE,WACA,QACA,kBACA,iBACD"}