@node-i3x/demo-embedded 0.5.4 → 0.7.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/dist/client.js CHANGED
@@ -1,20 +1,20 @@
1
1
  #!/usr/bin/env node
2
- import{parseArgs as q}from"util";var{values:j}=q({options:{url:{type:"string",default:process.env.I3X_URL??"http://127.0.0.1:8080"}}}),A=j.url,b=A,c="\x1B",n={clear:`${c}[2J${c}[H`,home:`${c}[H`,hideCursor:`${c}[?25l`,showCursor:`${c}[?25h`,bold:`${c}[1m`,dim:`${c}[2m`,reset:`${c}[0m`,white:`${c}[97m`,gray:`${c}[90m`,cyan:`${c}[96m`,green:`${c}[92m`,red:`${c}[91m`,yellow:`${c}[93m`,blue:`${c}[94m`,magenta:`${c}[95m`,bgDark:`${c}[48;5;236m`,bgCard:`${c}[48;5;238m`,bgHeader:`${c}[48;5;24m`};async function h(e){let t=await fetch(`${b}${e}`);if(!t.ok)throw new Error(`GET ${e} \u2192 ${t.status}`);return t.json()}async function p(e,t){let s=await fetch(`${b}${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!s.ok)throw new Error(`POST ${e} \u2192 ${s.status}`);return s.json()}var C=new Map,l=[],m="",f=0,S=0,N=0,P="",g="",w=44;function k(e){return`\u250C${"\u2500".repeat(e-2)}\u2510`}function L(e){return`\u251C${"\u2500".repeat(e-2)}\u2524`}function O(e){return`\u2514${"\u2500".repeat(e-2)}\u2518`}function I(e,t){let s=e.replace(/\x1b\[[0-9;]*m/g,""),r=Math.max(0,t-4-s.length);return`\u2502 ${e}${" ".repeat(r)} \u2502`}async function E(){process.stdout.write(n.clear),process.stdout.write(n.hideCursor),process.stdout.write(`
2
+ import{parseArgs as q}from"util";var{values:j}=q({options:{url:{type:"string",default:process.env.NODE_I3X_URL??"http://127.0.0.1:8080"}}}),A=j.url,b=A,c="\x1B",n={clear:`${c}[2J${c}[H`,home:`${c}[H`,hideCursor:`${c}[?25l`,showCursor:`${c}[?25h`,bold:`${c}[1m`,dim:`${c}[2m`,reset:`${c}[0m`,white:`${c}[97m`,gray:`${c}[90m`,cyan:`${c}[96m`,green:`${c}[92m`,red:`${c}[91m`,yellow:`${c}[93m`,blue:`${c}[94m`,magenta:`${c}[95m`,bgDark:`${c}[48;5;236m`,bgCard:`${c}[48;5;238m`,bgHeader:`${c}[48;5;24m`};async function h(e){let t=await fetch(`${b}${e}`);if(!t.ok)throw new Error(`GET ${e} \u2192 ${t.status}`);return t.json()}async function p(e,t){let s=await fetch(`${b}${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!s.ok)throw new Error(`POST ${e} \u2192 ${s.status}`);return s.json()}var C=new Map,l=[],m="",f=0,R=0,S=0,P="",g="",w=44;function E(e){return`\u250C${"\u2500".repeat(e-2)}\u2510`}function O(e){return`\u251C${"\u2500".repeat(e-2)}\u2524`}function k(e){return`\u2514${"\u2500".repeat(e-2)}\u2518`}function I(e,t){let s=e.replace(/\x1b\[[0-9;]*m/g,""),r=Math.max(0,t-4-s.length);return`\u2502 ${e}${" ".repeat(r)} \u2502`}async function L(){process.stdout.write(n.clear),process.stdout.write(n.hideCursor),process.stdout.write(`
3
3
  ${n.cyan}${n.bold}\u{1F4E1} Discovering i3X model...${n.reset}
4
4
 
5
5
  `),P=(await h("/v1/info")).result.serverName;let t=await h("/v1/objects?root=true"),s=["Locations","Server","Aliases"],r=t.result.filter(o=>!s.includes(o.displayName));process.stdout.write(` Found ${r.length} user-defined root(s)
6
6
  `);let i=[];for(let o of r)await T(o,i);for(let o of l)process.stdout.write(` \u{1F4E6} ${o.name} (${o.properties.length} props)
7
- `);return i}async function T(e,t){if(C.set(e.elementId,e.displayName),!e.isComposition)return;t.push(e.elementId);let s=await p("/v1/objects/related",{elementIds:[e.elementId]});if(!s.results[0]?.success)return;let r=s.results[0]?.result.filter(a=>a.sourceRelationship==="HasComponent"),i=r.filter(a=>a.object.isComposition),o=r.filter(a=>!a.object.isComposition);if(o.length>0){let a=D(e.displayName),d={id:e.elementId,name:e.displayName,icon:a,properties:o.map(u=>(C.set(u.object.elementId,u.object.displayName),{id:u.object.elementId,name:u.object.displayName,value:"\u2014",quality:"Unknown",timestamp:"",changed:!1}))};l.push(d)}for(let a of i)await T(a.object,t)}function D(e){let t=e.toLowerCase();return t.includes("pump")?"\u{1F4A7}":t.includes("heater")?"\u{1F525}":t.includes("conveyor")?"\u{1F3ED}":t.includes("factory")?"\u{1F3D7}\uFE0F":"\u{1F4E6}"}async function F(){let e=l.map(s=>s.id);if(e.length===0)return;let t=await p("/v1/objects/value",{elementIds:e,maxDepth:3});for(let s of t.results){if(!s.success||!s.result.isComposition||!s.result.components)continue;let r=l.find(i=>i.id===s.elementId);if(r)for(let i of r.properties){let o=s.result.components[i.id];o&&(i.value=o.value,i.quality=o.quality,i.timestamp=o.timestamp)}}}async function V(){let e=l.map(s=>s.id);if(e.length===0)return;m=(await p("/v1/subscriptions",{clientId:"dashboard-client",displayName:"Dashboard Monitor"})).result.subscriptionId,await p("/v1/subscriptions/register",{subscriptionId:m,elementIds:e,maxDepth:3})}async function M(){try{let t=(await p("/v1/subscriptions/sync",{subscriptionId:m,acknowledgeSequence:f})).result;if(!t||t.length===0)return;N+=t.length,S++;for(let s of l)for(let r of s.properties)r.changed=!1;for(let s of t){if(s.sequenceNumber>f&&(f=s.sequenceNumber),!s.value?.isComposition||!s.value?.components)continue;let r=l.find(i=>i.id===s.elementId);if(r)for(let[i,o]of Object.entries(s.value.components)){let a=r.properties.find(d=>d.id===i);a&&(a.value=o.value,a.quality=o.quality,a.timestamp=o.timestamp,a.changed=!0)}}g=""}catch(e){g=String(e)}}function v(){let e=[],t=n.reset,s=new Date().toLocaleTimeString();e.push(""),e.push(` ${n.bgHeader}${n.white}${n.bold} \u{1F4E1} i3X Dashboard \u2014 ${P} ${t} ${n.dim}${s}${t}`),e.push("");let r=[];r.push(`${n.green}\u25CF Connected${t}`),r.push(`${n.dim}Updates: ${S}${t}`),r.push(`${n.dim}Changes: ${N}${t}`),r.push(`${n.dim}Seq: ${f}${t}`),e.push(` ${r.join(" \u2502 ")}`),e.push("");for(let i=0;i<l.length;i+=2){let o=x(l[i]),a=i+1<l.length?x(l[i+1]):null,d=Math.max(o.length,a?.length??0);for(let u=0;u<d;u++){let y=o[u]??" ".repeat(w),$=a?a[u]??" ".repeat(w):"";e.push(` ${y} ${$}`)}e.push("")}g&&e.push(` ${n.red}\u26A0 ${g}${t}`),e.push(` ${n.dim}Press Ctrl+C to stop${t}`),e.push(""),process.stdout.write(n.home+e.join(`
8
- `))}function x(e){let t=[],s=n.reset,r=w;t.push(`${n.dim}${k(r)}${s}`);let i=`${e.icon} ${n.bold}${n.cyan}${e.name}${s}`;t.push(`${n.dim}${I(i,r)}${s}`),t.push(`${n.dim}${L(r)}${s}`);for(let o of e.properties){let a=U(o.name),{text:d,color:u}=B(o.value,o.name),$=`${o.changed?n.yellow:n.dim}${a.padEnd(18)}${s} ${u}${d}${s}`;t.push(`${n.dim}${I($,r)}${s}`)}return t.push(`${n.dim}${O(r)}${s}`),t}function U(e){return e.replace(" (\xB0C)"," \xB0C").replace(" (bar)"," bar").replace(" (L/min)"," L/min").replace(" (m/s)"," m/s").replace(" (%)"," %")}function B(e,t){if(typeof e=="boolean")return t.toLowerCase().includes("heater")?e?{text:"\u{1F525} ON",color:n.red}:{text:" OFF",color:n.gray}:e?{text:"\u25CF ON",color:n.green}:{text:"\u25CB OFF",color:n.gray};if(typeof e=="number"){let s=t.toLowerCase(),r=n.white;return s.includes("temperature")||s.includes("temp")?e>180?r=n.red:e>100?r=n.yellow:r=n.green:s.includes("pressure")?e>5.5?r=n.red:e>4.5?r=n.yellow:r=n.green:s.includes("power")&&(e>80?r=n.red:e>0?r=n.yellow:r=n.gray),{text:Number.isInteger(e)?e.toLocaleString():e.toFixed(2),color:r}}return{text:String(e??"\u2014"),color:n.white}}async function H(){try{await h("/health")}catch{console.error(`
9
- \u274C Cannot reach i3X server at ${b}`),console.error(` Start the demo first:
7
+ `);return i}async function T(e,t){if(C.set(e.elementId,e.displayName),!e.isComposition)return;t.push(e.elementId);let s=await p("/v1/objects/related",{elementIds:[e.elementId]});if(!s.results[0]?.success)return;let r=s.results[0]?.result.filter(a=>a.sourceRelationship==="HasComponent"),i=r.filter(a=>a.object.isComposition),o=r.filter(a=>!a.object.isComposition);if(o.length>0){let a=D(e.displayName),d={id:e.elementId,name:e.displayName,icon:a,properties:o.map(u=>(C.set(u.object.elementId,u.object.displayName),{id:u.object.elementId,name:u.object.displayName,value:"\u2014",quality:"Unknown",timestamp:"",changed:!1}))};l.push(d)}for(let a of i)await T(a.object,t)}function D(e){let t=e.toLowerCase();return t.includes("pump")?"\u{1F4A7}":t.includes("heater")?"\u{1F525}":t.includes("conveyor")?"\u{1F3ED}":t.includes("factory")?"\u{1F3D7}\uFE0F":"\u{1F4E6}"}async function F(){let e=l.map(s=>s.id);if(e.length===0)return;let t=await p("/v1/objects/value",{elementIds:e,maxDepth:3});for(let s of t.results){if(!s.success||!s.result.isComposition||!s.result.components)continue;let r=l.find(i=>i.id===s.elementId);if(r)for(let i of r.properties){let o=s.result.components[i.id];o&&(i.value=o.value,i.quality=o.quality,i.timestamp=o.timestamp)}}}async function V(){let e=l.map(s=>s.id);if(e.length===0)return;m=(await p("/v1/subscriptions",{clientId:"dashboard-client",displayName:"Dashboard Monitor"})).result.subscriptionId,await p("/v1/subscriptions/register",{subscriptionId:m,elementIds:e,maxDepth:3})}async function M(){try{let t=(await p("/v1/subscriptions/sync",{subscriptionId:m,lastSequenceNumber:f})).result;if(!t||t.length===0)return;S+=t.length,R++;for(let s of l)for(let r of s.properties)r.changed=!1;for(let s of t){if(s.sequenceNumber>f&&(f=s.sequenceNumber),!s.value?.isComposition||!s.value?.components)continue;let r=l.find(i=>i.id===s.elementId);if(r)for(let[i,o]of Object.entries(s.value.components)){let a=r.properties.find(d=>d.id===i);a&&(a.value=o.value,a.quality=o.quality,a.timestamp=o.timestamp,a.changed=!0)}}g=""}catch(e){g=String(e)}}function v(){let e=[],t=n.reset,s=new Date().toLocaleTimeString();e.push(""),e.push(` ${n.bgHeader}${n.white}${n.bold} \u{1F4E1} i3X Dashboard \u2014 ${P} ${t} ${n.dim}${s}${t}`),e.push("");let r=[];r.push(`${n.green}\u25CF Connected${t}`),r.push(`${n.dim}Updates: ${R}${t}`),r.push(`${n.dim}Changes: ${S}${t}`),r.push(`${n.dim}Seq: ${f}${t}`),e.push(` ${r.join(" \u2502 ")}`),e.push("");for(let i=0;i<l.length;i+=2){let o=x(l[i]),a=i+1<l.length?x(l[i+1]):null,d=Math.max(o.length,a?.length??0);for(let u=0;u<d;u++){let y=o[u]??" ".repeat(w),$=a?a[u]??" ".repeat(w):"";e.push(` ${y} ${$}`)}e.push("")}g&&e.push(` ${n.red}\u26A0 ${g}${t}`),e.push(` ${n.dim}Press Ctrl+C to stop${t}`),e.push(""),process.stdout.write(n.home+e.join(`
8
+ `))}function x(e){let t=[],s=n.reset,r=w;t.push(`${n.dim}${E(r)}${s}`);let i=`${e.icon} ${n.bold}${n.cyan}${e.name}${s}`;t.push(`${n.dim}${I(i,r)}${s}`),t.push(`${n.dim}${O(r)}${s}`);for(let o of e.properties){let a=U(o.name),{text:d,color:u}=B(o.value,o.name),$=`${o.changed?n.yellow:n.dim}${a.padEnd(18)}${s} ${u}${d}${s}`;t.push(`${n.dim}${I($,r)}${s}`)}return t.push(`${n.dim}${k(r)}${s}`),t}function U(e){return e.replace(" (\xB0C)"," \xB0C").replace(" (bar)"," bar").replace(" (L/min)"," L/min").replace(" (m/s)"," m/s").replace(" (%)"," %")}function B(e,t){if(typeof e=="boolean")return t.toLowerCase().includes("heater")?e?{text:"\u{1F525} ON",color:n.red}:{text:" OFF",color:n.gray}:e?{text:"\u25CF ON",color:n.green}:{text:"\u25CB OFF",color:n.gray};if(typeof e=="number"){let s=t.toLowerCase(),r=n.white;return s.includes("temperature")||s.includes("temp")?e>180?r=n.red:e>100?r=n.yellow:r=n.green:s.includes("pressure")?e>5.5?r=n.red:e>4.5?r=n.yellow:r=n.green:s.includes("power")&&(e>80?r=n.red:e>0?r=n.yellow:r=n.gray),{text:Number.isInteger(e)?e.toLocaleString():e.toFixed(2),color:r}}return{text:String(e??"\u2014"),color:n.white}}async function H(){try{await h("/health")}catch(r){console.error(`
9
+ \u274C Cannot reach i3X server at ${b}: ${r.message}`),console.error(` Start the demo first:
10
10
  npm run demo -w packages/demo-embedded
11
- `),process.exit(1)}let e=await E();process.stdout.write(`
11
+ `),process.exit(1)}let e=await L();process.stdout.write(`
12
12
  Reading initial values...
13
13
  `),await F(),process.stdout.write(` Creating subscription...
14
14
  `),await V(),process.stdout.write(` \u2705 Monitoring ${l.length} assets
15
15
 
16
- `),await R(1e3),process.stdout.write(n.clear),process.stdout.write(n.hideCursor);let t=async()=>{if(process.stdout.write(n.showCursor),process.stdout.write(`
16
+ `),await N(1e3),process.stdout.write(n.clear),process.stdout.write(n.hideCursor);let t=async()=>{if(process.stdout.write(n.showCursor),process.stdout.write(`
17
17
 
18
- `),m)try{await p("/v1/subscriptions/delete",{subscriptionIds:[m]})}catch{}console.log(` Subscription cleaned up. Bye!
19
- `),process.exit(0)};process.on("SIGINT",()=>{t()}),process.on("SIGTERM",()=>{t()}),v();let s=0;for(;s<600;)await R(2e3),s++,await M(),v();await t()}function R(e){return new Promise(t=>setTimeout(t,e))}H().catch(e=>{process.stdout.write(n.showCursor),console.error("Fatal:",e),process.exit(1)});
18
+ `),m)try{await p("/v1/subscriptions/delete",{subscriptionIds:[m]})}catch(r){console.error(`best-effort subscription delete failed: ${r.message}`)}console.log(` Subscription cleaned up. Bye!
19
+ `),process.exit(0)};process.on("SIGINT",()=>{t()}),process.on("SIGTERM",()=>{t()}),v();let s=0;for(;s<600;)await N(2e3),s++,await M(),v();await t()}function N(e){return new Promise(t=>setTimeout(t,e))}H().catch(e=>{process.stdout.write(n.showCursor),console.error("Fatal:",e),process.exit(1)});
20
20
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/client.ts"],"mappings":"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","names":["parseArgs","clientArgs","BASE_URL","BASE","ESC","ansi","get","path","res","post","body","nameById","cards","subId","lastSeq","updateCount","totalChanges","serverName","lastError","CARD_W","boxTop","w","boxMid","boxBot","boxRow","content","visible","pad","discover","roots","skipNames","userRoots","r","compositeIds","root","walkTree","card","obj","related","children","childAssets","c","childProps","icon","iconForAsset","child","name","n","readInitialValues","ids","values","entry","prop","vqt","createSubscription","syncUpdates","updates","u","propId","p","err","render","lines","now","statusParts","left","renderCard","right","maxLines","row","l","rr","title","label","cleanLabel","valText","color","formatPropValue","line","v","main","_compositeIds","sleep","cleanup","iteration","ms"]}
1
+ {"version":3,"sources":["../src/client.ts"],"mappings":"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","names":["parseArgs","clientArgs","BASE_URL","BASE","ESC","ansi","get","path","res","post","body","nameById","cards","subId","lastSeq","updateCount","totalChanges","serverName","lastError","CARD_W","boxTop","w","boxMid","boxBot","boxRow","content","visible","pad","discover","roots","skipNames","userRoots","r","compositeIds","root","walkTree","card","obj","related","children","childAssets","c","childProps","icon","iconForAsset","child","name","n","readInitialValues","ids","values","entry","prop","vqt","createSubscription","syncUpdates","updates","u","propId","p","err","render","lines","now","statusParts","left","renderCard","right","maxLines","row","l","rr","title","label","cleanLabel","valText","color","formatPropValue","line","v","main","_compositeIds","sleep","cleanup","iteration","ms"]}
package/dist/index.js CHANGED
@@ -1,21 +1,23 @@
1
1
  #!/usr/bin/env node
2
- import{parseArgs as H}from"util";import{consoleLogger as z,HistoryService as X,ModelService as G,SubscriptionService as k,TypeService as q,ValueService as J}from"@node-i3x/core";import{PseudoSessionDataSourceAdapter as K}from"@node-i3x/pseudo-session-connector";import{createApp as Q}from"@node-i3x/rest-server";import{AccessLevelFlag as e,DataType as a,nodesets as Y,OPCUAServer as Z,StatusCodes as ee,Variant as n}from"node-opcua";var{values:V}=H({options:{"rest-port":{type:"string",default:"8080"},"opcua-port":{type:"string",default:"48410"},help:{type:"boolean",short:"h",default:!1}}});V.help&&(console.log(`
2
+ import{parseArgs as z}from"util";import{consoleLogger as G,createI3xStack as X}from"@node-i3x/core";import{PseudoSessionDataSourceAdapter as q}from"@node-i3x/pseudo-session-connector";import{createApp as K}from"@node-i3x/rest-server";import{AccessLevelFlag as e,DataType as a,nodesets as Y,OPCUAServer as J,StatusCodes as Q,Variant as o}from"node-opcua";var{values:C}=z({options:{"rest-port":{type:"string",default:"8080"},"opcua-port":{type:"string",default:"48410"},"api-key":{type:"string"},"require-auth":{type:"boolean",default:!1},help:{type:"boolean",short:"h",default:!1}}});C.help&&(console.log(`
3
3
  Usage: i3x-demo [options]
4
4
 
5
5
  Options:
6
6
  --rest-port <port> REST API port (default: 8080)
7
7
  --opcua-port <port> OPC UA server port (default: 48410)
8
+ --api-key <key> API key for Bearer token auth
9
+ --require-auth Require Bearer token auth (exit if no api-key is configured)
8
10
  -h, --help Show this help
9
- `),process.exit(0));var d=parseInt(V["rest-port"],10),N=parseInt(V["opcua-port"],10);function c(r,l,t){r.setValueFromSource(new n({dataType:l,value:t}))}async function ae(){let r=new Z({port:N,resourcePath:"/UA/EmbeddedDemo",nodeset_filename:[Y.standard],serverInfo:{applicationName:{text:"i3X Embedded Demo"}}});await r.initialize();let l=r.engine.addressSpace,t=l.getOwnNamespace(),o=t.addObject({organizedBy:l.rootFolder.objects,browseName:"SmartFactory",displayName:"Smart Factory"}),s=t.addObject({componentOf:o,browseName:"Pump",displayName:"Main Coolant Pump"}),m=t.addVariable({componentOf:s,browseName:"Temperature",displayName:"Temperature (\xB0C)",dataType:a.Double,minimumSamplingInterval:250,accessLevel:e.CurrentRead|e.CurrentWrite,userAccessLevel:e.CurrentRead|e.CurrentWrite,value:new n({dataType:a.Double,value:35})}),v=t.addVariable({componentOf:s,browseName:"Pressure",displayName:"Pressure (bar)",dataType:a.Double,minimumSamplingInterval:250,accessLevel:e.CurrentRead|e.CurrentWrite,userAccessLevel:e.CurrentRead|e.CurrentWrite,value:new n({dataType:a.Double,value:4.2})}),p=t.addVariable({componentOf:s,browseName:"FlowRate",displayName:"Flow Rate (L/min)",dataType:a.Double,minimumSamplingInterval:250,accessLevel:e.CurrentRead|e.CurrentWrite,userAccessLevel:e.CurrentRead|e.CurrentWrite,value:new n({dataType:a.Double,value:120.5})}),f=t.addVariable({componentOf:s,browseName:"Running",displayName:"Running",dataType:a.Boolean,minimumSamplingInterval:250,accessLevel:e.CurrentRead|e.CurrentWrite,userAccessLevel:e.CurrentRead|e.CurrentWrite,value:new n({dataType:a.Boolean,value:!0})}),i=t.addObject({componentOf:o,browseName:"Heater",displayName:"Process Heater"}),y=t.addVariable({componentOf:i,browseName:"HeaterOn",displayName:"Heater On/Off",dataType:a.Boolean,minimumSamplingInterval:250,accessLevel:e.CurrentRead|e.CurrentWrite,userAccessLevel:e.CurrentRead|e.CurrentWrite,value:new n({dataType:a.Boolean,value:!0})}),u=t.addVariable({componentOf:i,browseName:"Temperature",displayName:"Temperature (\xB0C)",dataType:a.Double,minimumSamplingInterval:250,accessLevel:e.CurrentRead|e.CurrentWrite,userAccessLevel:e.CurrentRead|e.CurrentWrite,value:new n({dataType:a.Double,value:180})}),re=t.addVariable({componentOf:i,browseName:"Setpoint",displayName:"Setpoint (\xB0C)",dataType:a.Double,minimumSamplingInterval:250,accessLevel:e.CurrentRead|e.CurrentWrite,userAccessLevel:e.CurrentRead|e.CurrentWrite,value:new n({dataType:a.Double,value:200})}),D=t.addVariable({componentOf:i,browseName:"Power",displayName:"Power (%)",dataType:a.Double,minimumSamplingInterval:250,accessLevel:e.CurrentRead|e.CurrentWrite,userAccessLevel:e.CurrentRead|e.CurrentWrite,value:new n({dataType:a.Double,value:85})}),P=t.addObject({componentOf:o,browseName:"Conveyor",displayName:"Assembly Conveyor"}),R=t.addVariable({componentOf:P,browseName:"Speed",displayName:"Speed (m/s)",dataType:a.Double,minimumSamplingInterval:250,accessLevel:e.CurrentRead|e.CurrentWrite,userAccessLevel:e.CurrentRead|e.CurrentWrite,value:new n({dataType:a.Double,value:2.3})}),I=t.addVariable({componentOf:P,browseName:"ItemCount",displayName:"Items Processed",dataType:a.UInt32,minimumSamplingInterval:250,accessLevel:e.CurrentRead|e.CurrentWrite,userAccessLevel:e.CurrentRead|e.CurrentWrite,value:new n({dataType:a.UInt32,value:8452})}),U=[m,v,p,u,D,R,I];for(let b of U)b.accessLevel=e.CurrentRead|e.CurrentWrite|e.HistoryRead,b.userAccessLevel=e.CurrentRead|e.CurrentWrite|e.HistoryRead,l.installHistoricalDataNode(b,{maxOnlineValues:1e3});let j=[{variable:m,dataType:a.Double,base:35,jitter:1},{variable:v,dataType:a.Double,base:4.2,jitter:.5},{variable:p,dataType:a.Double,base:120.5,jitter:5},{variable:u,dataType:a.Double,base:180,jitter:3},{variable:D,dataType:a.Double,base:85,jitter:10},{variable:R,dataType:a.Double,base:2.3,jitter:.3},{variable:I,dataType:a.UInt32,base:8e3,jitter:50,isInt:!0}],L=Date.now(),E=3e4,_=36e5;for(let{variable:b,dataType:$,base:F,jitter:x,isInt:B}of j)for(let O=L-_;O<L;O+=E){let A=F+(Math.random()-.5)*x*2;B&&(A=Math.round(A)),b.setValueFromSource(new n({dataType:$,value:A}),ee.Good,new Date(O))}let M=35,C=4.2,w=120.5,h=!0,S=180,T=85,g=2.3,W=8452;return setInterval(()=>{M+=(Math.random()-.48)*.5,C+=(Math.random()-.5)*.1,C=Math.max(3,Math.min(6,C)),w+=(Math.random()-.5)*2,w=Math.max(100,Math.min(140,w)),c(m,a.Double,M),c(v,a.Double,C),c(p,a.Double,w)},800),setInterval(()=>{h?(S+=(200-S)*.05+(Math.random()-.5)*.3,T=Math.max(0,Math.min(100,T+(Math.random()-.5)*5))):(S-=1.5+Math.random()*.5,T=0),c(u,a.Double,S),c(D,a.Double,T)},1e3),setInterval(()=>{h=!h,c(y,a.Boolean,h)},15e3),setInterval(()=>{W+=Math.floor(Math.random()*3),g+=(Math.random()-.5)*.1,g=Math.max(1.5,Math.min(3.5,g)),c(R,a.Double,g),c(I,a.UInt32,W)},1200),await r.start(),{server:r,addressSpace:l}}async function te(){let r=z;console.log(`
11
+ `),process.exit(0));var m=parseInt(C["rest-port"],10),L=parseInt(C["opcua-port"],10),n=250,Z=800,ee=1e3,ae=1200,te=15e3;function c(r,s,t){r.setValueFromSource(new o({dataType:s,value:t}))}async function re(){let r=new J({port:L,resourcePath:"/UA/EmbeddedDemo",nodeset_filename:[Y.standard],serverInfo:{applicationName:{text:"i3X Embedded Demo"}}});await r.initialize();let s=r.engine.addressSpace,t=s.getOwnNamespace(),l=t.addObject({organizedBy:s.rootFolder.objects,browseName:"SmartFactory",displayName:"Smart Factory"}),u=t.addObject({componentOf:l,browseName:"Pump",displayName:"Main Coolant Pump"}),p=t.addVariable({componentOf:u,browseName:"Temperature",displayName:"Temperature (\xB0C)",dataType:a.Double,minimumSamplingInterval:n,accessLevel:e.CurrentRead|e.CurrentWrite,userAccessLevel:e.CurrentRead|e.CurrentWrite,value:new o({dataType:a.Double,value:35})}),v=t.addVariable({componentOf:u,browseName:"Pressure",displayName:"Pressure (bar)",dataType:a.Double,minimumSamplingInterval:n,accessLevel:e.CurrentRead|e.CurrentWrite,userAccessLevel:e.CurrentRead|e.CurrentWrite,value:new o({dataType:a.Double,value:4.2})}),b=t.addVariable({componentOf:u,browseName:"FlowRate",displayName:"Flow Rate (L/min)",dataType:a.Double,minimumSamplingInterval:n,accessLevel:e.CurrentRead|e.CurrentWrite,userAccessLevel:e.CurrentRead|e.CurrentWrite,value:new o({dataType:a.Double,value:120.5})}),R=t.addVariable({componentOf:u,browseName:"Running",displayName:"Running",dataType:a.Boolean,minimumSamplingInterval:n,accessLevel:e.CurrentRead|e.CurrentWrite,userAccessLevel:e.CurrentRead|e.CurrentWrite,value:new o({dataType:a.Boolean,value:!0})}),i=t.addObject({componentOf:l,browseName:"Heater",displayName:"Process Heater"}),h=t.addVariable({componentOf:i,browseName:"HeaterOn",displayName:"Heater On/Off",dataType:a.Boolean,minimumSamplingInterval:n,accessLevel:e.CurrentRead|e.CurrentWrite,userAccessLevel:e.CurrentRead|e.CurrentWrite,value:new o({dataType:a.Boolean,value:!0})}),d=t.addVariable({componentOf:i,browseName:"Temperature",displayName:"Temperature (\xB0C)",dataType:a.Double,minimumSamplingInterval:n,accessLevel:e.CurrentRead|e.CurrentWrite,userAccessLevel:e.CurrentRead|e.CurrentWrite,value:new o({dataType:a.Double,value:180})}),A=t.addVariable({componentOf:i,browseName:"Setpoint",displayName:"Setpoint (\xB0C)",dataType:a.Double,minimumSamplingInterval:n,accessLevel:e.CurrentRead|e.CurrentWrite,userAccessLevel:e.CurrentRead|e.CurrentWrite,value:new o({dataType:a.Double,value:200})}),N=t.addVariable({componentOf:i,browseName:"Power",displayName:"Power (%)",dataType:a.Double,minimumSamplingInterval:n,accessLevel:e.CurrentRead|e.CurrentWrite,userAccessLevel:e.CurrentRead|e.CurrentWrite,value:new o({dataType:a.Double,value:85})}),P=t.addObject({componentOf:l,browseName:"Conveyor",displayName:"Assembly Conveyor"}),D=t.addVariable({componentOf:P,browseName:"Speed",displayName:"Speed (m/s)",dataType:a.Double,minimumSamplingInterval:n,accessLevel:e.CurrentRead|e.CurrentWrite,userAccessLevel:e.CurrentRead|e.CurrentWrite,value:new o({dataType:a.Double,value:2.3})}),O=t.addVariable({componentOf:P,browseName:"ItemCount",displayName:"Items Processed",dataType:a.UInt32,minimumSamplingInterval:n,accessLevel:e.CurrentRead|e.CurrentWrite,userAccessLevel:e.CurrentRead|e.CurrentWrite,value:new o({dataType:a.UInt32,value:8452})}),U=[p,v,b,d,N,D,O];for(let y of U)y.accessLevel=e.CurrentRead|e.CurrentWrite|e.HistoryRead,y.userAccessLevel=e.CurrentRead|e.CurrentWrite|e.HistoryRead,s.installHistoricalDataNode(y,{maxOnlineValues:1e3});let j=[{variable:p,dataType:a.Double,base:35,jitter:1},{variable:v,dataType:a.Double,base:4.2,jitter:.5},{variable:b,dataType:a.Double,base:120.5,jitter:5},{variable:d,dataType:a.Double,base:180,jitter:3},{variable:N,dataType:a.Double,base:85,jitter:10},{variable:D,dataType:a.Double,base:2.3,jitter:.3},{variable:O,dataType:a.UInt32,base:8e3,jitter:50,isInt:!0}],_=Date.now(),x=3e4,k=36e5;for(let{variable:y,dataType:$,base:F,jitter:B,isInt:H}of j)for(let M=_-k;M<_;M+=x){let V=F+(Math.random()-.5)*B*2;H&&(V=Math.round(V)),y.setValueFromSource(new o({dataType:$,value:V}),Q.Good,new Date(M))}let E=35,S=4.2,T=120.5,w=!0,g=180,f=85,I=2.3,W=8452;return setInterval(()=>{E+=(Math.random()-.48)*.5,S+=(Math.random()-.5)*.1,S=Math.max(3,Math.min(6,S)),T+=(Math.random()-.5)*2,T=Math.max(100,Math.min(140,T)),c(p,a.Double,E),c(v,a.Double,S),c(b,a.Double,T)},Z),setInterval(()=>{w?(g+=(200-g)*.05+(Math.random()-.5)*.3,f=Math.max(0,Math.min(100,f+(Math.random()-.5)*5))):(g-=1.5+Math.random()*.5,f=0),c(d,a.Double,g),c(N,a.Double,f)},ee),setInterval(()=>{w=!w,c(h,a.Boolean,w)},te),setInterval(()=>{W+=Math.floor(Math.random()*3),I+=(Math.random()-.5)*.1,I=Math.max(1.5,Math.min(3.5,I)),c(D,a.Double,I),c(O,a.UInt32,W)},ae),await r.start(),{server:r,addressSpace:s}}async function oe(){let r=G;console.log(`
10
12
  ${"\u2550".repeat(60)}`),console.log(" \u{1F3ED} i3X Embedded Demo \u2014 PseudoSession Connector"),console.log("\u2550".repeat(60)),console.log(`
11
- \u25B6 Starting OPC UA server...`);let{server:l,addressSpace:t}=await ae();console.log(` \u2713 OPC UA binary endpoint at opc.tcp://localhost:${N}/UA/EmbeddedDemo`),console.log(`
12
- \u25B6 Connecting i3X via PseudoSession...`);let o=new K(t,r);await o.connect(),console.log(" \u2713 Connected \u2014 zero-network, in-process");let s=new G(o,r),m=new J(o,s,r),v=new X(o,s,r),p=new k(o,s,r,1),f=new q(o,r);console.log(`
13
- \u25B6 Building i3X model from AddressSpace...`);let i=await s.preloadModel();console.log(` \u2713 ${i.nodesById.size} nodes, ${i.rootIds.length} roots, ${i.propertyToSource.size} properties`),await f.preloadTypes();let y=await Q({dataSource:o,modelService:s,typeService:f,valueService:m,historyService:v,subscriptionService:p,logger:r});await y.listen({port:d,host:"127.0.0.1"}),console.log(`
14
- ${"\u2550".repeat(60)}`),console.log(` \u{1F680} i3X REST API ready at http://127.0.0.1:${d}`),console.log("\u2550".repeat(60)),console.log(`
15
- Try these:`),console.log(` curl http://localhost:${d}/health`),console.log(` curl http://localhost:${d}/v1/info`),console.log(` curl http://localhost:${d}/v1/namespaces`),console.log(` curl -X POST http://localhost:${d}/v1/objects/list`),console.log(`
16
- OPC UA clients can also connect to opc.tcp://localhost:${N}/UA/EmbeddedDemo`),console.log(`
13
+ \u25B6 Starting OPC UA server...`);let{server:s,addressSpace:t}=await re();console.log(` \u2713 OPC UA binary endpoint at opc.tcp://localhost:${L}/UA/EmbeddedDemo`),console.log(`
14
+ \u25B6 Connecting i3X via PseudoSession...`);let l=new q(t,r);await l.connect(),console.log(" \u2713 Connected \u2014 zero-network, in-process");let{modelService:u,typeService:p,valueService:v,historyService:b,subscriptionService:R}=X(l,r,{publishIntervalMs:1e3,samplingIntervalMs:250});console.log(`
15
+ \u25B6 Building i3X model from AddressSpace...`);let i=await u.preloadModel();console.log(` \u2713 ${i.nodesById.size} nodes, ${i.rootIds.length} roots, ${i.propertyToSource.size} properties`),await p.preloadTypes();let h=C["api-key"];C["require-auth"]&&!h&&(r.error("require-auth is enabled but no api-key is configured."),process.exit(1));let d=await K({dataSource:l,modelService:u,typeService:p,valueService:v,historyService:b,subscriptionService:R,logger:r,apiKey:h});await d.listen({port:m,host:"127.0.0.1"}),console.log(`
16
+ ${"\u2550".repeat(60)}`),console.log(` \u{1F680} i3X REST API ready at http://127.0.0.1:${m}`),console.log("\u2550".repeat(60)),console.log(`
17
+ Try these:`),console.log(` curl http://localhost:${m}/health`),console.log(` curl http://localhost:${m}/v1/info`),console.log(` curl http://localhost:${m}/v1/namespaces`),console.log(` curl -X POST http://localhost:${m}/v1/objects/list`),console.log(`
18
+ OPC UA clients can also connect to opc.tcp://localhost:${L}/UA/EmbeddedDemo`),console.log(`
17
19
  Press Ctrl+C to stop.
18
- `);let u=async()=>{console.log(`
20
+ `);let A=async()=>{console.log(`
19
21
 
20
- Shutting down...`),await y.close(),await p.close(),await o.disconnect(),await l.shutdown(500),process.exit(0)};process.on("SIGINT",u),process.on("SIGTERM",u)}te().catch(r=>{console.error("Fatal:",r),process.exit(1)});
22
+ Shutting down...`),await d.close(),await R.close(),await l.disconnect(),await s.shutdown(500),process.exit(0)};process.on("SIGINT",A),process.on("SIGTERM",A)}oe().catch(r=>{console.error("Fatal:",r),process.exit(1)});
21
23
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"mappings":";AAQA,OAAS,aAAAA,MAAiB,OAC1B,OACE,iBAAAC,EACA,kBAAAC,EACA,gBAAAC,EACA,uBAAAC,EACA,eAAAC,EACA,gBAAAC,MACK,iBACP,OAAS,kCAAAC,MAAsC,qCAC/C,OAAS,aAAAC,MAAiB,wBAC1B,OACE,mBAAAC,EACA,YAAAC,EACA,YAAAC,EACA,eAAAC,EACA,eAAAC,GAEA,WAAAC,MACK,aAEP,GAAM,CAAE,OAAQC,CAAK,EAAIf,EAAU,CACjC,QAAS,CACP,YAAa,CAAE,KAAM,SAAU,QAAS,MAAO,EAC/C,aAAc,CAAE,KAAM,SAAU,QAAS,OAAQ,EACjD,KAAM,CAAE,KAAM,UAAW,MAAO,IAAK,QAAS,EAAM,CACtD,CACF,CAAC,EAEGe,EAAK,OACP,QAAQ,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAOb,EACC,QAAQ,KAAK,CAAC,GAGhB,IAAMC,EAAY,SAASD,EAAK,WAAW,EAAI,EAAE,EAC3CE,EAAa,SAASF,EAAK,YAAY,EAAI,EAAE,EAInD,SAASG,EAAOC,EAAeC,EAAoBC,EAAc,CAC/DF,EAAE,mBAAmB,IAAIL,EAAQ,CAAE,SAAAM,EAAU,MAAOC,CAAI,CAAC,CAAC,CAC5D,CAIA,eAAeC,IAAqB,CAClC,IAAMC,EAAS,IAAIX,EAAY,CAC7B,KAAMK,EACN,aAAc,mBACd,iBAAkB,CAACN,EAAS,QAAQ,EACpC,WAAY,CACV,gBAAiB,CAAE,KAAM,mBAAoB,CAC/C,CACF,CAAC,EAED,MAAMY,EAAO,WAAW,EACxB,IAAMC,EAAeD,EAAO,OAAO,aAC7BE,EAAKD,EAAa,gBAAgB,EAGlCE,EAAUD,EAAG,UAAU,CAC3B,YAAaD,EAAa,WAAW,QACrC,WAAY,eACZ,YAAa,eACf,CAAC,EAGKG,EAAOF,EAAG,UAAU,CACxB,YAAaC,EACb,WAAY,OACZ,YAAa,mBACf,CAAC,EAEKE,EAAcH,EAAG,YAAY,CACjC,YAAaE,EACb,WAAY,cACZ,YAAa,sBACb,SAAUjB,EAAS,OACnB,wBAAyB,IACzB,YAAaD,EAAgB,YAAcA,EAAgB,aAC3D,gBAAiBA,EAAgB,YAAcA,EAAgB,aAC/D,MAAO,IAAIK,EAAQ,CACjB,SAAUJ,EAAS,OACnB,MAAO,EACT,CAAC,CACH,CAAC,EAEKmB,EAAeJ,EAAG,YAAY,CAClC,YAAaE,EACb,WAAY,WACZ,YAAa,iBACb,SAAUjB,EAAS,OACnB,wBAAyB,IACzB,YAAaD,EAAgB,YAAcA,EAAgB,aAC3D,gBAAiBA,EAAgB,YAAcA,EAAgB,aAC/D,MAAO,IAAIK,EAAQ,CACjB,SAAUJ,EAAS,OACnB,MAAO,GACT,CAAC,CACH,CAAC,EAEKoB,EAAcL,EAAG,YAAY,CACjC,YAAaE,EACb,WAAY,WACZ,YAAa,oBACb,SAAUjB,EAAS,OACnB,wBAAyB,IACzB,YAAaD,EAAgB,YAAcA,EAAgB,aAC3D,gBAAiBA,EAAgB,YAAcA,EAAgB,aAC/D,MAAO,IAAIK,EAAQ,CACjB,SAAUJ,EAAS,OACnB,MAAO,KACT,CAAC,CACH,CAAC,EAEKqB,EAAcN,EAAG,YAAY,CACjC,YAAaE,EACb,WAAY,UACZ,YAAa,UACb,SAAUjB,EAAS,QACnB,wBAAyB,IACzB,YAAaD,EAAgB,YAAcA,EAAgB,aAC3D,gBAAiBA,EAAgB,YAAcA,EAAgB,aAC/D,MAAO,IAAIK,EAAQ,CACjB,SAAUJ,EAAS,QACnB,MAAO,EACT,CAAC,CACH,CAAC,EAGKsB,EAASP,EAAG,UAAU,CAC1B,YAAaC,EACb,WAAY,SACZ,YAAa,gBACf,CAAC,EAEKO,EAAcR,EAAG,YAAY,CACjC,YAAaO,EACb,WAAY,WACZ,YAAa,gBACb,SAAUtB,EAAS,QACnB,wBAAyB,IACzB,YAAaD,EAAgB,YAAcA,EAAgB,aAC3D,gBAAiBA,EAAgB,YAAcA,EAAgB,aAC/D,MAAO,IAAIK,EAAQ,CACjB,SAAUJ,EAAS,QACnB,MAAO,EACT,CAAC,CACH,CAAC,EAEKwB,EAAgBT,EAAG,YAAY,CACnC,YAAaO,EACb,WAAY,cACZ,YAAa,sBACb,SAAUtB,EAAS,OACnB,wBAAyB,IACzB,YAAaD,EAAgB,YAAcA,EAAgB,aAC3D,gBAAiBA,EAAgB,YAAcA,EAAgB,aAC/D,MAAO,IAAIK,EAAQ,CACjB,SAAUJ,EAAS,OACnB,MAAO,GACT,CAAC,CACH,CAAC,EAEKyB,GAAqBV,EAAG,YAAY,CACxC,YAAaO,EACb,WAAY,WACZ,YAAa,mBACb,SAAUtB,EAAS,OACnB,wBAAyB,IACzB,YAAaD,EAAgB,YAAcA,EAAgB,aAC3D,gBAAiBA,EAAgB,YAAcA,EAAgB,aAC/D,MAAO,IAAIK,EAAQ,CACjB,SAAUJ,EAAS,OACnB,MAAO,GACT,CAAC,CACH,CAAC,EAEK0B,EAAiBX,EAAG,YAAY,CACpC,YAAaO,EACb,WAAY,QACZ,YAAa,YACb,SAAUtB,EAAS,OACnB,wBAAyB,IACzB,YAAaD,EAAgB,YAAcA,EAAgB,aAC3D,gBAAiBA,EAAgB,YAAcA,EAAgB,aAC/D,MAAO,IAAIK,EAAQ,CACjB,SAAUJ,EAAS,OACnB,MAAO,EACT,CAAC,CACH,CAAC,EAGK2B,EAAWZ,EAAG,UAAU,CAC5B,YAAaC,EACb,WAAY,WACZ,YAAa,mBACf,CAAC,EAEKY,EAAeb,EAAG,YAAY,CAClC,YAAaY,EACb,WAAY,QACZ,YAAa,cACb,SAAU3B,EAAS,OACnB,wBAAyB,IACzB,YAAaD,EAAgB,YAAcA,EAAgB,aAC3D,gBAAiBA,EAAgB,YAAcA,EAAgB,aAC/D,MAAO,IAAIK,EAAQ,CACjB,SAAUJ,EAAS,OACnB,MAAO,GACT,CAAC,CACH,CAAC,EAEK6B,EAAed,EAAG,YAAY,CAClC,YAAaY,EACb,WAAY,YACZ,YAAa,kBACb,SAAU3B,EAAS,OACnB,wBAAyB,IACzB,YAAaD,EAAgB,YAAcA,EAAgB,aAC3D,gBAAiBA,EAAgB,YAAcA,EAAgB,aAC/D,MAAO,IAAIK,EAAQ,CACjB,SAAUJ,EAAS,OACnB,MAAO,IACT,CAAC,CACH,CAAC,EAGK8B,EAAiB,CACrBZ,EACAC,EACAC,EACAI,EACAE,EACAE,EACAC,CACF,EACA,QAAWpB,KAAKqB,EACdrB,EAAE,YACAV,EAAgB,YAChBA,EAAgB,aAChBA,EAAgB,YAClBU,EAAE,gBACAV,EAAgB,YAChBA,EAAgB,aAChBA,EAAgB,YAClBe,EAAa,0BAA0BL,EAAG,CACxC,gBAAiB,GACnB,CAAC,EAKH,IAAMsB,EAMD,CACH,CAAE,SAAUb,EAAa,SAAUlB,EAAS,OAAQ,KAAM,GAAM,OAAQ,CAAI,EAC5E,CAAE,SAAUmB,EAAc,SAAUnB,EAAS,OAAQ,KAAM,IAAK,OAAQ,EAAI,EAC5E,CAAE,SAAUoB,EAAa,SAAUpB,EAAS,OAAQ,KAAM,MAAO,OAAQ,CAAI,EAC7E,CAAE,SAAUwB,EAAe,SAAUxB,EAAS,OAAQ,KAAM,IAAO,OAAQ,CAAI,EAC/E,CAAE,SAAU0B,EAAgB,SAAU1B,EAAS,OAAQ,KAAM,GAAM,OAAQ,EAAK,EAChF,CAAE,SAAU4B,EAAc,SAAU5B,EAAS,OAAQ,KAAM,IAAK,OAAQ,EAAI,EAC5E,CACE,SAAU6B,EACV,SAAU7B,EAAS,OACnB,KAAM,IACN,OAAQ,GACR,MAAO,EACT,CACF,EAEMgC,EAAM,KAAK,IAAI,EACfC,EAAmB,IACnBC,EAAmB,KAEzB,OAAW,CAAE,SAAAC,EAAU,SAAAzB,EAAU,KAAA0B,EAAM,OAAAC,EAAQ,MAAAC,CAAM,IAAKP,EACxD,QAASQ,EAAIP,EAAME,EAAkBK,EAAIP,EAAKO,GAAKN,EAAkB,CACnE,IAAItB,EAAMyB,GAAQ,KAAK,OAAO,EAAI,IAAOC,EAAS,EAC9CC,IAAO3B,EAAM,KAAK,MAAMA,CAAG,GAC/BwB,EAAS,mBACP,IAAI/B,EAAQ,CAAE,SAAAM,EAAU,MAAOC,CAAI,CAAC,EACpCR,GAAY,KACZ,IAAI,KAAKoC,CAAC,CACZ,CACF,CAMF,IAAIC,EAAW,GACXC,EAAe,IACfC,EAAe,MACfC,EAAW,GACXC,EAAa,IACbC,EAAc,GACdC,EAAY,IACZC,EAAY,KAGhB,mBAAY,IAAM,CAChBP,IAAa,KAAK,OAAO,EAAI,KAAQ,GACrCC,IAAiB,KAAK,OAAO,EAAI,IAAO,GACxCA,EAAe,KAAK,IAAI,EAAK,KAAK,IAAI,EAAKA,CAAY,CAAC,EACxDC,IAAiB,KAAK,OAAO,EAAI,IAAO,EACxCA,EAAe,KAAK,IAAI,IAAK,KAAK,IAAI,IAAKA,CAAY,CAAC,EAExDlC,EAAOU,EAAalB,EAAS,OAAQwC,CAAQ,EAC7ChC,EAAOW,EAAcnB,EAAS,OAAQyC,CAAY,EAClDjC,EAAOY,EAAapB,EAAS,OAAQ0C,CAAY,CACnD,EAAG,GAAG,EAGN,YAAY,IAAM,CACZC,GACFC,IAAe,IAAQA,GAAc,KAAQ,KAAK,OAAO,EAAI,IAAO,GACpEC,EAAc,KAAK,IAAI,EAAG,KAAK,IAAI,IAAKA,GAAe,KAAK,OAAO,EAAI,IAAO,CAAC,CAAC,IAEhFD,GAAc,IAAM,KAAK,OAAO,EAAI,GACpCC,EAAc,GAEhBrC,EAAOgB,EAAexB,EAAS,OAAQ4C,CAAU,EACjDpC,EAAOkB,EAAgB1B,EAAS,OAAQ6C,CAAW,CACrD,EAAG,GAAI,EAGP,YAAY,IAAM,CAChBF,EAAW,CAACA,EACZnC,EAAOe,EAAavB,EAAS,QAAS2C,CAAQ,CAChD,EAAG,IAAM,EAGT,YAAY,IAAM,CAChBI,GAAa,KAAK,MAAM,KAAK,OAAO,EAAI,CAAC,EACzCD,IAAc,KAAK,OAAO,EAAI,IAAO,GACrCA,EAAY,KAAK,IAAI,IAAK,KAAK,IAAI,IAAKA,CAAS,CAAC,EAElDtC,EAAOoB,EAAc5B,EAAS,OAAQ8C,CAAS,EAC/CtC,EAAOqB,EAAc7B,EAAS,OAAQ+C,CAAS,CACjD,EAAG,IAAI,EAEP,MAAMlC,EAAO,MAAM,EAEZ,CAAE,OAAAA,EAAQ,aAAAC,CAAa,CAChC,CAIA,eAAekC,IAAO,CACpB,IAAMC,EAAS1D,EAEf,QAAQ,IAAI;AAAA,EAAK,SAAI,OAAO,EAAE,CAAC,EAAE,EACjC,QAAQ,IAAI,8DAAkD,EAC9D,QAAQ,IAAI,SAAI,OAAO,EAAE,CAAC,EAG1B,QAAQ,IAAI;AAAA,iCAA+B,EAC3C,GAAM,CAAE,OAAAsB,EAAQ,aAAAC,CAAa,EAAI,MAAMF,GAAmB,EAC1D,QAAQ,IACN,0DACyBL,CAAU,kBACrC,EAMA,QAAQ,IAAI;AAAA,2CAAyC,EACrD,IAAM2C,EAAa,IAAIrD,EAA+BiB,EAAcmC,CAAM,EAC1E,MAAMC,EAAW,QAAQ,EACzB,QAAQ,IAAI,oDAA0C,EAGtD,IAAMC,EAAe,IAAI1D,EAAayD,EAAYD,CAAM,EAClDG,EAAe,IAAIxD,EAAasD,EAAYC,EAAcF,CAAM,EAChEI,EAAiB,IAAI7D,EAAe0D,EAAYC,EAAcF,CAAM,EACpEK,EAAsB,IAAI5D,EAC9BwD,EACAC,EACAF,EACA,CACF,EACMM,EAAc,IAAI5D,EAAYuD,EAAYD,CAAM,EAGtD,QAAQ,IAAI;AAAA,+CAA6C,EACzD,IAAMO,EAAQ,MAAML,EAAa,aAAa,EAC9C,QAAQ,IACN,YAAOK,EAAM,UAAU,IAAI,WACtBA,EAAM,QAAQ,MAAM,WACpBA,EAAM,iBAAiB,IAAI,aAClC,EAGA,MAAMD,EAAY,aAAa,EAG/B,IAAME,EAAM,MAAM3D,EAAU,CAC1B,WAAAoD,EACA,aAAAC,EACA,YAAAI,EACA,aAAAH,EACA,eAAAC,EACA,oBAAAC,EACA,OAAAL,CACF,CAAC,EACD,MAAMQ,EAAI,OAAO,CAAE,KAAMnD,EAAW,KAAM,WAAY,CAAC,EAEvD,QAAQ,IAAI;AAAA,EAAK,SAAI,OAAO,EAAE,CAAC,EAAE,EACjC,QAAQ,IAAI,sDAA+CA,CAAS,EAAE,EACtE,QAAQ,IAAI,SAAI,OAAO,EAAE,CAAC,EAC1B,QAAQ,IAAI;AAAA,aAAgB,EAC5B,QAAQ,IAAI,6BAA6BA,CAAS,SAAS,EAC3D,QAAQ,IAAI,6BAA6BA,CAAS,UAAU,EAC5D,QAAQ,IAAI,6BAA6BA,CAAS,gBAAgB,EAClE,QAAQ,IAAI,qCAAqCA,CAAS,kBAAkB,EAC5E,QAAQ,IACN;AAAA,2DACyBC,CAAU,kBACrC,EACA,QAAQ,IAAI;AAAA;AAAA,CAA6B,EAGzC,IAAMmD,EAAW,SAAY,CAC3B,QAAQ,IAAI;AAAA;AAAA,iBAAsB,EAClC,MAAMD,EAAI,MAAM,EAChB,MAAMH,EAAoB,MAAM,EAChC,MAAMJ,EAAW,WAAW,EAC5B,MAAMrC,EAAO,SAAS,GAAG,EACzB,QAAQ,KAAK,CAAC,CAChB,EACA,QAAQ,GAAG,SAAU6C,CAAQ,EAC7B,QAAQ,GAAG,UAAWA,CAAQ,CAChC,CAEAV,GAAK,EAAE,MAAOW,GAAQ,CACpB,QAAQ,MAAM,SAAUA,CAAG,EAC3B,QAAQ,KAAK,CAAC,CAChB,CAAC","names":["parseArgs","consoleLogger","HistoryService","ModelService","SubscriptionService","TypeService","ValueService","PseudoSessionDataSourceAdapter","createApp","AccessLevelFlag","DataType","nodesets","OPCUAServer","StatusCodes","Variant","args","REST_PORT","OPCUA_PORT","setVar","v","dataType","val","createSampleServer","server","addressSpace","ns","factory","pump","pumpTempVar","pumpPressVar","pumpFlowVar","_pumpRunVar","heater","heaterOnVar","heaterTempVar","_heaterSetpointVar","heaterPowerVar","conveyor","convSpeedVar","itemCountVar","historizedVars","seedConfig","now","SEED_INTERVAL_MS","SEED_DURATION_MS","variable","base","jitter","isInt","t","pumpTemp","pumpPressure","pumpFlowRate","heaterOn","heaterTemp","heaterPower","convSpeed","itemCount","main","logger","dataSource","modelService","valueService","historyService","subscriptionService","typeService","model","app","shutdown","err"]}
1
+ {"version":3,"sources":["../src/index.ts"],"mappings":"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","names":["parseArgs","consoleLogger","createI3xStack","PseudoSessionDataSourceAdapter","createApp","AccessLevelFlag","DataType","nodesets","OPCUAServer","StatusCodes","Variant","args","REST_PORT","OPCUA_PORT","MIN_SAMPLING_INTERVAL_MS","PUMP_SIM_INTERVAL_MS","HEATER_SIM_INTERVAL_MS","CONVEYOR_SIM_INTERVAL_MS","HEATER_TOGGLE_INTERVAL_MS","setVar","v","dataType","val","createSampleServer","server","addressSpace","ns","factory","pump","pumpTempVar","pumpPressVar","pumpFlowVar","_pumpRunVar","heater","heaterOnVar","heaterTempVar","_heaterSetpointVar","heaterPowerVar","conveyor","convSpeedVar","itemCountVar","historizedVars","seedConfig","now","SEED_INTERVAL_MS","SEED_DURATION_MS","variable","base","jitter","isInt","t","pumpTemp","pumpPressure","pumpFlowRate","heaterOn","heaterTemp","heaterPower","convSpeed","itemCount","main","logger","dataSource","modelService","typeService","valueService","historyService","subscriptionService","model","apiKey","app","shutdown","err"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@node-i3x/demo-embedded",
3
- "version": "0.5.4",
3
+ "version": "0.7.1",
4
4
  "license": "AGPL-3.0-or-later OR LicenseRef-Sterfive-Commercial",
5
5
  "author": "Sterfive SAS <contact@sterfive.com> (https://sterfive.com)",
6
6
  "homepage": "https://sterfive.com",
@@ -19,6 +19,7 @@
19
19
  },
20
20
  "exports": {
21
21
  ".": {
22
+ "source": "./src/index.ts",
22
23
  "types": "./dist/index.d.ts",
23
24
  "import": "./dist/index.js"
24
25
  }
@@ -40,10 +41,10 @@
40
41
  "client": "npx tsx src/client.ts"
41
42
  },
42
43
  "dependencies": {
43
- "@node-i3x/core": "0.5.4",
44
- "@node-i3x/opcua-connector": "0.5.4",
45
- "@node-i3x/pseudo-session-connector": "0.5.4",
46
- "@node-i3x/rest-server": "0.5.4",
44
+ "@node-i3x/core": "0.7.1",
45
+ "@node-i3x/opcua-connector": "0.7.1",
46
+ "@node-i3x/pseudo-session-connector": "0.7.1",
47
+ "@node-i3x/rest-server": "0.7.1",
47
48
  "fastify": "^5.8.5",
48
49
  "@fastify/cors": "^11.2.0",
49
50
  "fastify-plugin": "^6.0.0",