@node-i3x/app 0.4.0 → 0.5.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/cli.js CHANGED
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
- import{createRequire as N}from"module";import{Command as X}from"commander";import{cosmiconfig as w}from"cosmiconfig";import{load as v}from"js-yaml";var x={endpoint:"opc.tcp://localhost:4840",port:8080,host:"0.0.0.0",securityMode:"None",optimizedClient:"auto",subscriptionInterval:5,logLevel:"info",modelPreload:!0,failOnPreloadError:!1,readOnly:!1};function l(e){return process.env[e]}function I(e){let o=process.env[e];return o?parseInt(o,10):void 0}function u(e){let o=process.env[e];if(o)return o==="1"||o.toLowerCase()==="true"}function _(){let e={},o=l("I3X_OPCUA_ENDPOINT")??l("I3X_ENDPOINT");o&&(e.endpoint=o);let n=I("I3X_PORT");n!==void 0&&(e.port=n);let r=l("I3X_HOST");r&&(e.host=r);let t=l("I3X_OPCUA_SECURITY_MODE");t&&(e.securityMode=t);let i=l("I3X_OPCUA_OPTIMIZED_CLIENT");(i==="auto"||i==="disabled")&&(e.optimizedClient=i);let s=I("I3X_SUBSCRIPTION_INTERVAL_SECONDS");s!==void 0&&(e.subscriptionInterval=s);let c=l("I3X_LOG_LEVEL");c&&(e.logLevel=c);let d=u("I3X_MODEL_PRELOAD_ON_STARTUP");d!==void 0&&(e.modelPreload=d);let a=u("I3X_FAIL_STARTUP_ON_MODEL_PRELOAD_ERROR");a!==void 0&&(e.failOnPreloadError=a);let p=l("I3X_OPCUA_USERNAME");p&&(e.username=p);let f=l("I3X_OPCUA_PASSWORD");f&&(e.password=f);let m=u("I3X_READ_ONLY");return m!==void 0&&(e.readOnly=m),e}async function C(e,o){let n={},r=w("i3x",{searchPlaces:["i3x.config.yml","i3x.config.yaml","i3x.config.json",".i3xrc",".i3xrc.json",".i3xrc.yml",".i3xrc.yaml","package.json"],loaders:{".yml":(i,s)=>v(s),".yaml":(i,s)=>v(s)}});try{let i=o?await r.load(o):await r.search();i&&!i.isEmpty&&(n=i.config)}catch{}let t=_();return{...x,...n,...t,...e}}import{consoleLogger as h,HistoryService as E,ModelService as b,SubscriptionService as A,TypeService as L,ValueService as U}from"@node-i3x/core";import{OpcUaClient as T,OpcUaDataSourceAdapter as R}from"@node-i3x/opcua-connector";import{createApp as M}from"@node-i3x/rest-server";function y(e,o,n){let r=["",` i3X Server v${e}`,"",` OPC UA: ${o.endpoint}`,` REST: http://${o.host}:${o.port}`];n!==void 0&&r.push(` Model: ${n} nodes`),r.push(""),r.push(" Press Ctrl+C to stop"),r.push("");let i=Math.max(...r.map(a=>a.length))+2,s="-".repeat(i),c=` +${s}+`,d=` +${s}+`;console.log(c);for(let a of r)console.log(` |${a.padEnd(i)}|`);console.log(d),console.log()}async function O(e,o){let n=h,r=new T({endpointUrl:e.endpoint,securityMode:e.securityMode,optimizedClient:e.optimizedClient,username:e.username,password:e.password},n),t=new R(r,n),i=new b(t,n),s=new U(t,i,n),c=new E(t,i,n),d=new A(t,i,n,e.subscriptionInterval),a=new L(t,n),p=await M({dataSource:t,modelService:i,typeService:a,valueService:s,historyService:c,subscriptionService:d,logger:n,readOnly:e.readOnly});await t.connect();let f;if(e.modelPreload)try{f=(await i.preloadModel()).nodesById.size,await a.preloadTypes()}catch(g){n.error(`Model preload failed: ${String(g)}`),e.failOnPreloadError&&process.exit(1)}await p.listen({port:e.port,host:e.host}),y(o,e,f);let m=async()=>{n.info("Shutting down..."),await p.close(),await d.close(),await t.disconnect(),process.exit(0)};process.on("SIGINT",m),process.on("SIGTERM",m)}var D=N(import.meta.url),P=D("../package.json"),S=new X;S.name("i3x").description("Expose OPC UA servers as i3X REST APIs").version(P.version).option("-e, --endpoint <url>","OPC UA endpoint URL").option("-p, --port <port>","REST API port",parseInt).option("-H, --host <host>","REST API bind address").option("--security-mode <mode>","OPC UA security mode").option("--optimized-client <mode>","Optimized client: auto | disabled").option("--subscription-interval <seconds>","Subscription interval in seconds",parseInt).option("--log-level <level>","Log level: debug | info | warn | error").option("--no-model-preload","Skip model preload on startup").option("--username <user>","OPC UA username for UserName identity token").option("--password <pass>","OPC UA password for UserName identity token").option("--read-only","Disable write operations (advertise read-only capabilities)").option("-c, --config <path>","Path to config file").action(async e=>{let o={};e.endpoint&&(o.endpoint=e.endpoint),e.port!==void 0&&(o.port=e.port),e.host&&(o.host=e.host),e.securityMode&&(o.securityMode=e.securityMode),e.optimizedClient&&(o.optimizedClient=e.optimizedClient),e.subscriptionInterval!==void 0&&(o.subscriptionInterval=e.subscriptionInterval),e.logLevel&&(o.logLevel=e.logLevel),e.modelPreload===!1&&(o.modelPreload=!1),e.username&&(o.username=e.username),e.password&&(o.password=e.password),e.readOnly&&(o.readOnly=!0);let n=await C(o,e.config);await O(n,P.version)});S.parse();
2
+ import{createRequire as D}from"module";import{Command as X}from"commander";import{cosmiconfig as h}from"cosmiconfig";import{load as I}from"js-yaml";var x={endpoint:"opc.tcp://localhost:4840",port:8080,host:"0.0.0.0",securityMode:"None",optimizedClient:"auto",subscriptionInterval:5,logLevel:"info",modelPreload:!0,failOnPreloadError:!1,readOnly:!1};function l(e){return process.env[e]}function C(e){let o=process.env[e];return o?parseInt(o,10):void 0}function v(e){let o=process.env[e];if(o)return o==="1"||o.toLowerCase()==="true"}function _(){let e={},o=l("I3X_OPCUA_ENDPOINT")??l("I3X_ENDPOINT");o&&(e.endpoint=o);let n=C("I3X_PORT");n!==void 0&&(e.port=n);let t=l("I3X_HOST");t&&(e.host=t);let r=l("I3X_OPCUA_SECURITY_MODE");r&&(e.securityMode=r);let i=l("I3X_OPCUA_OPTIMIZED_CLIENT");(i==="auto"||i==="disabled")&&(e.optimizedClient=i);let s=C("I3X_SUBSCRIPTION_INTERVAL_SECONDS");s!==void 0&&(e.subscriptionInterval=s);let f=l("I3X_LOG_LEVEL");f&&(e.logLevel=f);let p=v("I3X_MODEL_PRELOAD_ON_STARTUP");p!==void 0&&(e.modelPreload=p);let d=v("I3X_FAIL_STARTUP_ON_MODEL_PRELOAD_ERROR");d!==void 0&&(e.failOnPreloadError=d);let m=l("I3X_OPCUA_USERNAME");m&&(e.username=m);let c=l("I3X_OPCUA_PASSWORD");c&&(e.password=c);let u=v("I3X_READ_ONLY");return u!==void 0&&(e.readOnly=u),e}async function y(e,o){let n={},t=h("i3x",{searchPlaces:["i3x.config.yml","i3x.config.yaml","i3x.config.json",".i3xrc",".i3xrc.json",".i3xrc.yml",".i3xrc.yaml","package.json"],loaders:{".yml":(i,s)=>I(s),".yaml":(i,s)=>I(s)}});try{let i=o?await t.load(o):await t.search();i&&!i.isEmpty&&(n=i.config)}catch{}let r=_();return{...x,...n,...r,...e}}import{consoleLogger as E,HistoryService as b,ModelService as A,SubscriptionService as T,TypeService as L,ValueService as U}from"@node-i3x/core";import{OpcUaClient as R,OpcUaDataSourceAdapter as M}from"@node-i3x/opcua-connector";import{createApp as N}from"@node-i3x/rest-server";function P(e,o,n){let t=["",` i3X Server v${e}`,"",` OPC UA: ${o.endpoint}`,` REST: http://${o.host}:${o.port}`];n!==void 0&&t.push(` Model: ${n} nodes`),t.push(""),t.push(" Press Ctrl+C to stop"),t.push("");let i=Math.max(...t.map(d=>d.length))+2,s="-".repeat(i),f=` +${s}+`,p=` +${s}+`;console.log(f);for(let d of t)console.log(` |${d.padEnd(i)}|`);console.log(p),console.log()}function a(e,o,n){let t={type:"progress",phase:e,message:o,timestamp:Date.now(),...n};typeof process.send=="function"&&process.send(t)}async function O(e,o){let n=E;a("initializing","Creating OPC UA client...");let t=new R({endpointUrl:e.endpoint,securityMode:e.securityMode,optimizedClient:e.optimizedClient,username:e.username,password:e.password},n),r=new M(t,n),i=new A(r,n),s=new U(r,i,n),f=new b(r,i,n),p=new T(r,i,n,e.subscriptionInterval),d=new L(r,n);a("creating-rest","Creating REST API server...");let m=await N({dataSource:r,modelService:i,typeService:d,valueService:s,historyService:f,subscriptionService:p,logger:n,readOnly:e.readOnly});a("connecting",`Connecting to ${e.endpoint}...`),await r.connect(),a("connected","OPC UA session established");let c;if(e.modelPreload)try{a("preloading-model","Preloading object model..."),c=(await i.preloadModel()).nodesById.size,a("model-loaded",`Model loaded: ${c} nodes`,{nodeCount:c}),a("preloading-types","Preloading type definitions..."),await d.preloadTypes(),a("types-loaded","Type definitions loaded")}catch(g){a("error",`Model preload failed: ${String(g)}`),n.error(`Model preload failed: ${String(g)}`),e.failOnPreloadError&&process.exit(1)}a("starting-http","Starting HTTP server..."),await m.listen({port:e.port,host:e.host}),a("ready",`Server listening on ${e.host}:${e.port}`,{port:e.port,host:e.host}),P(o,e,c);let u=async()=>{n.info("Shutting down..."),await m.close(),await p.close(),await r.disconnect(),process.exit(0)};process.on("SIGINT",u),process.on("SIGTERM",u)}var $=D(import.meta.url),S=$("../package.json"),w=new X;w.name("i3x").description("Expose OPC UA servers as i3X REST APIs").version(S.version).option("-e, --endpoint <url>","OPC UA endpoint URL").option("-p, --port <port>","REST API port",parseInt).option("-H, --host <host>","REST API bind address").option("--security-mode <mode>","OPC UA security mode").option("--optimized-client <mode>","Optimized client: auto | disabled").option("--subscription-interval <seconds>","Subscription interval in seconds",parseInt).option("--log-level <level>","Log level: debug | info | warn | error").option("--no-model-preload","Skip model preload on startup").option("--username <user>","OPC UA username for UserName identity token").option("--password <pass>","OPC UA password for UserName identity token").option("--read-only","Disable write operations (advertise read-only capabilities)").option("-c, --config <path>","Path to config file").action(async e=>{let o={};e.endpoint&&(o.endpoint=e.endpoint),e.port!==void 0&&(o.port=e.port),e.host&&(o.host=e.host),e.securityMode&&(o.securityMode=e.securityMode),e.optimizedClient&&(o.optimizedClient=e.optimizedClient),e.subscriptionInterval!==void 0&&(o.subscriptionInterval=e.subscriptionInterval),e.logLevel&&(o.logLevel=e.logLevel),e.modelPreload===!1&&(o.modelPreload=!1),e.username&&(o.username=e.username),e.password&&(o.password=e.password),e.readOnly&&(o.readOnly=!0);let n=await y(o,e.config);await O(n,S.version)});w.parse();
3
3
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/cli.ts","../src/config.ts","../src/server.ts","../src/banner.ts"],"mappings":"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","names":["createRequire","Command","cosmiconfig","loadYaml","DEFAULTS","envStr","key","envInt","v","envBool","fromEnv","result","endpoint","port","host","securityMode","optimizedClient","interval","logLevel","preload","failOnPreload","username","password","readOnly","resolveConfig","cliArgs","configPath","fileConfig","explorer","_filepath","content","envConfig","consoleLogger","HistoryService","ModelService","SubscriptionService","TypeService","ValueService","OpcUaClient","OpcUaDataSourceAdapter","createApp","printBanner","version","config","nodeCount","lines","width","l","hr","top","bot","line","startServer","config","version","logger","consoleLogger","opcuaClient","OpcUaClient","dataSource","OpcUaDataSourceAdapter","modelService","ModelService","valueService","ValueService","historyService","HistoryService","subscriptionService","SubscriptionService","typeService","TypeService","app","createApp","nodeCount","err","printBanner","shutdown","require","createRequire","pkg","program","Command","opts","cliArgs","config","resolveConfig","startServer"]}
1
+ {"version":3,"sources":["../src/cli.ts","../src/config.ts","../src/server.ts","../src/banner.ts"],"mappings":"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","names":["createRequire","Command","cosmiconfig","loadYaml","DEFAULTS","envStr","key","envInt","v","envBool","fromEnv","result","endpoint","port","host","securityMode","optimizedClient","interval","logLevel","preload","failOnPreload","username","password","readOnly","resolveConfig","cliArgs","configPath","fileConfig","explorer","_filepath","content","envConfig","consoleLogger","HistoryService","ModelService","SubscriptionService","TypeService","ValueService","OpcUaClient","OpcUaDataSourceAdapter","createApp","printBanner","version","config","nodeCount","lines","width","l","hr","top","bot","line","sendProgress","phase","message","extra","msg","startServer","config","version","logger","consoleLogger","opcuaClient","OpcUaClient","dataSource","OpcUaDataSourceAdapter","modelService","ModelService","valueService","ValueService","historyService","HistoryService","subscriptionService","SubscriptionService","typeService","TypeService","app","createApp","nodeCount","err","printBanner","shutdown","require","createRequire","pkg","program","Command","opts","cliArgs","config","resolveConfig","startServer"]}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{cosmiconfig as O}from"cosmiconfig";import{load as g}from"js-yaml";var x={endpoint:"opc.tcp://localhost:4840",port:8080,host:"0.0.0.0",securityMode:"None",optimizedClient:"auto",subscriptionInterval:5,logLevel:"info",modelPreload:!0,failOnPreloadError:!1,readOnly:!1};function l(e){return process.env[e]}function v(e){let n=process.env[e];return n?parseInt(n,10):void 0}function m(e){let n=process.env[e];if(n)return n==="1"||n.toLowerCase()==="true"}function S(){let e={},n=l("I3X_OPCUA_ENDPOINT")??l("I3X_ENDPOINT");n&&(e.endpoint=n);let o=v("I3X_PORT");o!==void 0&&(e.port=o);let r=l("I3X_HOST");r&&(e.host=r);let i=l("I3X_OPCUA_SECURITY_MODE");i&&(e.securityMode=i);let t=l("I3X_OPCUA_OPTIMIZED_CLIENT");(t==="auto"||t==="disabled")&&(e.optimizedClient=t);let s=v("I3X_SUBSCRIPTION_INTERVAL_SECONDS");s!==void 0&&(e.subscriptionInterval=s);let d=l("I3X_LOG_LEVEL");d&&(e.logLevel=d);let c=m("I3X_MODEL_PRELOAD_ON_STARTUP");c!==void 0&&(e.modelPreload=c);let a=m("I3X_FAIL_STARTUP_ON_MODEL_PRELOAD_ERROR");a!==void 0&&(e.failOnPreloadError=a);let p=l("I3X_OPCUA_USERNAME");p&&(e.username=p);let f=l("I3X_OPCUA_PASSWORD");f&&(e.password=f);let u=m("I3X_READ_ONLY");return u!==void 0&&(e.readOnly=u),e}async function _(e,n){let o={},r=O("i3x",{searchPlaces:["i3x.config.yml","i3x.config.yaml","i3x.config.json",".i3xrc",".i3xrc.json",".i3xrc.yml",".i3xrc.yaml","package.json"],loaders:{".yml":(t,s)=>g(s),".yaml":(t,s)=>g(s)}});try{let t=n?await r.load(n):await r.search();t&&!t.isEmpty&&(o=t.config)}catch{}let i=S();return{...x,...o,...i,...e}}import{consoleLogger as y,HistoryService as P,ModelService as E,SubscriptionService as w,TypeService as h,ValueService as L}from"@node-i3x/core";import{OpcUaClient as T,OpcUaDataSourceAdapter as b}from"@node-i3x/opcua-connector";import{createApp as A}from"@node-i3x/rest-server";function C(e,n,o){let r=["",` i3X Server v${e}`,"",` OPC UA: ${n.endpoint}`,` REST: http://${n.host}:${n.port}`];o!==void 0&&r.push(` Model: ${o} nodes`),r.push(""),r.push(" Press Ctrl+C to stop"),r.push("");let t=Math.max(...r.map(a=>a.length))+2,s="-".repeat(t),d=` +${s}+`,c=` +${s}+`;console.log(d);for(let a of r)console.log(` |${a.padEnd(t)}|`);console.log(c),console.log()}async function M(e,n){let o=y,r=new T({endpointUrl:e.endpoint,securityMode:e.securityMode,optimizedClient:e.optimizedClient,username:e.username,password:e.password},o),i=new b(r,o),t=new E(i,o),s=new L(i,t,o),d=new P(i,t,o),c=new w(i,t,o,e.subscriptionInterval),a=new h(i,o),p=await A({dataSource:i,modelService:t,typeService:a,valueService:s,historyService:d,subscriptionService:c,logger:o,readOnly:e.readOnly});await i.connect();let f;if(e.modelPreload)try{f=(await t.preloadModel()).nodesById.size,await a.preloadTypes()}catch(I){o.error(`Model preload failed: ${String(I)}`),e.failOnPreloadError&&process.exit(1)}await p.listen({port:e.port,host:e.host}),C(n,e,f);let u=async()=>{o.info("Shutting down..."),await p.close(),await c.close(),await i.disconnect(),process.exit(0)};process.on("SIGINT",u),process.on("SIGTERM",u)}export{_ as resolveConfig,M as startServer};
1
+ import{cosmiconfig as P}from"cosmiconfig";import{load as C}from"js-yaml";var O={endpoint:"opc.tcp://localhost:4840",port:8080,host:"0.0.0.0",securityMode:"None",optimizedClient:"auto",subscriptionInterval:5,logLevel:"info",modelPreload:!0,failOnPreloadError:!1,readOnly:!1};function d(e){return process.env[e]}function v(e){let n=process.env[e];return n?parseInt(n,10):void 0}function I(e){let n=process.env[e];if(n)return n==="1"||n.toLowerCase()==="true"}function S(){let e={},n=d("I3X_OPCUA_ENDPOINT")??d("I3X_ENDPOINT");n&&(e.endpoint=n);let o=v("I3X_PORT");o!==void 0&&(e.port=o);let r=d("I3X_HOST");r&&(e.host=r);let i=d("I3X_OPCUA_SECURITY_MODE");i&&(e.securityMode=i);let t=d("I3X_OPCUA_OPTIMIZED_CLIENT");(t==="auto"||t==="disabled")&&(e.optimizedClient=t);let s=v("I3X_SUBSCRIPTION_INTERVAL_SECONDS");s!==void 0&&(e.subscriptionInterval=s);let f=d("I3X_LOG_LEVEL");f&&(e.logLevel=f);let c=I("I3X_MODEL_PRELOAD_ON_STARTUP");c!==void 0&&(e.modelPreload=c);let l=I("I3X_FAIL_STARTUP_ON_MODEL_PRELOAD_ERROR");l!==void 0&&(e.failOnPreloadError=l);let u=d("I3X_OPCUA_USERNAME");u&&(e.username=u);let p=d("I3X_OPCUA_PASSWORD");p&&(e.password=p);let m=I("I3X_READ_ONLY");return m!==void 0&&(e.readOnly=m),e}async function x(e,n){let o={},r=P("i3x",{searchPlaces:["i3x.config.yml","i3x.config.yaml","i3x.config.json",".i3xrc",".i3xrc.json",".i3xrc.yml",".i3xrc.yaml","package.json"],loaders:{".yml":(t,s)=>C(s),".yaml":(t,s)=>C(s)}});try{let t=n?await r.load(n):await r.search();t&&!t.isEmpty&&(o=t.config)}catch{}let i=S();return{...O,...o,...i,...e}}import{consoleLogger as _,HistoryService as h,ModelService as E,SubscriptionService as w,TypeService as T,ValueService as A}from"@node-i3x/core";import{OpcUaClient as b,OpcUaDataSourceAdapter as L}from"@node-i3x/opcua-connector";import{createApp as M}from"@node-i3x/rest-server";function y(e,n,o){let r=["",` i3X Server v${e}`,"",` OPC UA: ${n.endpoint}`,` REST: http://${n.host}:${n.port}`];o!==void 0&&r.push(` Model: ${o} nodes`),r.push(""),r.push(" Press Ctrl+C to stop"),r.push("");let t=Math.max(...r.map(l=>l.length))+2,s="-".repeat(t),f=` +${s}+`,c=` +${s}+`;console.log(f);for(let l of r)console.log(` |${l.padEnd(t)}|`);console.log(c),console.log()}function a(e,n,o){let r={type:"progress",phase:e,message:n,timestamp:Date.now(),...o};typeof process.send=="function"&&process.send(r)}async function R(e,n){let o=_;a("initializing","Creating OPC UA client...");let r=new b({endpointUrl:e.endpoint,securityMode:e.securityMode,optimizedClient:e.optimizedClient,username:e.username,password:e.password},o),i=new L(r,o),t=new E(i,o),s=new A(i,t,o),f=new h(i,t,o),c=new w(i,t,o,e.subscriptionInterval),l=new T(i,o);a("creating-rest","Creating REST API server...");let u=await M({dataSource:i,modelService:t,typeService:l,valueService:s,historyService:f,subscriptionService:c,logger:o,readOnly:e.readOnly});a("connecting",`Connecting to ${e.endpoint}...`),await i.connect(),a("connected","OPC UA session established");let p;if(e.modelPreload)try{a("preloading-model","Preloading object model..."),p=(await t.preloadModel()).nodesById.size,a("model-loaded",`Model loaded: ${p} nodes`,{nodeCount:p}),a("preloading-types","Preloading type definitions..."),await l.preloadTypes(),a("types-loaded","Type definitions loaded")}catch(g){a("error",`Model preload failed: ${String(g)}`),o.error(`Model preload failed: ${String(g)}`),e.failOnPreloadError&&process.exit(1)}a("starting-http","Starting HTTP server..."),await u.listen({port:e.port,host:e.host}),a("ready",`Server listening on ${e.host}:${e.port}`,{port:e.port,host:e.host}),y(n,e,p);let m=async()=>{o.info("Shutting down..."),await u.close(),await c.close(),await i.disconnect(),process.exit(0)};process.on("SIGINT",m),process.on("SIGTERM",m)}export{x as resolveConfig,R as startServer};
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/config.ts","../src/server.ts","../src/banner.ts"],"mappings":"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","names":["cosmiconfig","loadYaml","DEFAULTS","envStr","key","envInt","v","envBool","fromEnv","result","endpoint","port","host","securityMode","optimizedClient","interval","logLevel","preload","failOnPreload","username","password","readOnly","resolveConfig","cliArgs","configPath","fileConfig","explorer","_filepath","content","envConfig","consoleLogger","HistoryService","ModelService","SubscriptionService","TypeService","ValueService","OpcUaClient","OpcUaDataSourceAdapter","createApp","printBanner","version","config","nodeCount","lines","width","l","hr","top","bot","line","startServer","config","version","logger","consoleLogger","opcuaClient","OpcUaClient","dataSource","OpcUaDataSourceAdapter","modelService","ModelService","valueService","ValueService","historyService","HistoryService","subscriptionService","SubscriptionService","typeService","TypeService","app","createApp","nodeCount","err","printBanner","shutdown"]}
1
+ {"version":3,"sources":["../src/config.ts","../src/server.ts","../src/banner.ts"],"mappings":"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","names":["cosmiconfig","loadYaml","DEFAULTS","envStr","key","envInt","v","envBool","fromEnv","result","endpoint","port","host","securityMode","optimizedClient","interval","logLevel","preload","failOnPreload","username","password","readOnly","resolveConfig","cliArgs","configPath","fileConfig","explorer","_filepath","content","envConfig","consoleLogger","HistoryService","ModelService","SubscriptionService","TypeService","ValueService","OpcUaClient","OpcUaDataSourceAdapter","createApp","printBanner","version","config","nodeCount","lines","width","hr","top","bot","line","sendProgress","phase","message","extra","msg","startServer","config","version","logger","consoleLogger","opcuaClient","OpcUaClient","dataSource","OpcUaDataSourceAdapter","modelService","ModelService","valueService","ValueService","historyService","HistoryService","subscriptionService","SubscriptionService","typeService","TypeService","app","createApp","nodeCount","err","printBanner","shutdown"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@node-i3x/app",
3
- "version": "0.4.0",
3
+ "version": "0.5.1",
4
4
  "description": "i3X CLI -- expose OPC UA servers as i3X REST APIs",
5
5
  "license": "AGPL-3.0-or-later OR LicenseRef-Sterfive-Commercial",
6
6
  "author": "Sterfive SAS <contact@sterfive.com> (https://sterfive.com)",
@@ -39,9 +39,9 @@
39
39
  "typecheck": "tsc --noEmit"
40
40
  },
41
41
  "dependencies": {
42
- "@node-i3x/core": "0.4.0",
43
- "@node-i3x/opcua-connector": "0.4.0",
44
- "@node-i3x/rest-server": "0.4.0",
42
+ "@node-i3x/core": "0.5.1",
43
+ "@node-i3x/opcua-connector": "0.5.1",
44
+ "@node-i3x/rest-server": "0.5.1",
45
45
  "commander": "^15.0.0",
46
46
  "cosmiconfig": "^9.0.2",
47
47
  "fastify": "^5.8.5",