@node-i3x/opcua-connector 0.2.4 → 0.3.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.
package/LICENSING.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Dual Licensing Guide
2
2
 
3
- > **i3x2ua-node** is dual-licensed under the **AGPL-3.0-or-later** and a
3
+ > **node-i3x** is dual-licensed under the **AGPL-3.0-or-later** and a
4
4
  > **Sterfive Commercial License**. This document explains what each
5
5
  > license allows and when you need which.
6
6
 
@@ -45,7 +45,7 @@ copyleft to **network use**. This is the key difference from the GPL:
45
45
 
46
46
  ### The Critical Implication
47
47
 
48
- > **If you use i3x2ua-node in a server that users interact with over
48
+ > **If you use node-i3x in a server that users interact with over
49
49
  > a network** (REST API, web app, cloud platform, IoT gateway),
50
50
  > you **must** make your **entire application's source code**
51
51
  > available to those users under the AGPL — even if you never
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  > OPC UA client adapter — implements `IDataSourcePort` using [node-opcua](https://github.com/node-opcua/node-opcua) for remote TCP/binary transport.
9
9
 
10
- This package is the **outbound adapter** in the [hexagonal architecture](https://en.wikipedia.org/wiki/Hexagonal_architecture_(software)) of **i3x2ua-node**. It connects to any OPC UA server over `opc.tcp://`, browses the address space, and exposes it through the `IDataSourcePort` interface defined in `@node-i3x/core`.
10
+ This package is the **outbound adapter** in the [hexagonal architecture](https://en.wikipedia.org/wiki/Hexagonal_architecture_(software)) of **node-i3x**. It connects to any OPC UA server over `opc.tcp://`, browses the address space, and exposes it through the `IDataSourcePort` interface defined in `@node-i3x/core`.
11
11
 
12
12
  ---
13
13
 
@@ -46,7 +46,7 @@ await dataSource.connect();
46
46
  |---|---|---|---|
47
47
  | `endpointUrl` | `string` | *(required)* | OPC UA server endpoint (`opc.tcp://…`) |
48
48
  | `securityMode` | `'None' \| 'Sign' \| 'SignAndEncrypt'` | `'None'` | Message security mode |
49
- | `applicationName` | `string` | `'i3x2ua-node'` | Application name sent to the server |
49
+ | `applicationName` | `string` | `'node-i3x'` | Application name sent to the server |
50
50
  | `optimizedClient` | `'auto' \| 'disabled'` | `'auto'` | Use `@sterfive/opcua-optimized-client` if installed |
51
51
  | `browseStrategy` | `'parallel' \| 'browseAll'` | `'parallel'` | BFS browse strategy (parallel is ~18× faster) |
52
52
 
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- var C=class{constructor(e,t){this.client=e;this._logger=t}client;_logger;async connect(){await this.client.connect()}async disconnect(){await this.client.disconnect()}isConnected(){return this.client.isConnected()}async browseTree(){return this.client.browseTree()}async getNamespaces(){return this.client.getNamespaces()}async getObjectTypes(){return this.client.getObjectTypes()}async readValue(e){return this.client.readValue(e)}async readValues(e){return this.client.readValues(e)}async writeValue(e,t){return this.client.writeValue(e,t)}async readHistory(e,t,n){return this.client.readHistory(e,t,n)}async createMonitoredSubscription(e){return this.client.createMonitoredSubscription(e)}};import{AttributeIds as b,BrowseDirection as k,browseAll as $,coerceNodeId as y,DataType as M,MessageSecurityMode as S,NodeClass as A,OPCUAClient as q,resolveNodeId as V,StatusCodes as H,TimestampsToReturn as z,Variant as R}from"node-opcua";import{NodeClass as p,StatusCodes as P}from"node-opcua";var j={[p.Object]:"Object",[p.Variable]:"Variable",[p.Method]:"Method",[p.ObjectType]:"ObjectType",[p.VariableType]:"VariableType",[p.ReferenceType]:"ReferenceType",[p.DataType]:"DataType",[p.View]:"View"};function _(o,e){if(!o?.name)return"";let t=o.namespaceIndex??0;return`nsu=${e[t]??`ns=${t}`}:${o.name}`}function x(o,e,t){let n=o.nodeClass??p.Unspecified,i=_(o.browseName,t),s="",r=i.match(/^nsu=(.+):([^:]+)$/);if(r)s=r[1];else{let l=o.browseName?.namespaceIndex??0;s=t[l]??""}return{sourceNodeId:o.nodeId.toString(),parentSourceNodeId:e,browseName:o.browseName?.toString()??"",nsuQualifiedName:i,displayName:o.displayName?.text??o.browseName?.toString()??"",nodeClass:j[n]??"Unknown",typeDefinition:o.typeDefinition?o.typeDefinition.toString():null,namespaceUri:s,eventNotifier:o.nodeClass===p.Object?(o.eventNotifier??0)!==0:!1}}function w(o){let e=o.statusCode?.equals(P.Good)??!1;return{value:o.value?.value??null,quality:e?"Good":"Bad",timestamp:o.sourceTimestamp?.toISOString()??o.serverTimestamp?.toISOString()??new Date().toISOString(),statusCode:o.statusCode?.value}}function T(o){return{value:o.value?.value??null,quality:o.statusCode?.equals(P.Good)?"Good":"Bad",timestamp:o.sourceTimestamp?.toISOString()??o.serverTimestamp?.toISOString()??new Date().toISOString()}}async function N(o,e){try{let{ClientSessionOptimized:t}=await import("@sterfive/opcua-optimized-client"),n=new t(o);return e.info("\u2713 @sterfive/opcua-optimized-client activated \u2014 auto-batching, limit-splitting, and coalescing enabled"),n}catch{return e.info("Standard node-opcua client mode. Install @sterfive/opcua-optimized-client for automatic batching and enhanced performance."),o}}var B={None:S.None,Sign:S.Sign,SignAndEncrypt:S.SignAndEncrypt},D=class{constructor(e,t){this.logger=t;this._opts={endpointUrl:e.endpointUrl,securityMode:e.securityMode??"None",applicationName:e.applicationName??"i3x2ua-node",optimizedClient:e.optimizedClient??"auto",browseStrategy:e.browseStrategy??"parallel"}}logger;_client=null;_session=null;_namespaceArray=[];_opts;async connect(){let e=B[this._opts.securityMode]??S.None;this._client=q.create({applicationName:this._opts.applicationName,securityMode:e,connectionStrategy:{initialDelay:1e3,maxDelay:3e4,maxRetry:1/0},keepSessionAlive:!0,endpointMustExist:!1}),this._client.on("backoff",(i,s)=>{this.logger.warn(`Connection backoff #${i}, retrying in ${s}ms`)}),this._client.on("connection_reestablished",()=>{this.logger.info("OPC UA connection re-established")}),this.logger.info(`Connecting to ${this._opts.endpointUrl}...`),await this._client.connect(this._opts.endpointUrl);let t=await this._client.createSession();this._opts.optimizedClient!=="disabled"&&(t=await N(t,this.logger)),this._session=t;let n=await t.read({nodeId:y("i=2255"),attributeId:b.Value});this._namespaceArray=n.value?.value??[],this.logger.info("OPC UA session created")}async disconnect(){if(this._session){try{await this._session.close()}catch{}this._session=null}if(this._client){try{await this._client.disconnect()}catch{}this._client=null}this.logger.info("OPC UA disconnected")}isConnected(){return this._session!==null&&!this._session.isReconnecting}get session(){if(!this._session)throw new Error("OPC UA session not connected");return this._session}_makeBrowseDescriptions(e){return e.map(t=>({nodeId:y(t),browseDirection:k.Forward,includeSubtypes:!0,referenceTypeId:V("HierarchicalReferences"),resultMask:63,requestedMaxReferencesPerNode:0}))}async _browseSingleNode(e){let t=this._makeBrowseDescriptions([e])[0],n=await this.session.browse(t),i=[...n.references??[]],s=1,r=n.continuationPoint;for(;r;){let l=await this.session.browseNext(r,!1);s++,i.push(...l.references??[]),r=l.continuationPoint}return{refs:i,txCount:s}}async _bfsBrowse(e,t,n){let i=performance.now(),s=[],r=new Set,l=0,d=[{nodeId:e,parentId:null}],m=this._opts.browseStrategy!=="browseAll";for(;d.length>0;){let a=d.filter(c=>!r.has(c.nodeId));for(let c of a)r.add(c.nodeId);if(a.length===0)break;let u;if(m)u=await Promise.all(a.map(c=>this._browseSingleNode(c.nodeId)));else{let c=this._makeBrowseDescriptions(a.map(g=>g.nodeId)),f=await $(this.session,c);l+=1,u=f.map(g=>({refs:g.references??[],txCount:0}))}let h=[];for(let c=0;c<a.length;c++){let f=a[c],{refs:g,txCount:U}=u[c];l+=U;for(let I of g){let O=I.nodeId.toString();if(r.has(O))continue;let v=t(I,f.nodeId);v!==null&&s.push(v),(!n||n(I))&&h.push({nodeId:O,parentId:f.nodeId})}}d=h}return{items:s,txCount:l,ms:performance.now()-i}}async browseTree(){let e=V("ObjectsFolder").toString(),{items:t,txCount:n,ms:i}=await this._bfsBrowse(e,(r,l)=>x(r,l===e?null:l,this._namespaceArray),r=>r.nodeClass===A.Object||r.nodeClass===A.Variable),s=this._opts.browseStrategy!=="browseAll"?"parallel":"browseAll";return this.logger.info(`Browse tree: ${t.length} nodes in ${i.toFixed(0)}ms (strategy=${s}, transactions=${n})`),t}async getObjectTypes(){let{items:e,txCount:t,ms:n}=await this._bfsBrowse(V("ObjectTypesFolder").toString(),(s,r)=>{let l=s.browseName?.namespaceIndex??0,d=this._namespaceArray[l]??"";return{sourceNodeId:s.nodeId.toString(),parentSourceNodeId:r,browseName:s.browseName?.toString()??"",displayName:s.displayName?.text??"",namespaceUri:d}},()=>!0),i=this._opts.browseStrategy!=="browseAll"?"parallel":"browseAll";return this.logger.info(`Browse object types: ${e.length} types in ${n.toFixed(0)}ms (strategy=${i}, transactions=${t})`),e}async getNamespaces(){return this._namespaceArray.map((e,t)=>({uri:e,displayName:e.split("/").pop()??`ns${t}`}))}async readValue(e){let t=await this.session.read({nodeId:y(e),attributeId:b.Value});return w(t)}async readValues(e){if(e.length===0)return[];let t=e.map(s=>({nodeId:y(s),attributeId:b.Value})),n=await this.session.read(t);return(Array.isArray(n)?n:[n]).map(w)}async writeValue(e,t){let n={nodeId:y(e),attributeId:b.Value,value:{value:new R({dataType:M.Null,value:t})}},i=await this.session.write(n),s=Array.isArray(i)?i[0]:i;if(s&&!s.equals(H.Good))throw new Error(`Write failed: ${s.toString()}`)}async readHistory(e,t,n){let s=await this.session.readHistoryValue(y(e),t,n);return(s.historyData?s.historyData?.dataValues??[]:[]).map(T)}async callMethod(e,t,n){let i={objectId:y(e),methodId:y(t),inputArguments:n.map(r=>new R({dataType:M.Null,value:r}))};return(await this.session.call(i)).outputArguments??null}async createMonitoredSubscription(e){let t=await this.session.createSubscription2({requestedPublishingInterval:e.publishingIntervalMs,requestedLifetimeCount:100,requestedMaxKeepAliveCount:10,maxNotificationsPerPublish:0,publishingEnabled:!0,priority:10}),n=null,i=new Map,s=`opcua-sub-${Date.now()}`,r=this.logger;return r.info(`OPC UA CreateSubscription id=${s} publishingInterval=${e.publishingIntervalMs}ms`),{id:s,async addItems(d){let m=d.filter(u=>!i.has(u));if(m.length===0)return;let a=await Promise.all(m.map(u=>t.monitor({nodeId:y(u),attributeId:b.Value},{samplingInterval:e.publishingIntervalMs,discardOldest:!0,queueSize:10},z.Both)));for(let u=0;u<m.length;u++){let h=m[u],c=a[u];c.on("changed",f=>{if(n){let g=w(f);n(h,g.value,g.quality,g.timestamp)}}),i.set(h,c)}r.info(`OPC UA CreateMonitoredItems: ${m.length} items added (total=${i.size})`)},async removeItems(d){let m=d.map(a=>({id:a,item:i.get(a)})).filter(a=>a.item!=null);await Promise.all(m.map(({id:a,item:u})=>(i.delete(a),u.terminate().catch(()=>{}))))},onDataChange(d){n=d},async close(){try{await t.terminate()}catch{}i.clear()}}}};export{D as OpcUaClient,C as OpcUaDataSourceAdapter,_ as qualifiedNameToNsu,N as wrapSessionIfOptimized};
1
+ var C=class{constructor(e,t){this.client=e;this._logger=t}client;_logger;async connect(){await this.client.connect()}async disconnect(){await this.client.disconnect()}isConnected(){return this.client.isConnected()}async browseTree(){return this.client.browseTree()}async getNamespaces(){return this.client.getNamespaces()}async getObjectTypes(){return this.client.getObjectTypes()}async readValue(e){return this.client.readValue(e)}async readValues(e){return this.client.readValues(e)}async writeValue(e,t){return this.client.writeValue(e,t)}async readHistory(e,t,n){return this.client.readHistory(e,t,n)}async createMonitoredSubscription(e){return this.client.createMonitoredSubscription(e)}};import{AttributeIds as b,BrowseDirection as k,browseAll as $,coerceNodeId as y,DataType as M,MessageSecurityMode as S,NodeClass as A,OPCUAClient as q,resolveNodeId as V,StatusCodes as H,TimestampsToReturn as z,Variant as R}from"node-opcua";import{NodeClass as p,StatusCodes as P}from"node-opcua";var j={[p.Object]:"Object",[p.Variable]:"Variable",[p.Method]:"Method",[p.ObjectType]:"ObjectType",[p.VariableType]:"VariableType",[p.ReferenceType]:"ReferenceType",[p.DataType]:"DataType",[p.View]:"View"};function _(o,e){if(!o?.name)return"";let t=o.namespaceIndex??0;return`nsu=${e[t]??`ns=${t}`}:${o.name}`}function x(o,e,t){let n=o.nodeClass??p.Unspecified,i=_(o.browseName,t),s="",r=i.match(/^nsu=(.+):([^:]+)$/);if(r)s=r[1];else{let l=o.browseName?.namespaceIndex??0;s=t[l]??""}return{sourceNodeId:o.nodeId.toString(),parentSourceNodeId:e,browseName:o.browseName?.toString()??"",nsuQualifiedName:i,displayName:o.displayName?.text??o.browseName?.toString()??"",nodeClass:j[n]??"Unknown",typeDefinition:o.typeDefinition?o.typeDefinition.toString():null,namespaceUri:s,eventNotifier:o.nodeClass===p.Object?(o.eventNotifier??0)!==0:!1}}function w(o){let e=o.statusCode?.equals(P.Good)??!1;return{value:o.value?.value??null,quality:e?"Good":"Bad",timestamp:o.sourceTimestamp?.toISOString()??o.serverTimestamp?.toISOString()??new Date().toISOString(),statusCode:o.statusCode?.value}}function T(o){return{value:o.value?.value??null,quality:o.statusCode?.equals(P.Good)?"Good":"Bad",timestamp:o.sourceTimestamp?.toISOString()??o.serverTimestamp?.toISOString()??new Date().toISOString()}}async function N(o,e){try{let{ClientSessionOptimized:t}=await import("@sterfive/opcua-optimized-client"),n=new t(o);return e.info("\u2713 @sterfive/opcua-optimized-client activated \u2014 auto-batching, limit-splitting, and coalescing enabled"),n}catch{return e.info("Standard node-opcua client mode. Install @sterfive/opcua-optimized-client for automatic batching and enhanced performance."),o}}var B={None:S.None,Sign:S.Sign,SignAndEncrypt:S.SignAndEncrypt},D=class{constructor(e,t){this.logger=t;this._opts={endpointUrl:e.endpointUrl,securityMode:e.securityMode??"None",applicationName:e.applicationName??"node-i3x",optimizedClient:e.optimizedClient??"auto",browseStrategy:e.browseStrategy??"parallel"}}logger;_client=null;_session=null;_namespaceArray=[];_opts;async connect(){let e=B[this._opts.securityMode]??S.None;this._client=q.create({applicationName:this._opts.applicationName,securityMode:e,connectionStrategy:{initialDelay:1e3,maxDelay:3e4,maxRetry:1/0},keepSessionAlive:!0,endpointMustExist:!1}),this._client.on("backoff",(i,s)=>{this.logger.warn(`Connection backoff #${i}, retrying in ${s}ms`)}),this._client.on("connection_reestablished",()=>{this.logger.info("OPC UA connection re-established")}),this.logger.info(`Connecting to ${this._opts.endpointUrl}...`),await this._client.connect(this._opts.endpointUrl);let t=await this._client.createSession();this._opts.optimizedClient!=="disabled"&&(t=await N(t,this.logger)),this._session=t;let n=await t.read({nodeId:y("i=2255"),attributeId:b.Value});this._namespaceArray=n.value?.value??[],this.logger.info("OPC UA session created")}async disconnect(){if(this._session){try{await this._session.close()}catch{}this._session=null}if(this._client){try{await this._client.disconnect()}catch{}this._client=null}this.logger.info("OPC UA disconnected")}isConnected(){return this._session!==null&&!this._session.isReconnecting}get session(){if(!this._session)throw new Error("OPC UA session not connected");return this._session}_makeBrowseDescriptions(e){return e.map(t=>({nodeId:y(t),browseDirection:k.Forward,includeSubtypes:!0,referenceTypeId:V("HierarchicalReferences"),resultMask:63,requestedMaxReferencesPerNode:0}))}async _browseSingleNode(e){let t=this._makeBrowseDescriptions([e])[0],n=await this.session.browse(t),i=[...n.references??[]],s=1,r=n.continuationPoint;for(;r;){let l=await this.session.browseNext(r,!1);s++,i.push(...l.references??[]),r=l.continuationPoint}return{refs:i,txCount:s}}async _bfsBrowse(e,t,n){let i=performance.now(),s=[],r=new Set,l=0,d=[{nodeId:e,parentId:null}],m=this._opts.browseStrategy!=="browseAll";for(;d.length>0;){let a=d.filter(c=>!r.has(c.nodeId));for(let c of a)r.add(c.nodeId);if(a.length===0)break;let u;if(m)u=await Promise.all(a.map(c=>this._browseSingleNode(c.nodeId)));else{let c=this._makeBrowseDescriptions(a.map(g=>g.nodeId)),f=await $(this.session,c);l+=1,u=f.map(g=>({refs:g.references??[],txCount:0}))}let h=[];for(let c=0;c<a.length;c++){let f=a[c],{refs:g,txCount:U}=u[c];l+=U;for(let I of g){let O=I.nodeId.toString();if(r.has(O))continue;let v=t(I,f.nodeId);v!==null&&s.push(v),(!n||n(I))&&h.push({nodeId:O,parentId:f.nodeId})}}d=h}return{items:s,txCount:l,ms:performance.now()-i}}async browseTree(){let e=V("ObjectsFolder").toString(),{items:t,txCount:n,ms:i}=await this._bfsBrowse(e,(r,l)=>x(r,l===e?null:l,this._namespaceArray),r=>r.nodeClass===A.Object||r.nodeClass===A.Variable),s=this._opts.browseStrategy!=="browseAll"?"parallel":"browseAll";return this.logger.info(`Browse tree: ${t.length} nodes in ${i.toFixed(0)}ms (strategy=${s}, transactions=${n})`),t}async getObjectTypes(){let{items:e,txCount:t,ms:n}=await this._bfsBrowse(V("ObjectTypesFolder").toString(),(s,r)=>{let l=s.browseName?.namespaceIndex??0,d=this._namespaceArray[l]??"";return{sourceNodeId:s.nodeId.toString(),parentSourceNodeId:r,browseName:s.browseName?.toString()??"",displayName:s.displayName?.text??"",namespaceUri:d}},()=>!0),i=this._opts.browseStrategy!=="browseAll"?"parallel":"browseAll";return this.logger.info(`Browse object types: ${e.length} types in ${n.toFixed(0)}ms (strategy=${i}, transactions=${t})`),e}async getNamespaces(){return this._namespaceArray.map((e,t)=>({uri:e,displayName:e.split("/").pop()??`ns${t}`}))}async readValue(e){let t=await this.session.read({nodeId:y(e),attributeId:b.Value});return w(t)}async readValues(e){if(e.length===0)return[];let t=e.map(s=>({nodeId:y(s),attributeId:b.Value})),n=await this.session.read(t);return(Array.isArray(n)?n:[n]).map(w)}async writeValue(e,t){let n={nodeId:y(e),attributeId:b.Value,value:{value:new R({dataType:M.Null,value:t})}},i=await this.session.write(n),s=Array.isArray(i)?i[0]:i;if(s&&!s.equals(H.Good))throw new Error(`Write failed: ${s.toString()}`)}async readHistory(e,t,n){let s=await this.session.readHistoryValue(y(e),t,n);return(s.historyData?s.historyData?.dataValues??[]:[]).map(T)}async callMethod(e,t,n){let i={objectId:y(e),methodId:y(t),inputArguments:n.map(r=>new R({dataType:M.Null,value:r}))};return(await this.session.call(i)).outputArguments??null}async createMonitoredSubscription(e){let t=await this.session.createSubscription2({requestedPublishingInterval:e.publishingIntervalMs,requestedLifetimeCount:100,requestedMaxKeepAliveCount:10,maxNotificationsPerPublish:0,publishingEnabled:!0,priority:10}),n=null,i=new Map,s=`opcua-sub-${Date.now()}`,r=this.logger;return r.info(`OPC UA CreateSubscription id=${s} publishingInterval=${e.publishingIntervalMs}ms`),{id:s,async addItems(d){let m=d.filter(u=>!i.has(u));if(m.length===0)return;let a=await Promise.all(m.map(u=>t.monitor({nodeId:y(u),attributeId:b.Value},{samplingInterval:e.publishingIntervalMs,discardOldest:!0,queueSize:10},z.Both)));for(let u=0;u<m.length;u++){let h=m[u],c=a[u];c.on("changed",f=>{if(n){let g=w(f);n(h,g.value,g.quality,g.timestamp)}}),i.set(h,c)}r.info(`OPC UA CreateMonitoredItems: ${m.length} items added (total=${i.size})`)},async removeItems(d){let m=d.map(a=>({id:a,item:i.get(a)})).filter(a=>a.item!=null);await Promise.all(m.map(({id:a,item:u})=>(i.delete(a),u.terminate().catch(()=>{}))))},onDataChange(d){n=d},async close(){try{await t.terminate()}catch{}i.clear()}}}};export{D as OpcUaClient,C as OpcUaDataSourceAdapter,_ as qualifiedNameToNsu,N as wrapSessionIfOptimized};
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/opcua-adapter.ts","../src/opcua-client.ts","../src/opcua-mapper.ts","../src/optimized.ts"],"mappings":"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","names":["OpcUaDataSourceAdapter","client","_logger","sourceNodeId","sourceNodeIds","value","startTime","endTime","options","AttributeIds","BrowseDirection","browseAll","coerceNodeId","DataType","MessageSecurityMode","NodeClass","OPCUAClient","resolveNodeId","StatusCodes","TimestampsToReturn","Variant","NodeClass","StatusCodes","NODE_CLASS_NAMES","qualifiedNameToNsu","browseName","namespaceArray","nsIdx","refToSourceNode","ref","parentSourceNodeId","nodeClass","nsuQName","namespaceUri","nsuMatch","dataValueToSource","dv","isGood","dataValueToHistorical","wrapSessionIfOptimized","session","logger","ClientSessionOptimized","optimized","SECURITY_MODES","MessageSecurityMode","OpcUaClient","opts","logger","securityMode","OPCUAClient","count","delay","session","wrapSessionIfOptimized","nsArrayDv","coerceNodeId","AttributeIds","nodeIds","nodeId","BrowseDirection","resolveNodeId","desc","result","refs","txCount","cp","next","seedNodeId","onRef","shouldRecurse","started","output","visited","totalTx","frontier","useParallel","wave","f","item","waveResults","w","descriptions","browseResults","browseAll","r","nextFrontier","i","ref","childId","mapped","objectsFolderId","items","ms","parentNodeId","refToSourceNode","NodeClass","strategy","nsIdx","nsUri","uri","idx","dv","dataValueToSource","id","dvs","value","writeValue","Variant","DataType","code","StatusCodes","startTime","endTime","resultAny","dataValueToHistorical","objectNodeId","methodNodeId","args","request","a","options","sub","dataChangeCb","monitored","subId","sourceNodeIds","newIds","TimestampsToReturn","toRemove","e","cb"]}
1
+ {"version":3,"sources":["../src/opcua-adapter.ts","../src/opcua-client.ts","../src/opcua-mapper.ts","../src/optimized.ts"],"mappings":"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","names":["OpcUaDataSourceAdapter","client","_logger","sourceNodeId","sourceNodeIds","value","startTime","endTime","options","AttributeIds","BrowseDirection","browseAll","coerceNodeId","DataType","MessageSecurityMode","NodeClass","OPCUAClient","resolveNodeId","StatusCodes","TimestampsToReturn","Variant","NodeClass","StatusCodes","NODE_CLASS_NAMES","qualifiedNameToNsu","browseName","namespaceArray","nsIdx","refToSourceNode","ref","parentSourceNodeId","nodeClass","nsuQName","namespaceUri","nsuMatch","dataValueToSource","dv","isGood","dataValueToHistorical","wrapSessionIfOptimized","session","logger","ClientSessionOptimized","optimized","SECURITY_MODES","MessageSecurityMode","OpcUaClient","opts","logger","securityMode","OPCUAClient","count","delay","session","wrapSessionIfOptimized","nsArrayDv","coerceNodeId","AttributeIds","nodeIds","nodeId","BrowseDirection","resolveNodeId","desc","result","refs","txCount","cp","next","seedNodeId","onRef","shouldRecurse","started","output","visited","totalTx","frontier","useParallel","wave","f","item","waveResults","w","descriptions","browseResults","browseAll","r","nextFrontier","i","ref","childId","mapped","objectsFolderId","items","ms","parentNodeId","refToSourceNode","NodeClass","strategy","nsIdx","nsUri","uri","idx","dv","dataValueToSource","id","dvs","value","writeValue","Variant","DataType","code","StatusCodes","startTime","endTime","resultAny","dataValueToHistorical","objectNodeId","methodNodeId","args","request","a","options","sub","dataChangeCb","monitored","subId","sourceNodeIds","newIds","TimestampsToReturn","toRemove","e","cb"]}
package/package.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@node-i3x/opcua-connector",
3
- "version": "0.2.4",
3
+ "version": "0.3.1",
4
4
  "description": "i3X OPC UA adapter — implements IDataSourcePort using node-opcua",
5
5
  "license": "AGPL-3.0-or-later OR LicenseRef-Sterfive-Commercial",
6
6
  "author": "Sterfive SAS <contact@sterfive.com> (https://sterfive.com)",
7
7
  "homepage": "https://sterfive.com",
8
8
  "repository": {
9
9
  "type": "git",
10
- "url": "git+https://github.com/node-opcua/i3x2ua-node.git",
10
+ "url": "git+https://github.com/node-opcua/node-i3x.git",
11
11
  "directory": "packages/opcua-connector"
12
12
  },
13
13
  "bugs": {
14
- "url": "https://github.com/node-opcua/i3x2ua-node/issues",
14
+ "url": "https://github.com/node-opcua/node-i3x/issues",
15
15
  "email": "contact@sterfive.com"
16
16
  },
17
17
  "funding": {
@@ -57,7 +57,7 @@
57
57
  "typecheck": "tsc --noEmit"
58
58
  },
59
59
  "dependencies": {
60
- "@node-i3x/core": "0.2.4",
60
+ "@node-i3x/core": "0.3.1",
61
61
  "node-opcua": "^2.173.1",
62
62
  "node-opcua-client": "^2.173.1"
63
63
  },