@node-i3x/opcua-connector 0.3.2 → 0.3.3

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.d.ts CHANGED
@@ -70,6 +70,13 @@ declare class OpcUaClient {
70
70
  readValue(nodeId: string): Promise<SourceDataValue>;
71
71
  readValues(nodeIds: string[]): Promise<SourceDataValue[]>;
72
72
  writeValue(nodeId: string, value: unknown): Promise<void>;
73
+ /**
74
+ * Coerce a JSON value to the expected OPC UA DataType.
75
+ * Handles the common built-in types (1..25).
76
+ */
77
+ private _coerceToDataType;
78
+ /** Fallback: infer DataType from JS value when server type is unknown. */
79
+ private _inferDataType;
73
80
  readHistory(nodeId: string, startTime: Date, endTime: Date): Promise<SourceHistoricalValue[]>;
74
81
  callMethod(objectNodeId: string, methodNodeId: string, args: unknown[]): Promise<unknown>;
75
82
  createMonitoredSubscription(options: MonitoredSubscriptionOptions): Promise<IMonitoredSubscription>;
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- var T=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 I,BrowseDirection as U,browseAll as k,coerceNodeId as g,DataType as h,MessageSecurityMode as D,NodeClass as m,OPCUAClient as z,resolveNodeId as O,StatusCodes as B,TimestampsToReturn as F,UserTokenType as E,Variant as $}from"node-opcua";import{NodeClass as f,StatusCodes as x}from"node-opcua";var H={[f.Object]:"Object",[f.Variable]:"Variable",[f.Method]:"Method",[f.ObjectType]:"ObjectType",[f.VariableType]:"VariableType",[f.ReferenceType]:"ReferenceType",[f.DataType]:"DataType",[f.View]:"View"};function R(a,e){if(!a?.name)return"";let t=a.namespaceIndex??0;return`nsu=${e[t]??`ns=${t}`}:${a.name}`}function A(a,e,t){let n=a.nodeClass??f.Unspecified,r=R(a.browseName,t),i="",s=r.match(/^nsu=(.+):([^:]+)$/);if(s)i=s[1];else{let l=a.browseName?.namespaceIndex??0;i=t[l]??""}return{sourceNodeId:a.nodeId.toString(),parentSourceNodeId:e,browseName:a.browseName?.toString()??"",nsuQualifiedName:r,displayName:a.displayName?.text??a.browseName?.toString()??"",nodeClass:H[n]??"Unknown",typeDefinition:a.typeDefinition?a.typeDefinition.toString():null,namespaceUri:i,eventNotifier:a.nodeClass===f.Object?(a.eventNotifier??0)!==0:!1}}function V(a){let e=a.statusCode?.equals(x.Good)??!1;return{value:a.value?.value??null,quality:e?"Good":"Bad",timestamp:a.sourceTimestamp?.toISOString()??a.serverTimestamp?.toISOString()??new Date().toISOString(),statusCode:a.statusCode?.value}}function j(a){return{value:a.value?.value??null,quality:a.statusCode?.equals(x.Good)?"Good":"Bad",timestamp:a.sourceTimestamp?.toISOString()??a.serverTimestamp?.toISOString()??new Date().toISOString()}}async function _(a,e){try{let{ClientSessionOptimized:t}=await import("@sterfive/opcua-optimized-client"),n=new t(a);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."),a}}var L={None:D.None,Sign:D.Sign,SignAndEncrypt:D.SignAndEncrypt},v=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",browseFilter:e.browseFilter??"application-only",username:e.username,password:e.password}}logger;_client=null;_session=null;_namespaceArray=[];_opts;async connect(){let e=L[this._opts.securityMode]??D.None;this._client=z.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=this._opts.username&&this._opts.password?{type:E.UserName,userName:this._opts.username,password:this._opts.password}:void 0,n=await this._client.createSession(t);this._opts.optimizedClient!=="disabled"&&(n=await _(n,this.logger)),this._session=n;let r=await n.read({nodeId:g("i=2255"),attributeId:I.Value});this._namespaceArray=r.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:g(t),browseDirection:U.Forward,includeSubtypes:!0,referenceTypeId:O("HierarchicalReferences"),resultMask:63,requestedMaxReferencesPerNode:0}))}async _browseSingleNode(e){let t=this._makeBrowseDescriptions([e])[0],n=await this.session.browse(t),r=[...n.references??[]],i=1,s=n.continuationPoint;for(;s;){let l=await this.session.browseNext(s,!1);i++,r.push(...l.references??[]),s=l.continuationPoint}return{refs:r,txCount:i}}async _bfsBrowse(e,t,n){let r=performance.now(),i=[],s=new Set,l=0,o=[{nodeId:e,parentId:null}],c=this._opts.browseStrategy!=="browseAll",u=new Set;for(;o.length>0;){let d=o.filter(p=>!s.has(p.nodeId));for(let p of d)s.add(p.nodeId);if(d.length===0)break;let y;if(c)y=await Promise.all(d.map(p=>this._browseSingleNode(p.nodeId)));else{let p=this._makeBrowseDescriptions(d.map(C=>C.nodeId)),S=await k(this.session,p);l+=1,y=S.map(C=>({refs:C.references??[],txCount:0}))}let b=[],N=new Set;for(let p=0;p<d.length;p++){let S=d[p],{refs:C,txCount:q}=y[p];l+=q;for(let M of C){let w=M.nodeId.toString();if(!s.has(w)){if(!u.has(w)){u.add(w);let P=t(M,S.nodeId);P!==null&&i.push(P)}(!n||n(M,S.nodeId))&&(N.has(w)||(N.add(w),b.push({nodeId:w,parentId:S.nodeId})))}}}o=b}return{items:i,txCount:l,ms:performance.now()-r}}async browseTree(){let e=O("ObjectsFolder").toString(),t=this._opts.browseFilter??"application-only",{items:n,txCount:r,ms:i}=await this._bfsBrowse(e,(l,o)=>A(l,o===e?null:o,this._namespaceArray),(l,o)=>{if(l.nodeClass!==m.Object&&l.nodeClass!==m.Variable)return!1;if(o===e){if(t==="all")return!0;if(t==="application-only")return(l.browseName?.namespaceIndex??0)!==0;let c=l.nodeId.toString(),u=l.browseName?.name??"";return t.some(d=>d===c||d===u)}return!0}),s=this._opts.browseStrategy!=="browseAll"?"parallel":"browseAll";return this.logger.info(`Browse tree: ${n.length} nodes in ${i.toFixed(0)}ms (strategy=${s}, transactions=${r})`),n}async getObjectTypes(){let{items:e,txCount:t,ms:n}=await this._bfsBrowse(O("ObjectTypesFolder").toString(),(s,l)=>{let o=s.browseName?.namespaceIndex??0,c=this._namespaceArray[o]??"";return{sourceNodeId:s.nodeId.toString(),parentSourceNodeId:l,browseName:s.browseName?.toString()??"",displayName:s.displayName?.text??"",namespaceUri:c}},()=>!0),r=this._opts.browseStrategy!=="browseAll"?"parallel":"browseAll";this.logger.info(`Browse object types: ${e.length} types in ${n.toFixed(0)}ms (strategy=${r}, transactions=${t})`);let i=[];for(let s of e)if(s.sourceNodeId.startsWith("ns=0;"))i.push(s);else{let l=await this._browseTypeMembers(s.sourceNodeId);i.push({...s,members:l})}return i}async _browseTypeMembers(e){let{refs:t}=await this._browseSingleNode(e),n=[],r=[];for(let o of t)o.nodeClass!==m.Variable&&o.nodeClass!==m.Object&&o.nodeClass!==m.Method||o.nodeClass===m.Variable&&r.push(o);let i=new Map;if(r.length>0){let o=r.map(c=>({nodeId:c.nodeId,attributeId:I.DataType}));try{let c=await this.session.read(o),u=Array.isArray(c)?c:[c];for(let d=0;d<r.length;d++){let y=r[d].nodeId.toString(),b=u[d]?.value?.value;i.set(y,b?b.toString():null)}}catch{}}let s=new Map,l=t.filter(o=>o.nodeClass===m.Variable||o.nodeClass===m.Object||o.nodeClass===m.Method);if(l.length>0){let o=l.map(c=>({nodeId:c.nodeId,browseDirection:U.Forward,includeSubtypes:!0,referenceTypeId:O("HasModellingRule"),resultMask:63,requestedMaxReferencesPerNode:0}));try{let c=await k(this.session,o);for(let u=0;u<l.length;u++){let d=l[u].nodeId.toString(),y=c[u]?.references?.[0];s.set(d,y?.displayName?.text??null)}}catch{}}for(let o of l){let c=o.nodeId.toString();n.push({browseName:o.browseName?.name??o.browseName?.toString()??"",displayName:o.displayName?.text??"",nodeClass:o.nodeClass===m.Variable?"Variable":o.nodeClass===m.Object?"Object":"Method",dataType:i.get(c)??null,modellingRule:s.get(c)??null})}return n}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:g(e),attributeId:I.Value});return V(t)}async readValues(e){if(e.length===0)return[];let t=e.map(i=>({nodeId:g(i),attributeId:I.Value})),n=await this.session.read(t);return(Array.isArray(n)?n:[n]).map(V)}async writeValue(e,t){let n=h.Null;typeof t=="number"?n=Number.isInteger(t)?h.Double:h.Double:typeof t=="boolean"?n=h.Boolean:typeof t=="string"&&(n=h.String);let r={nodeId:g(e),attributeId:I.Value,value:{value:new $({dataType:n,value:n===h.Double?Number(t):t})}},i=await this.session.write(r),s=Array.isArray(i)?i[0]:i;if(s&&!s.equals(B.Good))throw new Error(`Write failed: ${s.toString()}`)}async readHistory(e,t,n){let i=await this.session.readHistoryValue(g(e),t,n);return(i.historyData?i.historyData?.dataValues??[]:[]).map(j)}async callMethod(e,t,n){let r={objectId:g(e),methodId:g(t),inputArguments:n.map(s=>new $({dataType:h.Null,value:s}))};return(await this.session.call(r)).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,r=new Map,i=`opcua-sub-${Date.now()}`,s=this.logger;return s.info(`OPC UA CreateSubscription id=${i} publishingInterval=${e.publishingIntervalMs}ms`),{id:i,async addItems(o){let c=o.filter(d=>!r.has(d));if(c.length===0)return;let u=await Promise.all(c.map(d=>t.monitor({nodeId:g(d),attributeId:I.Value},{samplingInterval:e.publishingIntervalMs,discardOldest:!0,queueSize:10},F.Both)));for(let d=0;d<c.length;d++){let y=c[d],b=u[d];b.on("changed",N=>{if(n){let p=V(N);n(y,p.value,p.quality,p.timestamp)}}),r.set(y,b)}s.info(`OPC UA CreateMonitoredItems: ${c.length} items added (total=${r.size})`)},async removeItems(o){let c=o.map(u=>({id:u,item:r.get(u)})).filter(u=>u.item!=null);await Promise.all(c.map(({id:u,item:d})=>(r.delete(u),d.terminate().catch(()=>{}))))},onDataChange(o){n=o},async close(){try{await t.terminate()}catch{}r.clear()}}}};export{v as OpcUaClient,T as OpcUaDataSourceAdapter,R as qualifiedNameToNsu,_ as wrapSessionIfOptimized};
1
+ var M=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,s){return this.client.readHistory(e,t,s)}async createMonitoredSubscription(e){return this.client.createMonitoredSubscription(e)}};import{AttributeIds as w,BrowseDirection as v,browseAll as U,coerceNodeId as h,DataType as d,MessageSecurityMode as V,NodeClass as g,OPCUAClient as H,resolveNodeId as T,StatusCodes as z,TimestampsToReturn as F,UserTokenType as E,Variant as k}from"node-opcua";import{NodeClass as b,StatusCodes as A}from"node-opcua";var q={[b.Object]:"Object",[b.Variable]:"Variable",[b.Method]:"Method",[b.ObjectType]:"ObjectType",[b.VariableType]:"VariableType",[b.ReferenceType]:"ReferenceType",[b.DataType]:"DataType",[b.View]:"View"};function R(c,e){if(!c?.name)return"";let t=c.namespaceIndex??0;return`nsu=${e[t]??`ns=${t}`}:${c.name}`}function $(c,e,t){let s=c.nodeClass??b.Unspecified,r=R(c.browseName,t),a="",o=r.match(/^nsu=(.+):([^:]+)$/);if(o)a=o[1];else{let u=c.browseName?.namespaceIndex??0;a=t[u]??""}return{sourceNodeId:c.nodeId.toString(),parentSourceNodeId:e,browseName:c.browseName?.toString()??"",nsuQualifiedName:r,displayName:c.displayName?.text??c.browseName?.toString()??"",nodeClass:q[s]??"Unknown",typeDefinition:c.typeDefinition?c.typeDefinition.toString():null,namespaceUri:a,eventNotifier:c.nodeClass===b.Object?(c.eventNotifier??0)!==0:!1}}function D(c){let e=c.statusCode?.equals(A.Good)??!1;return{value:c.value?.value??null,quality:e?"Good":"Bad",timestamp:c.sourceTimestamp?.toISOString()??c.serverTimestamp?.toISOString()??new Date().toISOString(),statusCode:c.statusCode?.value}}function j(c){return{value:c.value?.value??null,quality:c.statusCode?.equals(A.Good)?"Good":"Bad",timestamp:c.sourceTimestamp?.toISOString()??c.serverTimestamp?.toISOString()??new Date().toISOString()}}async function _(c,e){try{let{ClientSessionOptimized:t}=await import("@sterfive/opcua-optimized-client"),s=new t(c);return e.info("\u2713 @sterfive/opcua-optimized-client activated \u2014 auto-batching, limit-splitting, and coalescing enabled"),s}catch{return e.info("Standard node-opcua client mode. Install @sterfive/opcua-optimized-client for automatic batching and enhanced performance."),c}}var L={None:V.None,Sign:V.Sign,SignAndEncrypt:V.SignAndEncrypt},P=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",browseFilter:e.browseFilter??"application-only",username:e.username,password:e.password}}logger;_client=null;_session=null;_namespaceArray=[];_opts;async connect(){let e=L[this._opts.securityMode]??V.None;this._client=H.create({applicationName:this._opts.applicationName,securityMode:e,connectionStrategy:{initialDelay:1e3,maxDelay:3e4,maxRetry:1/0},keepSessionAlive:!0,endpointMustExist:!1}),this._client.on("backoff",(a,o)=>{this.logger.warn(`Connection backoff #${a}, retrying in ${o}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=this._opts.username&&this._opts.password?{type:E.UserName,userName:this._opts.username,password:this._opts.password}:void 0,s=await this._client.createSession(t);this._opts.optimizedClient!=="disabled"&&(s=await _(s,this.logger)),this._session=s;let r=await s.read({nodeId:h("i=2255"),attributeId:w.Value});this._namespaceArray=r.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:h(t),browseDirection:v.Forward,includeSubtypes:!0,referenceTypeId:T("HierarchicalReferences"),resultMask:63,requestedMaxReferencesPerNode:0}))}async _browseSingleNode(e){let t=this._makeBrowseDescriptions([e])[0],s=await this.session.browse(t),r=[...s.references??[]],a=1,o=s.continuationPoint;for(;o;){let u=await this.session.browseNext(o,!1);a++,r.push(...u.references??[]),o=u.continuationPoint}return{refs:r,txCount:a}}async _bfsBrowse(e,t,s){let r=performance.now(),a=[],o=new Set,u=0,n=[{nodeId:e,parentId:null}],i=this._opts.browseStrategy!=="browseAll",p=new Set;for(;n.length>0;){let l=n.filter(f=>!o.has(f.nodeId));for(let f of l)o.add(f.nodeId);if(l.length===0)break;let y;if(i)y=await Promise.all(l.map(f=>this._browseSingleNode(f.nodeId)));else{let f=this._makeBrowseDescriptions(l.map(C=>C.nodeId)),N=await U(this.session,f);u+=1,y=N.map(C=>({refs:C.references??[],txCount:0}))}let m=[],I=new Set;for(let f=0;f<l.length;f++){let N=l[f],{refs:C,txCount:B}=y[f];u+=B;for(let O of C){let S=O.nodeId.toString();if(!o.has(S)){if(!p.has(S)){p.add(S);let x=t(O,N.nodeId);x!==null&&a.push(x)}(!s||s(O,N.nodeId))&&(I.has(S)||(I.add(S),m.push({nodeId:S,parentId:N.nodeId})))}}}n=m}return{items:a,txCount:u,ms:performance.now()-r}}async browseTree(){let e=T("ObjectsFolder").toString(),t=this._opts.browseFilter??"application-only",{items:s,txCount:r,ms:a}=await this._bfsBrowse(e,(u,n)=>$(u,n===e?null:n,this._namespaceArray),(u,n)=>{if(u.nodeClass!==g.Object&&u.nodeClass!==g.Variable)return!1;if(n===e){if(t==="all")return!0;if(t==="application-only")return(u.browseName?.namespaceIndex??0)!==0;let i=u.nodeId.toString(),p=u.browseName?.name??"";return t.some(l=>l===i||l===p)}return!0}),o=this._opts.browseStrategy!=="browseAll"?"parallel":"browseAll";return this.logger.info(`Browse tree: ${s.length} nodes in ${a.toFixed(0)}ms (strategy=${o}, transactions=${r})`),s}async getObjectTypes(){let{items:e,txCount:t,ms:s}=await this._bfsBrowse(T("ObjectTypesFolder").toString(),(o,u)=>{let n=o.browseName?.namespaceIndex??0,i=this._namespaceArray[n]??"";return{sourceNodeId:o.nodeId.toString(),parentSourceNodeId:u,browseName:o.browseName?.toString()??"",displayName:o.displayName?.text??"",namespaceUri:i}},()=>!0),r=this._opts.browseStrategy!=="browseAll"?"parallel":"browseAll";this.logger.info(`Browse object types: ${e.length} types in ${s.toFixed(0)}ms (strategy=${r}, transactions=${t})`);let a=[];for(let o of e)if(o.sourceNodeId.startsWith("ns=0;"))a.push(o);else{let u=await this._browseTypeMembers(o.sourceNodeId);a.push({...o,members:u})}return a}async _browseTypeMembers(e){let{refs:t}=await this._browseSingleNode(e),s=[],r=[];for(let n of t)n.nodeClass!==g.Variable&&n.nodeClass!==g.Object&&n.nodeClass!==g.Method||n.nodeClass===g.Variable&&r.push(n);let a=new Map;if(r.length>0){let n=r.map(i=>({nodeId:i.nodeId,attributeId:w.DataType}));try{let i=await this.session.read(n),p=Array.isArray(i)?i:[i];for(let l=0;l<r.length;l++){let y=r[l].nodeId.toString(),m=p[l]?.value?.value;a.set(y,m?m.toString():null)}}catch{}}let o=new Map,u=t.filter(n=>n.nodeClass===g.Variable||n.nodeClass===g.Object||n.nodeClass===g.Method);if(u.length>0){let n=u.map(i=>({nodeId:i.nodeId,browseDirection:v.Forward,includeSubtypes:!0,referenceTypeId:T("HasModellingRule"),resultMask:63,requestedMaxReferencesPerNode:0}));try{let i=await U(this.session,n);for(let p=0;p<u.length;p++){let l=u[p].nodeId.toString(),y=i[p]?.references?.[0];o.set(l,y?.displayName?.text??null)}}catch{}}for(let n of u){let i=n.nodeId.toString();s.push({browseName:n.browseName?.name??n.browseName?.toString()??"",displayName:n.displayName?.text??"",nodeClass:n.nodeClass===g.Variable?"Variable":n.nodeClass===g.Object?"Object":"Method",dataType:a.get(i)??null,modellingRule:o.get(i)??null})}return s}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:h(e),attributeId:w.Value});return D(t)}async readValues(e){if(e.length===0)return[];let t=e.map(a=>({nodeId:h(a),attributeId:w.Value})),s=await this.session.read(t);return(Array.isArray(s)?s:[s]).map(D)}async writeValue(e,t){let s=h(e),r=await this.session.read([{nodeId:s,attributeId:w.DataType},{nodeId:s,attributeId:w.Value}]),a=Array.isArray(r)?r:[r],o=a[0]?.value?.value,u=a[1],n=d.Null;if(o){let m=typeof o=="object"?o.value??0:Number(o);m>=1&&m<=25?n=m:u?.value?.value!==void 0&&(n=u.value.dataType??d.Null)}let i=t;try{i=this._coerceToDataType(t,n)}catch(m){let I=`Write coercion failed for ${e}: targetDataType=${d[n]}(${n}) jsType=${typeof t} jsValue=${JSON.stringify(t)} error=${m}`;throw this.logger.warn(I),new Error(I)}let p={nodeId:s,attributeId:w.Value,value:{value:new k({dataType:n!==d.Null?n:this._inferDataType(i),value:i})}};this.logger.debug(`writeValue: nodeId=${e} targetDataType=${d[n]} jsType=${typeof t} \u2192 coerced=${JSON.stringify(i)}`);let l=await this.session.write(p),y=Array.isArray(l)?l[0]:l;if(y&&!y.equals(z.Good)){let m=`Write failed: ${y.toString()} | nodeId=${e} targetDataType=${d[n]}(${n}) inputValue=${JSON.stringify(t)} (${typeof t}) coercedValue=${JSON.stringify(i)} (${typeof i})`;throw this.logger.warn(m),new Error(m)}}_coerceToDataType(e,t){switch(t){case d.Boolean:return typeof e=="boolean"?e:typeof e=="number"?e!==0:typeof e=="string"?e.toLowerCase()==="true"||e==="1":!!e;case d.SByte:case d.Byte:case d.Int16:case d.UInt16:case d.Int32:case d.UInt32:return Math.trunc(Number(e));case d.Int64:case d.UInt64:return Array.isArray(e)?e:[0,Math.trunc(Number(e))];case d.Float:case d.Double:return Number(e);case d.String:return String(e);case d.DateTime:return e instanceof Date?e:typeof e=="string"||typeof e=="number"?new Date(e):e;case d.ByteString:return Buffer.isBuffer(e)?e:typeof e=="string"?Buffer.from(e,"base64"):e;case d.Null:default:return e}}_inferDataType(e){return typeof e=="number"?d.Double:typeof e=="boolean"?d.Boolean:typeof e=="string"?d.String:e instanceof Date?d.DateTime:d.Null}async readHistory(e,t,s){let a=await this.session.readHistoryValue(h(e),t,s);return(a.historyData?a.historyData?.dataValues??[]:[]).map(j)}async callMethod(e,t,s){let r={objectId:h(e),methodId:h(t),inputArguments:s.map(o=>new k({dataType:d.Null,value:o}))};return(await this.session.call(r)).outputArguments??null}async createMonitoredSubscription(e){let t=await this.session.createSubscription2({requestedPublishingInterval:e.publishingIntervalMs,requestedLifetimeCount:100,requestedMaxKeepAliveCount:10,maxNotificationsPerPublish:0,publishingEnabled:!0,priority:10}),s=null,r=new Map,a=`opcua-sub-${Date.now()}`,o=this.logger;return o.info(`OPC UA CreateSubscription id=${a} publishingInterval=${e.publishingIntervalMs}ms`),{id:a,async addItems(n){let i=n.filter(l=>!r.has(l));if(i.length===0)return;let p=await Promise.all(i.map(l=>t.monitor({nodeId:h(l),attributeId:w.Value},{samplingInterval:e.publishingIntervalMs,discardOldest:!0,queueSize:10},F.Both)));for(let l=0;l<i.length;l++){let y=i[l],m=p[l];m.on("changed",I=>{if(s){let f=D(I);s(y,f.value,f.quality,f.timestamp)}}),r.set(y,m)}o.info(`OPC UA CreateMonitoredItems: ${i.length} items added (total=${r.size})`)},async removeItems(n){let i=n.map(p=>({id:p,item:r.get(p)})).filter(p=>p.item!=null);await Promise.all(i.map(({id:p,item:l})=>(r.delete(p),l.terminate().catch(()=>{}))))},onDataChange(n){s=n},async close(){try{await t.terminate()}catch{}r.clear()}}}};export{P as OpcUaClient,M as OpcUaDataSourceAdapter,R as qualifiedNameToNsu,_ 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","UserTokenType","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","userIdentity","UserTokenType","session","wrapSessionIfOptimized","nsArrayDv","coerceNodeId","AttributeIds","nodeIds","nodeId","BrowseDirection","resolveNodeId","desc","result","refs","txCount","cp","next","seedNodeId","onRef","shouldRecurse","started","output","visited","totalTx","frontier","useParallel","mapped","wave","f","item","waveResults","w","descriptions","browseResults","browseAll","r","nextFrontier","queued","i","ref","childId","m","objectsFolderId","filter","items","ms","parentNodeId","refToSourceNode","NodeClass","name","strategy","nsIdx","nsUri","enriched","type","members","typeNodeId","variableRefs","dataTypeMap","readItems","dvs","arr","dtValue","modellingRuleMap","memberRefs","mrDescriptions","mrResults","mrRef","uri","idx","dv","dataValueToSource","id","value","dataType","DataType","writeValue","Variant","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","UserTokenType","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","userIdentity","UserTokenType","session","wrapSessionIfOptimized","nsArrayDv","coerceNodeId","AttributeIds","nodeIds","nodeId","BrowseDirection","resolveNodeId","desc","result","refs","txCount","cp","next","seedNodeId","onRef","shouldRecurse","started","output","visited","totalTx","frontier","useParallel","mapped","wave","item","waveResults","w","descriptions","browseResults","browseAll","r","nextFrontier","queued","i","ref","childId","m","objectsFolderId","filter","items","ms","parentNodeId","refToSourceNode","NodeClass","name","f","strategy","nsIdx","nsUri","enriched","type","members","typeNodeId","variableRefs","dataTypeMap","readItems","dvs","arr","dtValue","modellingRuleMap","memberRefs","mrDescriptions","mrResults","mrRef","uri","idx","dv","dataValueToSource","id","value","nid","readResults","dvArr","dataTypeNodeId","currentDataValue","targetDataType","DataType","dtNum","coercedValue","coerceErr","msg","writeVal","Variant","code","StatusCodes","errMsg","dt","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,6 +1,6 @@
1
1
  {
2
2
  "name": "@node-i3x/opcua-connector",
3
- "version": "0.3.2",
3
+ "version": "0.3.3",
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)",
@@ -57,7 +57,7 @@
57
57
  "typecheck": "tsc --noEmit"
58
58
  },
59
59
  "dependencies": {
60
- "@node-i3x/core": "0.3.2",
60
+ "@node-i3x/core": "0.3.3",
61
61
  "node-opcua": "^2.173.1",
62
62
  "node-opcua-client": "^2.173.1"
63
63
  },