@transai/connector-runner-mkg 0.17.0 → 0.19.0

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/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## 0.18.0 (2026-03-19)
2
+
3
+ ### 🧱 Updated Dependencies
4
+
5
+ - Updated @transai/connector-runtime-sdk to 0.11.0
6
+
1
7
  ## 0.17.0 (2026-03-16)
2
8
 
3
9
  ### 🧱 Updated Dependencies
package/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var re=Object.create;var Y=Object.defineProperty;var ee=Object.getOwnPropertyDescriptor;var te=Object.getOwnPropertyNames;var ne=Object.getPrototypeOf,oe=Object.prototype.hasOwnProperty;var ie=(a,r)=>()=>(r||a((r={exports:{}}).exports,r),r.exports),se=(a,r)=>{for(var e in r)Y(a,e,{get:r[e],enumerable:!0})},sr=(a,r,e,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of te(r))!oe.call(a,n)&&n!==e&&Y(a,n,{get:()=>r[n],enumerable:!(t=ee(r,n))||t.enumerable});return a};var ar=(a,r,e)=>(e=a!=null?re(ne(a)):{},sr(r||!a||!a.__esModule?Y(e,"default",{value:a,enumerable:!0}):e,a)),ae=a=>sr(Y({},"__esModule",{value:!0}),a);var Jr=ie((er,tr)=>{"use strict";(function(a,r){typeof er=="object"&&typeof tr<"u"?tr.exports=r():typeof define=="function"&&define.amd?define(r):(a=typeof globalThis<"u"?globalThis:a||self).dayjs=r()})(er,(function(){"use strict";var a=1e3,r=6e4,e=36e5,t="millisecond",n="second",d="minute",u="hour",g="day",M="week",k="month",y="quarter",b="year",E="date",P="Invalid Date",F=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,Xr=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,Zr={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(p){var _=["th","st","nd","rd"],o=p%100;return"["+p+(_[(o-20)%10]||_[o]||_[0])+"]"}},Q=function(p,_,o){var c=String(p);return!c||c.length>=_?p:""+Array(_+1-c.length).join(o)+p},Qr={s:Q,z:function(p){var _=-p.utcOffset(),o=Math.abs(_),c=Math.floor(o/60),i=o%60;return(_<=0?"+":"-")+Q(c,2,"0")+":"+Q(i,2,"0")},m:function p(_,o){if(_.date()<o.date())return-p(o,_);var c=12*(o.year()-_.year())+(o.month()-_.month()),i=_.clone().add(c,k),m=o-i<0,l=_.clone().add(c+(m?-1:1),k);return+(-(c+(o-i)/(m?i-l:l-i))||0)},a:function(p){return p<0?Math.ceil(p)||0:Math.floor(p)},p:function(p){return{M:k,y:b,w:M,d:g,D:E,h:u,m:d,s:n,ms:t,Q:y}[p]||String(p||"").toLowerCase().replace(/s$/,"")},u:function(p){return p===void 0}},B="en",C={};C[B]=Zr;var or="$isDayjsObject",rr=function(p){return p instanceof q||!(!p||!p[or])},z=function p(_,o,c){var i;if(!_)return B;if(typeof _=="string"){var m=_.toLowerCase();C[m]&&(i=m),o&&(C[m]=o,i=m);var l=_.split("-");if(!i&&l.length>1)return p(l[0])}else{var v=_.name;C[v]=_,i=v}return!c&&i&&(B=i),i||!c&&B},w=function(p,_){if(rr(p))return p.clone();var o=typeof _=="object"?_:{};return o.date=p,o.args=arguments,new q(o)},h=Qr;h.l=z,h.i=rr,h.w=function(p,_){return w(p,{locale:_.$L,utc:_.$u,x:_.$x,$offset:_.$offset})};var q=(function(){function p(o){this.$L=z(o.locale,null,!0),this.parse(o),this.$x=this.$x||o.x||{},this[or]=!0}var _=p.prototype;return _.parse=function(o){this.$d=(function(c){var i=c.date,m=c.utc;if(i===null)return new Date(NaN);if(h.u(i))return new Date;if(i instanceof Date)return new Date(i);if(typeof i=="string"&&!/Z$/i.test(i)){var l=i.match(F);if(l){var v=l[2]-1||0,T=(l[7]||"0").substring(0,3);return m?new Date(Date.UTC(l[1],v,l[3]||1,l[4]||0,l[5]||0,l[6]||0,T)):new Date(l[1],v,l[3]||1,l[4]||0,l[5]||0,l[6]||0,T)}}return new Date(i)})(o),this.init()},_.init=function(){var o=this.$d;this.$y=o.getFullYear(),this.$M=o.getMonth(),this.$D=o.getDate(),this.$W=o.getDay(),this.$H=o.getHours(),this.$m=o.getMinutes(),this.$s=o.getSeconds(),this.$ms=o.getMilliseconds()},_.$utils=function(){return h},_.isValid=function(){return this.$d.toString()!==P},_.isSame=function(o,c){var i=w(o);return this.startOf(c)<=i&&i<=this.endOf(c)},_.isAfter=function(o,c){return w(o)<this.startOf(c)},_.isBefore=function(o,c){return this.endOf(c)<w(o)},_.$g=function(o,c,i){return h.u(o)?this[c]:this.set(i,o)},_.unix=function(){return Math.floor(this.valueOf()/1e3)},_.valueOf=function(){return this.$d.getTime()},_.startOf=function(o,c){var i=this,m=!!h.u(c)||c,l=h.p(o),v=function(I,S){var D=h.w(i.$u?Date.UTC(i.$y,S,I):new Date(i.$y,S,I),i);return m?D:D.endOf(g)},T=function(I,S){return h.w(i.toDate()[I].apply(i.toDate("s"),(m?[0,0,0,0]:[23,59,59,999]).slice(S)),i)},A=this.$W,R=this.$M,$=this.$D,x="set"+(this.$u?"UTC":"");switch(l){case b:return m?v(1,0):v(31,11);case k:return m?v(1,R):v(0,R+1);case M:var K=this.$locale().weekStart||0,N=(A<K?A+7:A)-K;return v(m?$-N:$+(6-N),R);case g:case E:return T(x+"Hours",0);case u:return T(x+"Minutes",1);case d:return T(x+"Seconds",2);case n:return T(x+"Milliseconds",3);default:return this.clone()}},_.endOf=function(o){return this.startOf(o,!1)},_.$set=function(o,c){var i,m=h.p(o),l="set"+(this.$u?"UTC":""),v=(i={},i[g]=l+"Date",i[E]=l+"Date",i[k]=l+"Month",i[b]=l+"FullYear",i[u]=l+"Hours",i[d]=l+"Minutes",i[n]=l+"Seconds",i[t]=l+"Milliseconds",i)[m],T=m===g?this.$D+(c-this.$W):c;if(m===k||m===b){var A=this.clone().set(E,1);A.$d[v](T),A.init(),this.$d=A.set(E,Math.min(this.$D,A.daysInMonth())).$d}else v&&this.$d[v](T);return this.init(),this},_.set=function(o,c){return this.clone().$set(o,c)},_.get=function(o){return this[h.p(o)]()},_.add=function(o,c){var i,m=this;o=Number(o);var l=h.p(c),v=function(R){var $=w(m);return h.w($.date($.date()+Math.round(R*o)),m)};if(l===k)return this.set(k,this.$M+o);if(l===b)return this.set(b,this.$y+o);if(l===g)return v(1);if(l===M)return v(7);var T=(i={},i[d]=r,i[u]=e,i[n]=a,i)[l]||1,A=this.$d.getTime()+o*T;return h.w(A,this)},_.subtract=function(o,c){return this.add(-1*o,c)},_.format=function(o){var c=this,i=this.$locale();if(!this.isValid())return i.invalidDate||P;var m=o||"YYYY-MM-DDTHH:mm:ssZ",l=h.z(this),v=this.$H,T=this.$m,A=this.$M,R=i.weekdays,$=i.months,x=i.meridiem,K=function(S,D,j,V){return S&&(S[D]||S(c,m))||j[D].slice(0,V)},N=function(S){return h.s(v%12||12,S,"0")},I=x||function(S,D,j){var V=S<12?"AM":"PM";return j?V.toLowerCase():V};return m.replace(Xr,(function(S,D){return D||(function(j){switch(j){case"YY":return String(c.$y).slice(-2);case"YYYY":return h.s(c.$y,4,"0");case"M":return A+1;case"MM":return h.s(A+1,2,"0");case"MMM":return K(i.monthsShort,A,$,3);case"MMMM":return K($,A);case"D":return c.$D;case"DD":return h.s(c.$D,2,"0");case"d":return String(c.$W);case"dd":return K(i.weekdaysMin,c.$W,R,2);case"ddd":return K(i.weekdaysShort,c.$W,R,3);case"dddd":return R[c.$W];case"H":return String(v);case"HH":return h.s(v,2,"0");case"h":return N(1);case"hh":return N(2);case"a":return I(v,T,!0);case"A":return I(v,T,!1);case"m":return String(T);case"mm":return h.s(T,2,"0");case"s":return String(c.$s);case"ss":return h.s(c.$s,2,"0");case"SSS":return h.s(c.$ms,3,"0");case"Z":return l}return null})(S)||l.replace(":","")}))},_.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},_.diff=function(o,c,i){var m,l=this,v=h.p(c),T=w(o),A=(T.utcOffset()-this.utcOffset())*r,R=this-T,$=function(){return h.m(l,T)};switch(v){case b:m=$()/12;break;case k:m=$();break;case y:m=$()/3;break;case M:m=(R-A)/6048e5;break;case g:m=(R-A)/864e5;break;case u:m=R/e;break;case d:m=R/r;break;case n:m=R/a;break;default:m=R}return i?m:h.a(m)},_.daysInMonth=function(){return this.endOf(k).$D},_.$locale=function(){return C[this.$L]},_.locale=function(o,c){if(!o)return this.$L;var i=this.clone(),m=z(o,c,!0);return m&&(i.$L=m),i},_.clone=function(){return h.w(this.$d,this)},_.toDate=function(){return new Date(this.valueOf())},_.toJSON=function(){return this.isValid()?this.toISOString():null},_.toISOString=function(){return this.$d.toISOString()},_.toString=function(){return this.$d.toUTCString()},p})(),ir=q.prototype;return w.prototype=ir,[["$ms",t],["$s",n],["$m",d],["$H",u],["$W",g],["$M",k],["$y",b],["$D",E]].forEach((function(p){ir[p[1]]=function(_){return this.$g(_,p[0],p[1])}})),w.extend=function(p,_){return p.$i||(p(_,q,w),p.$i=!0),w},w.locale=z,w.isDayjs=rr,w.unix=function(p){return w(1e3*p)},w.en=C[B],w.Ls=C,w.p={},w}))});var Ee={};se(Ee,{ConnectorRunnerMkg:()=>nr});module.exports=ae(Ee);var H=ar(require("node:process")),J=class{#r="connector-runtime";#t;constructor(r,e){this.#t=e,H.default.on?H.default.on("message",t=>{t.cmd===this.#r&&e.logger.verbose(`${H.default.pid} Received message from parent process:`,t)}):e.logger.warn("IPC channel is not available. process.on is undefined."),H.default.send||e.logger.warn("IPC channel is not available. process.send is undefined."),r.actions?.forEach(t=>{if(t.config.templates===void 0)return;let n={};Object.entries(t.config.templates).forEach(([d,u])=>{try{n[d]=e.templating.compile(u)}catch(g){e.logger.error(`Error compiling template ${d} for action ${t.identifier}`,g)}}),t.config.parsedTemplates=n})}init=()=>Promise.resolve();start=()=>Promise.resolve();stop=()=>Promise.resolve();set callbackFunction(r){this.connectorSDK.receiver.registerCallback(this.#e(r))}get connectorSDK(){return this.#t}#e(r){return async e=>{let t=await this.#t.receiver.getActionConfig(e);return t?r(e,t):this.#t.receiver.responses.badRequest("Action not found")(e)}}};var Yr=require("node:events");var O=class{constructor(r,e,t){this.action=r;this.payload=e;this.data=t}static NAME="trigger-sync"};var _r="mkg",cr=3600,dr="RowKey",pr="sys_dat_wijzig",mr=250,U="JSESSIONID",lr=1800*1e3;var s=class a{identifier;fields;immediate;interval;identifierField;dateField;rows;actions;constructor(r,e=[]){this.identifier=r.identifier,this.fields=r.fields,this.immediate=r.immediate!==!1,this.interval=r.interval??(this.fields.length>0?cr:0),this.identifierField=r.identifierField??dr,this.dateField=r.dateField??pr,this.rows=r.rows??mr,this.actions=e.map(t=>t.withParentTable(this))}cloneFromTableConfig(r){return r===!0||r.fields===void 0?this:new a({...this,fields:[...this.fields,...r.fields].filter((e,t,n)=>n.indexOf(e)===t)})}action(r){return this.actions.find(e=>e.identifier===r)}};var fr=new s({identifier:"artg",fields:["artg_num","artg_rela","artg_cred","artg_oms","artg_inkoopofferte"]});function ur(a,r,e){let t=gr(e,r),n={},d=a.response.ResultData;Array.isArray(d)||(d=[d]);for(let u of d)for(let[g,M]of Object.entries(u)){let k=t[g];if(k)for(let y of M)for(let[b,E]of Object.entries(y))k.includes(b)&&(n[b]=E)}return n}function L(a,r,e){let t=gr(e,r),n={};for(let[d,u]of Object.entries(a.ResultData)){let g=t[d];if(g)for(let M of u)for(let[k,y]of Object.entries(M))g.includes(k)&&(n[k]=y)}return n}function gr(a,r){let e={};return a.forEach(t=>{let[n,d]=t.split(".");n&&d?(e[n]||(e[n]=[]),e[n].push(d)):n&&(e[r]||(e[r]=[]),e[r].push(n))}),e}var f=class a{identifier;method;fields;optionalFields;defaultValues;responseFields;triggerRefresh;path;response;#r;constructor(r){this.identifier=r.identifier,this.method=r.method,this.fields=r.fields,this.triggerRefresh=r.triggerRefresh,this.defaultValues=r.defaultValues??{},this.optionalFields=r.optionalFields??[],this.responseFields=r.responseFields??[],this.path=r.path??this.defaultPathFormatter,this.response=r.response??ur}withParentTable(r){let e=new a(this);return e.#r=r,e}fieldSet(r){let e=new Map;return Object.entries(this.defaultValues).forEach(([t,n])=>{typeof n=="function"?e.set(t,n()):e.set(t,n)}),this.fields.forEach(t=>{let n=r[t];if(!n)throw new Error(`Missing required field '${t}' for action '${this.identifier}'`);e.set(t,n)}),this.optionalFields.forEach(t=>{let n=r[t];n&&e.set(t,n)}),Object.fromEntries(e.entries())}formatResponse(r){return this.response(r,this.#r.identifier,this.responseFields)}defaultPathFormatter(){return this.#r.identifier}};var _e=new f({identifier:"create",method:"POST",fields:["arti_code"],optionalFields:["arti_oms_1","arti_zoeknaam","debi_num","arti_inkoop_artikel","arti_eenh_vrd","arti_eenh_vrk","arti_eenh_bestelling","arti_eenh_ontvangst","arti_eenh_inkoopfactuur","arti_eenh_uitgifte","arti_eenh_productie","arti_eenh_handel","btwc_code","inkg_num","vrdg_num"],defaultValues:{arti_actief:!0,arti_eenh_vrd:"st.",arti_eenh_vrk:"st.",arti_eenh_bestelling:"st.",arti_eenh_ontvangst:"st.",arti_eenh_inkoopfactuur:"st.",arti_eenh_uitgifte:"st.",arti_eenh_productie:"st.",arti_eenh_handel:"st.",btwc_code:1,inkg_num:1,prdg_num:1,vrkg_num:1,vrdg_num:5e3},responseFields:["arti_code"],triggerRefresh:{arti:["arti_code"]}}),hr=new s({identifier:"arti",interval:60,fields:["arti_actief","arti_code","arti_revisie","arti_oms_1","arti_tekening","arti_stlh_num","arti_zoeknaam","arti_inkoop_artikel","arti_eenh_vrd","arti_eenh_vrk","arti_eenh_bestelling","arti_eenh_ontvangst","arti_eenh_inkoopfactuur","arti_eenh_uitgifte","arti_eenh_productie","arti_eenh_handel","btwc_code","debi_num","inkg_num","vrdg_num"]},[_e]);var vr=new s({identifier:"bwrg",fields:["bwrg_inkoopofferte","bwrg_memo","bwrg_oms","bwrg_num","bwrg_cred","bwrg_rela"]});var br=new s({identifier:"bwrk",interval:60,fields:["bwrk_actief","bwrk_oms","bwrk_num","bwrk_rsrc_instellen","bwrk_rsrc_bew","bwrk_onbemand"]});var kr=new s({identifier:"clch",interval:300,fields:["arti_code","clch_num","clch_oms_1","prdt_num","clch_vofh_proj"]});var Mr=new s({identifier:"clcr",interval:60,fields:["arti_code","clch_num","clcr_oms_1","clcr_tekening","clcr_niveau","clcr_num","clcr_parent","stlh_num","clcr_revisie"]});var ce=new f({identifier:"create",method:"POST",fields:["rela_num","cprs_email"],optionalFields:["cprs_voorletters","cprs_voornaam","cprs_tussenvoegsel","cprs_naam","cprs_telefoon","cprs_gsm"],defaultValues:{cprs_eigen_email:!0},responseFields:["cprs_num"],triggerRefresh:{cprs:["cprs_num"]}}),Tr=new s({identifier:"cprs",interval:300,fields:["cprs_actief","cprs_num","cprs_voorletters","cprs_voornaam","cprs_tussenvoegsel","cprs_naam","cprs_email","cprs_telefoon","cprs_gsm","rela_num"]},[ce]);var wr=new s({identifier:"debi",fields:["debi_actief","debi_num","debi_kvk_num","debi_naam","rela_num","debi_btw_num"]});var Ar=new s({identifier:"magl",fields:["magl_memo","magl_oms_3","magl_shopfloor","magl_niet_autores","magl_oms_2","magl_code","magl_blok","magl_oms_1"]});var yr=new s({identifier:"magz",fields:["magz_memo","magz_oms_1","magz_oms_2","magz_code","magz_oms_3","magz_niet_autores","magz_blok"]});var Rr=new s({identifier:"pamt",interval:60,fields:["pamt_aantal","part_num","arti_code","pamt_vrd_aantal","pamt_dat_fysiek","pamt_type","prdh_num","vorh_num","vorr_num","prdr_num"]});var de=new f({identifier:"move",method:"PUT",fields:["admi_num","part_num","magl_code","t_doel_magl","t_doel_aantal","RowKey"],path:()=>"parl/0/Service/s_partij_verplaatsen"}),Er=new s({identifier:"parl",fields:[]},[de]);var Sr=new s({identifier:"part",fields:["part_dat_eind","t_aant_vrij","part_num","part_dat_start","arti_code","part_oms_1","part_historisch","t_aant_fysiek"]});var pe=new f({identifier:"create",method:"POST",fields:["prdh_num","prdr_num","bwrk_num","plnb_dat_start","plnb_tijd_start"],triggerRefresh:{plnb:["plnb_num"]}}),$r=new s({identifier:"plnb",interval:300,fields:["plnb_num","prdh_num","prdr_num","bwrk_num","rsrc_num","medw_num","prbv_num","arti_code","plnb_oms","plnb_dat_start","plnb_tijd_start","plnb_dat_eind","plnb_tijd_eind","plnb_duur","plnb_instel_tijd","plnb_plan_instel_tijd","plnb_plan_tijd_per_stuk","plnb_tijd_factor","plnb_dat_gestart","plnb_tijd_gestart","plnb_wk_gestart","plnb_gestart","plnb_gereed","plnb_vast","plnb_forecast","plnb_onbemand","plnb_aantal","plnb_aantal_grd","plnb_aantal_per_uur","plnb_bijloop_aantal","plnb_uitb_aantal","plnb_volgorde"]},[pe]);var Dr=new s({identifier:"plnc",interval:120,fields:["prdh_num","prdr_num","rsrc_num","plnc_datum","plnc_week","plnc_maand","plnc_tijd","plnc_tijd_bemand","plnc_forecast"]});var me=new f({identifier:"create.prdh_prdr",method:"POST",fields:["bwrk_num","prbv_tijd_per_stuk"],path:a=>{let r=a.prdh_num;if(!r)throw new Error("Missing required field 'prdh_num' for action 'create'");let e=a.prdr_num;if(!e)throw new Error("Missing required field 'prdr_num' for action 'create'");return`prdr/1+${r}+${e}/prdr_prbv`},triggerRefresh:{prbv:["prdh_num","prdr_num"]}}),Cr=new s({identifier:"prbv",interval:60,fields:["prdh_num","prdr_num","bwrk_num","rsrc_num","prbv_volgorde","prbv_oms","prbv_instel_tijd","prbv_onbemand"]},[me]);var le=new f({identifier:"create",method:"POST",fields:["prdh_oms_1"],optionalFields:["proj_num","prdh_dat_order","prdh_dat_planning"],responseFields:["prdh_num"],triggerRefresh:{prdh:["prdh_num"]}}),Kr=new s({identifier:"prdh",interval:60,fields:["prdh_num","prdh_forecast","prdh_historisch","prdh_dat_planning","prdh_dat_order","t_klant","proj_num","prdh_oms_1"]},[le]);var fe=new f({identifier:"create-prdh-eindproduct",method:"POST",fields:["prdr_aantal","arti_code"],responseFields:["prdh_num","prdr_num"],path:a=>{let{prdh_num:r}=a;if(!r)throw new Error("Missing required field 'prdh_num' for action 'create'");return`prdh/${r}/prdh_eindproduct/`},triggerRefresh:{prdr:["prdh_num","prdr_num"]}}),ue=new f({identifier:"in-production",method:"PUT",fields:[],path:(a,r)=>{let{prdh_num:e,prdr_num:t}=a;if(!e)throw new Error("Missing required field 'prdh_num' for action 'create'");if(!t)throw new Error("Missing required field 'prdr_num' for action 'create'");return`prdr/${r.administration}+${e}+${t}/Service/s_actie_in_productie`},response:L,triggerRefresh:{prdr:["prdh_num","prdr_num"]}}),ge=new f({identifier:"done",method:"PUT",fields:["t_verwerk_aantal"],defaultValues:{RowKey:1,t_verwerk_afgewerkt:"true",t_verwerk_datum:()=>{let a=new Date,r=a.getFullYear(),e=String(a.getMonth()+1).padStart(2,"0"),t=String(a.getDate()).padStart(2,"0");return`${r}-${e}-${t}`}},path:(a,r)=>{let{prdh_num:e,prdr_num:t}=a;if(!e)throw new Error("Missing required field 'prdh_num' for action 'create'");if(!t)throw new Error("Missing required field 'prdr_num' for action 'create'");return`prdr/${r.administration}+${e}+${t}/Service/s_actie_aantal_gereed`},response:L,triggerRefresh:{prdr:["prdh_num","prdr_num"]}}),Ir=new s({identifier:"prdr",interval:60,rows:500,fields:["prdh_num","prdr_num","prdr_aantal","prdr_grd_aantal","prdr_prod_aantal","prdr_volgorde","prdr_niveau","prdr_revisie","prdr_oms_1","prdr_tekening","prdr_parent","stlh_num","stlr_num","arti_code","t_status_oms","prdr_dat_start","prdr_dat_fysiek","t_status","t_statusinfo"]},[fe,ue,ge]);var he=new f({identifier:"create.prdh_prdr",method:"POST",fields:["prmv_oms_1","cred_num"],path:a=>{let r=a.prdh_num;if(!r)throw new Error("Missing required field 'prdh_num' for action 'create'");let e=a.prdr_num;if(!e)throw new Error("Missing required field 'prdr_num' for action 'create'");return`prdr/1+${r}+${e}/prdr_prmv`}}),Or=new s({identifier:"prmv",fields:[]},[he]);var xr=new s({identifier:"proj",interval:300,fields:["admi_num","RowTime","proj_oms","proj_historisch","proj_prdh","RowKey","proj_num","proj_vorh","proj_zoeknaam"]});var Lr=new s({identifier:"rela",fields:["rela_num","rela_naam","rela_zoeknaam","rela_email","rela_actief","rela_plaats","rela_postcode","rela_www","rela_telefoon"]});var Gr=new s({identifier:"rgrs",interval:300,fields:["abnk_bizcuit_id","aant_vraag_oms","abnk_oms","adon_code","adon_oms","adop_code","arti_code","bwrg_oms","bwrk_oms","cert_code","gebr_code","kbdp_oms","kltn_code","kstg_oms","land_code","magw_code","medw_betaling_per_bank_2_naam","medw_betaling_per_bank_naam","medw_naam","medw_premiesparen_naam","medw_spaarloon_naam","rela_naam","reld_oms","rsrc_oms","rsrg_oms","spco_code","strd_oms","t_bwrk_num_oms","t_bwrk_oms","t_oms","t_omschrijving","aanr_datum","aanr_num","aans_num","aant_num","abnk_num","adma_num","admi_num","afdl_num","agtn_num","apia_num","bank_num","bwrf_num","bwrg_num","bwrk_num","clcb_num","clch_num","clch_vofh_num","clch_vofh_verk_num","clcm_num","clcr_num","clct_num","cred_num","debi_num","dgbk_num","fcth_num","geac_num","ifch_num","inkg_num","iofh_num"]});var Pr=new s({identifier:"rsrc",interval:300,fields:["rsrc_fcst_eindige_cap","rsrc_oms","rsrc_memo","rsrc_volgorde","rsrc_magl_in","rsrc_onbemand","rsrc_num","rsrc_calc_eindige_cap","rsrc_magl_uit","rsrc_aantal","rsrc_calc_bucket","rsrc_eindige_cap","rsrc_fcst_bucket","rsrc_bucket","rsrc_afbeelding"]});var Fr=new s({identifier:"rsrd",interval:300,fields:["rsrd_zo_p2_van","rsrd_za_p2_tot","rsrd_do_p1_tot","rsrd_di_p5_tot","rsrd_zo_p5_tot","rsrd_do_p3_tot","rsrd_ma_p4_tot","rsrd_wo_p3_van","rsrd_zo_p1_van","rsrd_fd_p1_van","rsrd_do_p5_van","rsrd_wo_p2_tot","rsrd_za_van","rsrd_vr_p3_van","rsrd_za_p4_van","rsrd_ma_p5_tot","rsrd_fd_p3_van","rsrd_wo_tot","rsrd_vr_tot","rsrd_ma_p1_tot","rsrd_wo_p1_tot","rsrd_zo_p4_tot","rsrd_di_p4_tot","rsrd_ma_p3_van","rsrd_ma_p5_van","rsrd_di_tot","rsrd_fd_p4_van","rsrd_vr_van","rsrd_za_p3_tot","rsrd_za_p1_van","rsrd_zo_p5_van","rsrd_fd_p2_tot","rsrd_vr_p5_van","rsrd_di_p4_van","rsrd_za_p5_tot","rsrd_di_p3_van","rsrd_ma_p2_tot","rsrd_di_van","rsrd_do_p1_van","rsrd_zo_p3_tot","rsrd_vr_p5_tot","rsrd_zo_p1_tot","rsrd_ma_van","rsrd_do_tot","rsrd_wo_p2_van","rsrd_vr_p3_tot","rsrd_di_p1_van","rsrd_za_p5_van","rsrd_fd_p5_van","rsrd_vr_p4_tot","rsrd_wo_p3_tot","rsrd_fd_p1_tot","rsrd_fd_p3_tot","rsrd_ma_p4_van","rsrd_di_p3_tot","rsrd_zo_p4_van","rsrd_do_p4_tot","rsrd_do_van","rsrd_do_p3_van","rsrd_wo_p1_van","rsrd_za_p4_tot","rsrd_zo_van","rsrd_do_p2_tot","rsrd_vr_p2_van","rsrd_vr_p2_tot","rsrd_vr_p1_tot","rsrd_do_p5_tot","rsrd_wo_van","rsrd_zo_tot","rsrd_za_p2_van","rsrd_oms","rsrd_zo_p3_van","rsrd_fd_p2_van","rsrd_do_p4_van","rsrd_di_p2_tot","rsrd_za_p3_van","rsrd_wo_p4_van","rsrd_vr_p4_van","rsrd_wo_p4_tot","rsrd_num","rsrd_ma_tot","rsrd_ma_p1_van","rsrd_di_p5_van","rsrd_fd_p5_tot","rsrd_vr_p1_van","rsrd_di_p2_van","rsrd_do_p2_van","rsrd_wo_p5_van","rsrd_za_tot","rsrd_ma_p3_tot"]});var Br=new s({identifier:"rsrg",fields:["rsrg_num","rsrg_memo","rsrg_oms"]});var ve=new f({identifier:"create",method:"POST",fields:["stlh_num","bwrk_num"],optionalFields:["stlr_num","rsrc_num","stlb_aantal","stlb_oms","stlb_volgorde","stlb_instel_tijd","stlb_tijd_factor","stlb_tijd_per_stuk","stlb_tijd_man","stlb_tijd_mach"],responseFields:["stlb_num"],triggerRefresh:{stlb:["stlb_num"]}}),Nr=new s({identifier:"stlb",interval:60,fields:["stlh_num","stlr_num","stlb_num","rsrc_num","bwrk_num","stlb_aantal","stlb_oms","stlb_volgorde","stlb_instel_tijd","stlb_tijd_factor","stlb_tijd_per_stuk","stlb_tijd_man","stlb_tijd_mach"]},[ve]);var be=new f({identifier:"create",method:"POST",fields:["arti_code"],responseFields:["stlh_num"],triggerRefresh:{stlh:["stlh_num"]}}),jr=new s({identifier:"stlh",interval:60,fields:["stlh_actief","arti_code","stlh_oms_1","stlh_num"]},[be]);var ke=new f({identifier:"create",method:"POST",fields:["stlh_num","arti_code"],optionalFields:["stlr_num","stlm_aantal","stlm_oms1","stlm_volgorde"],responseFields:["stlm_num"],triggerRefresh:{stlm:["stlm_num"]}}),Hr=new s({identifier:"stlm",interval:60,fields:["stlh_num","stlr_num","stlm_num","arti_code","stlm_aantal","stlm_oms1","stlm_volgorde"]},[ke]);var Me=new f({identifier:"create",method:"POST",fields:["stlh_num","arti_code"],optionalFields:["stlr_aantal"],responseFields:["stlr_num"],triggerRefresh:{stlr:["stlr_num"]}}),Ur=new s({identifier:"stlr",interval:60,fields:["stlh_num","stlr_num","stlr_parent","arti_code","stlr_aantal","stlr_prod_aantal","stlr_tot_aantal","stlr_volgorde","stlr_niveau"]},[Me]);var Te=new f({identifier:"create",method:"POST",fields:["debi_num"],optionalFields:["proj_num","vorh_dat_levering","vorh_dat_gewenst","vorh_dat_order","vorh_ref_onze","vorh_ref_uw","verk_num","valu_code"],responseFields:["vorh_num"],triggerRefresh:{vorh:["vorh_num"]}}),zr=new s({identifier:"vorh",interval:60,fields:["valu_code","debi_num","vorh_dat_levering","vorh_dat_gewenst","vorh_dat_order","vorh_bestelcode_extern","vorh_historisch","vorh_ref_onze","vorh_ref_uw","taal_code","rela_num","vorh_num","proj_num","verk_num","t_cprs_email"]},[Te]);var we=new f({identifier:"create-vorh-line",method:"POST",fields:["arti_code"],optionalFields:["vorr_dat_gewenst","vorr_oms_1","vorr_oms_2","vorr_order_aantal","vorr_tekening","vrdg_num","vrkg_num"],path:a=>{let{vorh_num:r}=a;if(!r)throw new Error("Missing required field 'vorh_num' for action 'create'");return`vorh/${r}/vorh_vorr/`},responseFields:["vorh_num","vorr_num"],triggerRefresh:{vorr:["vorh_num","vorr_num"]}}),Ae=new f({identifier:"create-prdh",method:"PUT",fields:[],path:(a,r)=>{let{vorh_num:e,vorr_num:t}=a;if(!e)throw new Error("Missing required field 'vorh_num' for action 'create-prdh'");if(!t)throw new Error("Missing required field 'vorr_num' for action 'create-prdh'");return`vorr/${r.administration}+${e}+${t}/Service/s_createproductionorder`},responseFields:["prdr.prdh_num","prdr.prdr_num"],response:L,triggerRefresh:{prdr:["prdh_num","prdr_num"],vorr:["vorh_num","vorr_num"]}}),ye=new f({identifier:"create-backflush",method:"PUT",fields:[],path:(a,r)=>{let{vorh_num:e,vorr_num:t}=a;if(!e)throw new Error("Missing required field 'vorh_num' for action 'create-backflush'");if(!t)throw new Error("Missing required field 'vorr_num' for action 'create-backflush'");return`vorr/${r.administration}+${e}+${t}/Service/s_createbackflush`},response:L,triggerRefresh:{vorr:["vorh_num","vorr_num"]}}),qr=new s({identifier:"vorr",interval:60,fields:["vorh_num","vorr_num","arti_code","vorr_revisie","vorr_dat_gewenst","vorr_oms_1","vorr_oms_2","vorr_order_aantal","vorr_tekening","vrdg_num","vrkg_num","stlh_num"]},[we,Ae,ye]);var Vr=new s({identifier:"vrdg",fields:["vrdg_grbk_pv_grd_uitb","vrdg_grbk_hw_grd_uitb","vrdg_grbk_grd_mat","vrdg_grbk_hw_grd_mat","vrdg_grbk_hw_grd_man","vrdg_grbk_vrd_mat","vrdg_grbk_hw_grd_mach","vrdg_grbk_grd_mach","vrdg_num","vrdg_grbk_pv_grd_mat","vrdg_grbk_kst_mach","vrdg_grbk_kst_mat","vrdg_grbk_pv_grd_mach","vrdg_grbk_kst_man","vrdg_grbk_kst_uitb","vrdg_oms","vrdg_grbk_grd_uitb","vrdg_grbk_pv_grd_man","vrdg_grbk_pv_vrd_mat","vrdg_grbk_grd_man"]});var Re=[Lr,wr,hr,Pr,Fr,Br,yr,Ar,jr,Ur,Hr,Kr,br,vr,kr,Vr,Gr,$r,Dr,fr,Ir,Or,Cr,Er,Mr,Tr,xr,zr,qr,Nr,Sr,Rr],W=Re.reduce((a,r)=>(a[r.identifier]=r,a),{});var X=class extends Yr.EventEmitter{#r;#t;constructor(r,e){super(),this.#r=r,this.#t=e}get callbackFunctionChain(){return this.#e(this.#r.receiver.emitEventType(this.#r.receiver.responses.ok()))}#e(r){return async(e,t)=>{try{this.#r.logger.debug(`[MKG] Apply templates on payload: ${JSON.stringify(e.payload)}, action: ${JSON.stringify(t)}`);let n={administration:this.#r.config.administration??"1"},d=t.config.action;if(!d){let b=`[MKG] Missing required action input parameters in message ${e.eventId}`;return this.#r.logger.warn(b),this.#r.receiver.responses.badRequest(b)(e)}this.#r.logger.debug(`[MKG] Parsed action: ${d}, params json: ${JSON.stringify(e.payload)}`);let[u,...g]=d.split("."),M=g.join("."),k=W[u];if(!k)return this.#r.logger.warn(`[MKG] Unknown table identifier "${u}" in message ${e.eventId}`),this.#r.receiver.responses.badRequest(`[MKG] Unknown table identifier "${u}"`)(e);let y=k.action(M);if(!y){let b=`[MKG] Unknown action identifier "${M}" within table "${u}" in message ${e.eventId}`;return this.#r.logger.warn(b),this.#r.receiver.responses.badRequest(b)(e)}if(e.testRun)return this.#r.logger.info(`[MKG] Test run for ${e.eventId} to action ${d}`),r(e);try{let b=new URLSearchParams;y.responseFields.length>0&&b.set("FieldList",y.responseFields.join(","));let E=y.fieldSet(e.payload),P=await this.#t.request(y.method,`/web/v3/MKG/Documents/${y.path(e.payload,n)}?${b.toString()}`,{...["POST","PUT"].includes(y.method)&&Object.keys(E).length>0?{data:{request:{InputData:{[u]:[E]}}}}:{}});this.#r.logger.debug(`[MKG] Got action "${M}" of table "${u}" response from MKG: ${JSON.stringify(P)}`);let F=y.formatResponse(P.data);return this.#r.logger.verbose(`[MKG] Formatted action "${M}" of table "${u}" response to ${Object.keys(F).length} fields`),y.triggerRefresh&&this.emit(O.NAME,new O(y,e.payload,F)),r({...e,payload:F})}catch(b){let E=`[MKG] Failed to perform action "${M}" of table "${u}": (${b?.status}) ${b?.error??b?.message}`;return this.#r.logger.error(E),this.#r.receiver.responses.unprocessableEntity(E)(e)}}catch(n){return this.#r.receiver.responses.internalServerError(n instanceof Error?n.message:"Unknown error occurred")(e)}}}};var Wr=ar(Jr());function G(a){let{config:r}=a;return`https://${r.server}:${r.port??443}/${(r.path??"/mkg").replace(/^\/+/,"")}`}var Z=class{#r;#t;#e;#n;#o;constructor(r,e,t,n){this.#r=r,this.#t=e,this.#e=t,this.#n=n,this.#o=n.fields.join(",")}get name(){return`mkg-extractor-${this.#e}`}async onRun(r){try{let e=new Date,t=await this.#r.offsetStore.getOffset(`offset_${this.#e}`),n=await this.#i(t,r);if(n.length===0){this.#r.logger.verbose(`[MKG] No new data found for ${this.#e}`);return}await this.#r.sender.documents(n,{keyField:this.#n.identifierField,collection:`${this.#r.config.datasourceIdentifier??_r}_${this.#e}`}),this.#r.logger.debug(`[MKG] Processed ${n.length} records from ${this.#e}`),this.#r.offsetStore.setOffset({id:String(n[n.length-1]?.[this.#n.identifierField]??t.id),timestamp:e.getTime(),rawTimestamp:e.toISOString()},`offset_${this.#e}`)}catch(e){throw this.#r.logger.error("[MKG] Failed to retrieve and process data from OPC UA source service",{error:e}),e}}#i=async(r,e)=>{let t=[];if(Object.entries(e??{}).forEach(([d,u])=>t.push(`${d}=${u}`)),Object.entries(t).length===0&&r.id!==0){let d=(0,Wr.default)(r.rawTimestamp);t.push(`${this.#n.dateField}>=${d.format("YYYY-MM-DD")}`)}let n=new URLSearchParams;n.set("NumRows",String(this.#n.rows)),n.set("FieldList",`${this.#n.dateField},${this.#o}`),t.length>0&&n.set("Filter",t.join(" AND "));try{let d=`/web/v3/MKG/Documents/${this.#e}`;this.#r.logger.verbose(`[MKG] Fetching data from '${G(this.#r)}${d}'...`);let g=(await this.#t.get(`${d}?${n.toString()}`)).data?.response?.ResultData?.[0]?.[this.#e]??[];return this.#r.logger.verbose(`[MKG] Fetched ${g.length} records from '${G(this.#r)}${d}'`),g}catch(d){let u=`[MKG] Failed to fetch data from table "${this.#e}": (${d?.status}) ${d?.error??d?.message}`;this.#r.logger.error(u)}return[]}};var nr=class extends J{#r;#t;#e;#n={};#o;constructor(r,e){super(r,e);let t=G(this.connectorSDK);this.#e=this.connectorSDK.httpClient({baseUrl:t}),this.#t=this.connectorSDK.httpClient({baseUrl:t}).setRequestOptionsFormatter(this.#i),this.#r=new X(this.connectorSDK,this.#t).on(O.NAME,n=>this.#c(n)),this.callbackFunction=this.#r.callbackFunctionChain}init=async()=>{let{config:r}=this.connectorSDK;await this.#s(r.username,r.password).catch(e=>{throw this.connectorSDK.logger.error("[MKG] Error retrieving initial session cookie:",e),new Error("Failed to initialize connector due to authentication error.")}),Object.entries(r.tables??{}).forEach(([e,t])=>{let n=W[e];if(!n){this.connectorSDK.logger.warn(`[MKG] Unknown table identifier "${e}", skipping configuration.`);return}if(!n.interval||n.interval<=0){this.connectorSDK.logger.verbose(`[MKG] Table "${e}" does not have a valid interval configured, skipping registration.`);return}let d=new Z(this.connectorSDK,this.#t,e,n.cloneFromTableConfig(t));this.#n[e]=d,this.connectorSDK.processing.registerInterval(n.interval,d,{immediate:n.immediate})})};#i=async r=>{let{config:e}=this.connectorSDK,t=await this.#s(e.username,e.password).catch(n=>{throw this.connectorSDK.logger.error("[MKG] Error retrieving session cookie:",n),n});return{...r,headers:{...r?.headers??{},...this.#a(t)}}};async#s(r,e){let t=this.#o;if(t&&t.expiresAt>Date.now())return t.token;let n="/static/auth/j_spring_security_check";this.connectorSDK.logger.verbose(`[MKG] Retrieving session cookie from '${G(this.connectorSDK)}${n}' with 'j_username=${encodeURIComponent(r)}&j_password=${"*".repeat(e.length)}'`);let d=await this.#e.post(n,`j_username=${encodeURIComponent(r)}&j_password=${encodeURIComponent(e)}`,{headers:{Accept:"application/json","Content-Type":"application/x-www-form-urlencoded"}});if(!d)throw new Error("Failed to authenticate and retrieve session cookie");let g=(d.headers?.["set-cookie"]??d.headers?.["Set-Cookie"]??[]).find(k=>k.startsWith(`${U}=`));if(!g)throw new Error("Session cookie not found in authentication response");let M=g.split(";")[0]?.substring(`${U}=`.length);return this.#o={token:M,expiresAt:Date.now()+lr-1e3},this.connectorSDK.logger.debug(`[MKG] Session cookie fetched successfully for user '${r}', expires at ${new Date(this.#o.expiresAt).toISOString()}`),await this.#_(M),M}#a(r){let{config:e}=this.connectorSDK,{apiToken:t}=e;return this.connectorSDK.logger.verbose(`[MKG] Using api headers: ${U}=${"*".repeat(r.length)} & X-CustomerID=${"*".repeat(t.length)}`),{Cookie:`${U}=${r}`,"X-CustomerID":t}}async#_(r){let{config:e}=this.connectorSDK,{administration:t,fiscalYear:n,language:d}=e;if(!(t?.length||n?.length||d?.length)){this.connectorSDK.logger.verbose("[MKG] No administration settings to update.");return}let u="/web/v3/MKG/Settings",g=[];t&&g.push({t_name:"Administration",t_value:t}),n&&g.push({t_name:"FiscalYear",t_value:n}),d&&g.push({t_name:"Language",t_value:d}),this.connectorSDK.logger.verbose(`[MKG] Updating administration settings: ${JSON.stringify(g)}`),await this.#e.put(u,{request:{InputData:{t_setting:g}}},{headers:{Accept:"application/json","Content-Type":"application/json",...this.#a(r)}}).catch(M=>{throw this.connectorSDK.logger.error("[MKG] Error updating administration settings:",M),M}),this.connectorSDK.logger.debug("[MKG] Administration settings updated successfully.")}#c(r){Object.entries(r.action.triggerRefresh??{}).forEach(async([e,t])=>{this.connectorSDK.logger.verbose(`[MKG] Triggering sync for table "${e}" due to action "${r.action.identifier}"`);let n=this.#n[e];n||this.connectorSDK.logger.warn(`[MKG] No extractor found for table "${e}", cannot trigger sync.`);let d=Object.fromEntries(Object.entries({...r.payload,...r.data}).filter(([u])=>t.includes(u)));await n.onRun(d)})}};0&&(module.exports={ConnectorRunnerMkg});
1
+ "use strict";var re=Object.create;var Y=Object.defineProperty;var ee=Object.getOwnPropertyDescriptor;var te=Object.getOwnPropertyNames;var ne=Object.getPrototypeOf,oe=Object.prototype.hasOwnProperty;var ie=(a,r)=>()=>(r||a((r={exports:{}}).exports,r),r.exports),se=(a,r)=>{for(var e in r)Y(a,e,{get:r[e],enumerable:!0})},sr=(a,r,e,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of te(r))!oe.call(a,n)&&n!==e&&Y(a,n,{get:()=>r[n],enumerable:!(t=ee(r,n))||t.enumerable});return a};var ar=(a,r,e)=>(e=a!=null?re(ne(a)):{},sr(r||!a||!a.__esModule?Y(e,"default",{value:a,enumerable:!0}):e,a)),ae=a=>sr(Y({},"__esModule",{value:!0}),a);var Jr=ie((er,tr)=>{"use strict";(function(a,r){typeof er=="object"&&typeof tr<"u"?tr.exports=r():typeof define=="function"&&define.amd?define(r):(a=typeof globalThis<"u"?globalThis:a||self).dayjs=r()})(er,(function(){"use strict";var a=1e3,r=6e4,e=36e5,t="millisecond",n="second",d="minute",u="hour",g="day",M="week",k="month",y="quarter",b="year",E="date",G="Invalid Date",F=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,Xr=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,Zr={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(p){var _=["th","st","nd","rd"],o=p%100;return"["+p+(_[(o-20)%10]||_[o]||_[0])+"]"}},Q=function(p,_,o){var c=String(p);return!c||c.length>=_?p:""+Array(_+1-c.length).join(o)+p},Qr={s:Q,z:function(p){var _=-p.utcOffset(),o=Math.abs(_),c=Math.floor(o/60),i=o%60;return(_<=0?"+":"-")+Q(c,2,"0")+":"+Q(i,2,"0")},m:function p(_,o){if(_.date()<o.date())return-p(o,_);var c=12*(o.year()-_.year())+(o.month()-_.month()),i=_.clone().add(c,k),m=o-i<0,l=_.clone().add(c+(m?-1:1),k);return+(-(c+(o-i)/(m?i-l:l-i))||0)},a:function(p){return p<0?Math.ceil(p)||0:Math.floor(p)},p:function(p){return{M:k,y:b,w:M,d:g,D:E,h:u,m:d,s:n,ms:t,Q:y}[p]||String(p||"").toLowerCase().replace(/s$/,"")},u:function(p){return p===void 0}},B="en",I={};I[B]=Zr;var or="$isDayjsObject",rr=function(p){return p instanceof q||!(!p||!p[or])},z=function p(_,o,c){var i;if(!_)return B;if(typeof _=="string"){var m=_.toLowerCase();I[m]&&(i=m),o&&(I[m]=o,i=m);var l=_.split("-");if(!i&&l.length>1)return p(l[0])}else{var v=_.name;I[v]=_,i=v}return!c&&i&&(B=i),i||!c&&B},w=function(p,_){if(rr(p))return p.clone();var o=typeof _=="object"?_:{};return o.date=p,o.args=arguments,new q(o)},h=Qr;h.l=z,h.i=rr,h.w=function(p,_){return w(p,{locale:_.$L,utc:_.$u,x:_.$x,$offset:_.$offset})};var q=(function(){function p(o){this.$L=z(o.locale,null,!0),this.parse(o),this.$x=this.$x||o.x||{},this[or]=!0}var _=p.prototype;return _.parse=function(o){this.$d=(function(c){var i=c.date,m=c.utc;if(i===null)return new Date(NaN);if(h.u(i))return new Date;if(i instanceof Date)return new Date(i);if(typeof i=="string"&&!/Z$/i.test(i)){var l=i.match(F);if(l){var v=l[2]-1||0,T=(l[7]||"0").substring(0,3);return m?new Date(Date.UTC(l[1],v,l[3]||1,l[4]||0,l[5]||0,l[6]||0,T)):new Date(l[1],v,l[3]||1,l[4]||0,l[5]||0,l[6]||0,T)}}return new Date(i)})(o),this.init()},_.init=function(){var o=this.$d;this.$y=o.getFullYear(),this.$M=o.getMonth(),this.$D=o.getDate(),this.$W=o.getDay(),this.$H=o.getHours(),this.$m=o.getMinutes(),this.$s=o.getSeconds(),this.$ms=o.getMilliseconds()},_.$utils=function(){return h},_.isValid=function(){return this.$d.toString()!==G},_.isSame=function(o,c){var i=w(o);return this.startOf(c)<=i&&i<=this.endOf(c)},_.isAfter=function(o,c){return w(o)<this.startOf(c)},_.isBefore=function(o,c){return this.endOf(c)<w(o)},_.$g=function(o,c,i){return h.u(o)?this[c]:this.set(i,o)},_.unix=function(){return Math.floor(this.valueOf()/1e3)},_.valueOf=function(){return this.$d.getTime()},_.startOf=function(o,c){var i=this,m=!!h.u(c)||c,l=h.p(o),v=function(K,S){var D=h.w(i.$u?Date.UTC(i.$y,S,K):new Date(i.$y,S,K),i);return m?D:D.endOf(g)},T=function(K,S){return h.w(i.toDate()[K].apply(i.toDate("s"),(m?[0,0,0,0]:[23,59,59,999]).slice(S)),i)},A=this.$W,R=this.$M,$=this.$D,x="set"+(this.$u?"UTC":"");switch(l){case b:return m?v(1,0):v(31,11);case k:return m?v(1,R):v(0,R+1);case M:var C=this.$locale().weekStart||0,N=(A<C?A+7:A)-C;return v(m?$-N:$+(6-N),R);case g:case E:return T(x+"Hours",0);case u:return T(x+"Minutes",1);case d:return T(x+"Seconds",2);case n:return T(x+"Milliseconds",3);default:return this.clone()}},_.endOf=function(o){return this.startOf(o,!1)},_.$set=function(o,c){var i,m=h.p(o),l="set"+(this.$u?"UTC":""),v=(i={},i[g]=l+"Date",i[E]=l+"Date",i[k]=l+"Month",i[b]=l+"FullYear",i[u]=l+"Hours",i[d]=l+"Minutes",i[n]=l+"Seconds",i[t]=l+"Milliseconds",i)[m],T=m===g?this.$D+(c-this.$W):c;if(m===k||m===b){var A=this.clone().set(E,1);A.$d[v](T),A.init(),this.$d=A.set(E,Math.min(this.$D,A.daysInMonth())).$d}else v&&this.$d[v](T);return this.init(),this},_.set=function(o,c){return this.clone().$set(o,c)},_.get=function(o){return this[h.p(o)]()},_.add=function(o,c){var i,m=this;o=Number(o);var l=h.p(c),v=function(R){var $=w(m);return h.w($.date($.date()+Math.round(R*o)),m)};if(l===k)return this.set(k,this.$M+o);if(l===b)return this.set(b,this.$y+o);if(l===g)return v(1);if(l===M)return v(7);var T=(i={},i[d]=r,i[u]=e,i[n]=a,i)[l]||1,A=this.$d.getTime()+o*T;return h.w(A,this)},_.subtract=function(o,c){return this.add(-1*o,c)},_.format=function(o){var c=this,i=this.$locale();if(!this.isValid())return i.invalidDate||G;var m=o||"YYYY-MM-DDTHH:mm:ssZ",l=h.z(this),v=this.$H,T=this.$m,A=this.$M,R=i.weekdays,$=i.months,x=i.meridiem,C=function(S,D,j,V){return S&&(S[D]||S(c,m))||j[D].slice(0,V)},N=function(S){return h.s(v%12||12,S,"0")},K=x||function(S,D,j){var V=S<12?"AM":"PM";return j?V.toLowerCase():V};return m.replace(Xr,(function(S,D){return D||(function(j){switch(j){case"YY":return String(c.$y).slice(-2);case"YYYY":return h.s(c.$y,4,"0");case"M":return A+1;case"MM":return h.s(A+1,2,"0");case"MMM":return C(i.monthsShort,A,$,3);case"MMMM":return C($,A);case"D":return c.$D;case"DD":return h.s(c.$D,2,"0");case"d":return String(c.$W);case"dd":return C(i.weekdaysMin,c.$W,R,2);case"ddd":return C(i.weekdaysShort,c.$W,R,3);case"dddd":return R[c.$W];case"H":return String(v);case"HH":return h.s(v,2,"0");case"h":return N(1);case"hh":return N(2);case"a":return K(v,T,!0);case"A":return K(v,T,!1);case"m":return String(T);case"mm":return h.s(T,2,"0");case"s":return String(c.$s);case"ss":return h.s(c.$s,2,"0");case"SSS":return h.s(c.$ms,3,"0");case"Z":return l}return null})(S)||l.replace(":","")}))},_.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},_.diff=function(o,c,i){var m,l=this,v=h.p(c),T=w(o),A=(T.utcOffset()-this.utcOffset())*r,R=this-T,$=function(){return h.m(l,T)};switch(v){case b:m=$()/12;break;case k:m=$();break;case y:m=$()/3;break;case M:m=(R-A)/6048e5;break;case g:m=(R-A)/864e5;break;case u:m=R/e;break;case d:m=R/r;break;case n:m=R/a;break;default:m=R}return i?m:h.a(m)},_.daysInMonth=function(){return this.endOf(k).$D},_.$locale=function(){return I[this.$L]},_.locale=function(o,c){if(!o)return this.$L;var i=this.clone(),m=z(o,c,!0);return m&&(i.$L=m),i},_.clone=function(){return h.w(this.$d,this)},_.toDate=function(){return new Date(this.valueOf())},_.toJSON=function(){return this.isValid()?this.toISOString():null},_.toISOString=function(){return this.$d.toISOString()},_.toString=function(){return this.$d.toUTCString()},p})(),ir=q.prototype;return w.prototype=ir,[["$ms",t],["$s",n],["$m",d],["$H",u],["$W",g],["$M",k],["$y",b],["$D",E]].forEach((function(p){ir[p[1]]=function(_){return this.$g(_,p[0],p[1])}})),w.extend=function(p,_){return p.$i||(p(_,q,w),p.$i=!0),w},w.locale=z,w.isDayjs=rr,w.unix=function(p){return w(1e3*p)},w.en=I[B],w.Ls=I,w.p={},w}))});var Ee={};se(Ee,{ConnectorRunnerMkg:()=>nr});module.exports=ae(Ee);var U=ar(require("node:process")),J=class{#r="connector-runtime";#t;constructor(r,e){this.#t=e,U.default.on?U.default.on("message",t=>{t.cmd===this.#r&&e.logger.verbose(`${U.default.pid} Received message from parent process:`,t)}):e.logger.warn("IPC channel is not available. process.on is undefined."),U.default.send||e.logger.warn("IPC channel is not available. process.send is undefined."),r.actions?.forEach(t=>{if(t.config.templates===void 0)return;let n={};Object.entries(t.config.templates).forEach(([d,u])=>{try{n[d]=e.templating.compile(u)}catch(g){e.logger.error(`Error compiling template ${d} for action ${t.identifier}`,g)}}),t.config.parsedTemplates=n})}init=()=>Promise.resolve();start=()=>Promise.resolve();stop=()=>Promise.resolve();set callbackFunction(r){this.connectorSDK.receiver.registerCallback(this.#e(r))}get connectorSDK(){return this.#t}#e(r){return async e=>{let t=await this.#t.receiver.getActionConfig(e);return t?r(e,t):this.#t.receiver.responses.badRequest("Action not found")(e)}}};var Yr=require("node:events");var O=class{constructor(r,e,t){this.action=r;this.payload=e;this.data=t}static NAME="trigger-sync"};var _r="mkg",cr=3600,dr="RowKey",pr="sys_dat_wijzig",mr=250,H="JSESSIONID",lr=1800*1e3;var s=class a{identifier;fields;immediate;interval;identifierField;dateField;rows;actions;constructor(r,e=[]){this.identifier=r.identifier,this.fields=r.fields,this.immediate=r.immediate!==!1,this.interval=r.interval??(this.fields.length>0?cr:0),this.identifierField=r.identifierField??dr,this.dateField=r.dateField??pr,this.rows=r.rows??mr,this.actions=e.map(t=>t.withParentTable(this))}cloneFromTableConfig(r){return r===!0||r.fields===void 0?this:new a({...this,fields:[...this.fields,...r.fields].filter((e,t,n)=>n.indexOf(e)===t)})}action(r){return this.actions.find(e=>e.identifier===r)}};var fr=new s({identifier:"artg",fields:["artg_num","artg_rela","artg_cred","artg_oms","artg_inkoopofferte"]});function ur(a,r,e){let t=gr(e,r),n={},d=a.response.ResultData;Array.isArray(d)||(d=[d]);for(let u of d)for(let[g,M]of Object.entries(u)){let k=t[g];if(k)for(let y of M)for(let[b,E]of Object.entries(y))k.includes(b)&&(n[b]=E)}return n}function L(a,r,e){let t=gr(e,r),n={};for(let[d,u]of Object.entries(a.ResultData)){let g=t[d];if(g)for(let M of u)for(let[k,y]of Object.entries(M))g.includes(k)&&(n[k]=y)}return n}function gr(a,r){let e={};return a.forEach(t=>{let[n,d]=t.split(".");n&&d?(e[n]||(e[n]=[]),e[n].push(d)):n&&(e[r]||(e[r]=[]),e[r].push(n))}),e}var f=class a{identifier;method;fields;optionalFields;defaultValues;responseFields;triggerRefresh;path;response;#r;constructor(r){this.identifier=r.identifier,this.method=r.method,this.fields=r.fields,this.triggerRefresh=r.triggerRefresh,this.defaultValues=r.defaultValues??{},this.optionalFields=r.optionalFields??[],this.responseFields=r.responseFields??[],this.path=r.path??this.defaultPathFormatter,this.response=r.response??ur}withParentTable(r){let e=new a(this);return e.#r=r,e}fieldSet(r){let e=new Map;return Object.entries(this.defaultValues).forEach(([t,n])=>{typeof n=="function"?e.set(t,n()):e.set(t,n)}),this.fields.forEach(t=>{let n=r[t];if(!n)throw new Error(`Missing required field '${t}' for action '${this.identifier}'`);e.set(t,n)}),this.optionalFields.forEach(t=>{let n=r[t];n&&e.set(t,n)}),Object.fromEntries(e.entries())}formatResponse(r){return this.response(r,this.#r.identifier,this.responseFields)}defaultPathFormatter(){return this.#r.identifier}};var _e=new f({identifier:"create",method:"POST",fields:["arti_code"],optionalFields:["arti_oms_1","arti_zoeknaam","debi_num","arti_inkoop_artikel","arti_eenh_vrd","arti_eenh_vrk","arti_eenh_bestelling","arti_eenh_ontvangst","arti_eenh_inkoopfactuur","arti_eenh_uitgifte","arti_eenh_productie","arti_eenh_handel","btwc_code","inkg_num","vrdg_num"],defaultValues:{arti_actief:!0,arti_eenh_vrd:"st.",arti_eenh_vrk:"st.",arti_eenh_bestelling:"st.",arti_eenh_ontvangst:"st.",arti_eenh_inkoopfactuur:"st.",arti_eenh_uitgifte:"st.",arti_eenh_productie:"st.",arti_eenh_handel:"st.",btwc_code:1,inkg_num:1,prdg_num:1,vrkg_num:1,vrdg_num:5e3},responseFields:["arti_code"],triggerRefresh:{arti:["arti_code"]}}),hr=new s({identifier:"arti",interval:60,fields:["arti_actief","arti_code","arti_revisie","arti_oms_1","arti_tekening","arti_stlh_num","arti_zoeknaam","arti_inkoop_artikel","arti_eenh_vrd","arti_eenh_vrk","arti_eenh_bestelling","arti_eenh_ontvangst","arti_eenh_inkoopfactuur","arti_eenh_uitgifte","arti_eenh_productie","arti_eenh_handel","btwc_code","debi_num","inkg_num","vrdg_num"]},[_e]);var vr=new s({identifier:"bwrg",fields:["bwrg_inkoopofferte","bwrg_memo","bwrg_oms","bwrg_num","bwrg_cred","bwrg_rela"]});var br=new s({identifier:"bwrk",interval:60,fields:["bwrk_actief","bwrk_oms","bwrk_num","bwrk_rsrc_instellen","bwrk_rsrc_bew","bwrk_onbemand"]});var kr=new s({identifier:"clch",interval:300,fields:["arti_code","clch_num","clch_oms_1","prdt_num","clch_vofh_proj"]});var Mr=new s({identifier:"clcr",interval:60,fields:["arti_code","clch_num","clcr_oms_1","clcr_tekening","clcr_niveau","clcr_num","clcr_parent","stlh_num","clcr_revisie"]});var ce=new f({identifier:"create",method:"POST",fields:["rela_num","cprs_email"],optionalFields:["cprs_voorletters","cprs_voornaam","cprs_tussenvoegsel","cprs_naam","cprs_telefoon","cprs_gsm"],defaultValues:{cprs_eigen_email:!0},responseFields:["cprs_num"],triggerRefresh:{cprs:["cprs_num"]}}),Tr=new s({identifier:"cprs",interval:300,fields:["cprs_actief","cprs_num","cprs_voorletters","cprs_voornaam","cprs_tussenvoegsel","cprs_naam","cprs_email","cprs_telefoon","cprs_gsm","rela_num"]},[ce]);var wr=new s({identifier:"debi",fields:["debi_actief","debi_num","debi_kvk_num","debi_naam","rela_num","debi_btw_num"]});var Ar=new s({identifier:"magl",fields:["magl_memo","magl_oms_3","magl_shopfloor","magl_niet_autores","magl_oms_2","magl_code","magl_blok","magl_oms_1"]});var yr=new s({identifier:"magz",fields:["magz_memo","magz_oms_1","magz_oms_2","magz_code","magz_oms_3","magz_niet_autores","magz_blok"]});var Rr=new s({identifier:"pamt",interval:60,fields:["pamt_aantal","part_num","arti_code","pamt_vrd_aantal","pamt_dat_fysiek","pamt_type","prdh_num","vorh_num","vorr_num","prdr_num"]});var de=new f({identifier:"move",method:"PUT",fields:["admi_num","part_num","magl_code","t_doel_magl","t_doel_aantal","RowKey"],path:()=>"parl/0/Service/s_partij_verplaatsen"}),Er=new s({identifier:"parl",fields:[]},[de]);var Sr=new s({identifier:"part",fields:["part_dat_eind","t_aant_vrij","part_num","part_dat_start","arti_code","part_oms_1","part_historisch","t_aant_fysiek"]});var pe=new f({identifier:"create",method:"POST",fields:["prdh_num","prdr_num","bwrk_num","plnb_dat_start","plnb_tijd_start"],triggerRefresh:{plnb:["plnb_num"]}}),$r=new s({identifier:"plnb",interval:300,fields:["plnb_num","prdh_num","prdr_num","bwrk_num","rsrc_num","medw_num","prbv_num","arti_code","plnb_oms","plnb_dat_start","plnb_tijd_start","plnb_dat_eind","plnb_tijd_eind","plnb_duur","plnb_instel_tijd","plnb_plan_instel_tijd","plnb_plan_tijd_per_stuk","plnb_tijd_factor","plnb_dat_gestart","plnb_tijd_gestart","plnb_wk_gestart","plnb_gestart","plnb_gereed","plnb_vast","plnb_forecast","plnb_onbemand","plnb_aantal","plnb_aantal_grd","plnb_aantal_per_uur","plnb_bijloop_aantal","plnb_uitb_aantal","plnb_volgorde"]},[pe]);var Dr=new s({identifier:"plnc",interval:120,fields:["prdh_num","prdr_num","rsrc_num","plnc_datum","plnc_week","plnc_maand","plnc_tijd","plnc_tijd_bemand","plnc_forecast"]});var me=new f({identifier:"create.prdh_prdr",method:"POST",fields:["bwrk_num","prbv_tijd_per_stuk"],path:a=>{let r=a.prdh_num;if(!r)throw new Error("Missing required field 'prdh_num' for action 'create'");let e=a.prdr_num;if(!e)throw new Error("Missing required field 'prdr_num' for action 'create'");return`prdr/1+${r}+${e}/prdr_prbv`},triggerRefresh:{prbv:["prdh_num","prdr_num"]}}),Ir=new s({identifier:"prbv",interval:60,fields:["prdh_num","prdr_num","bwrk_num","rsrc_num","prbv_volgorde","prbv_oms","prbv_instel_tijd","prbv_onbemand"]},[me]);var le=new f({identifier:"create",method:"POST",fields:["prdh_oms_1"],optionalFields:["proj_num","prdh_dat_order","prdh_dat_planning"],responseFields:["prdh_num"],triggerRefresh:{prdh:["prdh_num"]}}),Cr=new s({identifier:"prdh",interval:60,fields:["prdh_num","prdh_forecast","prdh_historisch","prdh_dat_planning","prdh_dat_order","t_klant","proj_num","prdh_oms_1"]},[le]);var fe=new f({identifier:"create-prdh-eindproduct",method:"POST",fields:["prdr_aantal","arti_code"],responseFields:["prdh_num","prdr_num"],path:a=>{let{prdh_num:r}=a;if(!r)throw new Error("Missing required field 'prdh_num' for action 'create'");return`prdh/${r}/prdh_eindproduct/`},triggerRefresh:{prdr:["prdh_num","prdr_num"]}}),ue=new f({identifier:"in-production",method:"PUT",fields:[],path:(a,r)=>{let{prdh_num:e,prdr_num:t}=a;if(!e)throw new Error("Missing required field 'prdh_num' for action 'create'");if(!t)throw new Error("Missing required field 'prdr_num' for action 'create'");return`prdr/${r.administration}+${e}+${t}/Service/s_actie_in_productie`},response:L,triggerRefresh:{prdr:["prdh_num","prdr_num"]}}),ge=new f({identifier:"done",method:"PUT",fields:["t_verwerk_aantal"],defaultValues:{RowKey:1,t_verwerk_afgewerkt:"true",t_verwerk_datum:()=>{let a=new Date,r=a.getFullYear(),e=String(a.getMonth()+1).padStart(2,"0"),t=String(a.getDate()).padStart(2,"0");return`${r}-${e}-${t}`}},path:(a,r)=>{let{prdh_num:e,prdr_num:t}=a;if(!e)throw new Error("Missing required field 'prdh_num' for action 'create'");if(!t)throw new Error("Missing required field 'prdr_num' for action 'create'");return`prdr/${r.administration}+${e}+${t}/Service/s_actie_aantal_gereed`},response:L,triggerRefresh:{prdr:["prdh_num","prdr_num"]}}),Kr=new s({identifier:"prdr",interval:60,rows:500,fields:["prdh_num","prdr_num","prdr_aantal","prdr_grd_aantal","prdr_prod_aantal","prdr_volgorde","prdr_niveau","prdr_revisie","prdr_oms_1","prdr_tekening","prdr_parent","stlh_num","stlr_num","arti_code","t_status_oms","prdr_dat_start","prdr_dat_fysiek","t_status","t_statusinfo"]},[fe,ue,ge]);var he=new f({identifier:"create.prdh_prdr",method:"POST",fields:["prmv_oms_1","cred_num"],path:a=>{let r=a.prdh_num;if(!r)throw new Error("Missing required field 'prdh_num' for action 'create'");let e=a.prdr_num;if(!e)throw new Error("Missing required field 'prdr_num' for action 'create'");return`prdr/1+${r}+${e}/prdr_prmv`}}),Or=new s({identifier:"prmv",fields:[]},[he]);var xr=new s({identifier:"proj",interval:300,fields:["admi_num","RowTime","proj_oms","proj_historisch","proj_prdh","RowKey","proj_num","proj_vorh","proj_zoeknaam"]});var Lr=new s({identifier:"rela",fields:["rela_num","rela_naam","rela_zoeknaam","rela_email","rela_actief","rela_plaats","rela_postcode","rela_www","rela_telefoon"]});var Pr=new s({identifier:"rgrs",interval:300,fields:["abnk_bizcuit_id","aant_vraag_oms","abnk_oms","adon_code","adon_oms","adop_code","arti_code","bwrg_oms","bwrk_oms","cert_code","gebr_code","kbdp_oms","kltn_code","kstg_oms","land_code","magw_code","medw_betaling_per_bank_2_naam","medw_betaling_per_bank_naam","medw_naam","medw_premiesparen_naam","medw_spaarloon_naam","rela_naam","reld_oms","rsrc_oms","rsrg_oms","spco_code","strd_oms","t_bwrk_num_oms","t_bwrk_oms","t_oms","t_omschrijving","aanr_datum","aanr_num","aans_num","aant_num","abnk_num","adma_num","admi_num","afdl_num","agtn_num","apia_num","bank_num","bwrf_num","bwrg_num","bwrk_num","clcb_num","clch_num","clch_vofh_num","clch_vofh_verk_num","clcm_num","clcr_num","clct_num","cred_num","debi_num","dgbk_num","fcth_num","geac_num","ifch_num","inkg_num","iofh_num"]});var Gr=new s({identifier:"rsrc",interval:300,fields:["rsrc_fcst_eindige_cap","rsrc_oms","rsrc_memo","rsrc_volgorde","rsrc_magl_in","rsrc_onbemand","rsrc_num","rsrc_calc_eindige_cap","rsrc_magl_uit","rsrc_aantal","rsrc_calc_bucket","rsrc_eindige_cap","rsrc_fcst_bucket","rsrc_bucket","rsrc_afbeelding"]});var Fr=new s({identifier:"rsrd",interval:300,fields:["rsrd_zo_p2_van","rsrd_za_p2_tot","rsrd_do_p1_tot","rsrd_di_p5_tot","rsrd_zo_p5_tot","rsrd_do_p3_tot","rsrd_ma_p4_tot","rsrd_wo_p3_van","rsrd_zo_p1_van","rsrd_fd_p1_van","rsrd_do_p5_van","rsrd_wo_p2_tot","rsrd_za_van","rsrd_vr_p3_van","rsrd_za_p4_van","rsrd_ma_p5_tot","rsrd_fd_p3_van","rsrd_wo_tot","rsrd_vr_tot","rsrd_ma_p1_tot","rsrd_wo_p1_tot","rsrd_zo_p4_tot","rsrd_di_p4_tot","rsrd_ma_p3_van","rsrd_ma_p5_van","rsrd_di_tot","rsrd_fd_p4_van","rsrd_vr_van","rsrd_za_p3_tot","rsrd_za_p1_van","rsrd_zo_p5_van","rsrd_fd_p2_tot","rsrd_vr_p5_van","rsrd_di_p4_van","rsrd_za_p5_tot","rsrd_di_p3_van","rsrd_ma_p2_tot","rsrd_di_van","rsrd_do_p1_van","rsrd_zo_p3_tot","rsrd_vr_p5_tot","rsrd_zo_p1_tot","rsrd_ma_van","rsrd_do_tot","rsrd_wo_p2_van","rsrd_vr_p3_tot","rsrd_di_p1_van","rsrd_za_p5_van","rsrd_fd_p5_van","rsrd_vr_p4_tot","rsrd_wo_p3_tot","rsrd_fd_p1_tot","rsrd_fd_p3_tot","rsrd_ma_p4_van","rsrd_di_p3_tot","rsrd_zo_p4_van","rsrd_do_p4_tot","rsrd_do_van","rsrd_do_p3_van","rsrd_wo_p1_van","rsrd_za_p4_tot","rsrd_zo_van","rsrd_do_p2_tot","rsrd_vr_p2_van","rsrd_vr_p2_tot","rsrd_vr_p1_tot","rsrd_do_p5_tot","rsrd_wo_van","rsrd_zo_tot","rsrd_za_p2_van","rsrd_oms","rsrd_zo_p3_van","rsrd_fd_p2_van","rsrd_do_p4_van","rsrd_di_p2_tot","rsrd_za_p3_van","rsrd_wo_p4_van","rsrd_vr_p4_van","rsrd_wo_p4_tot","rsrd_num","rsrd_ma_tot","rsrd_ma_p1_van","rsrd_di_p5_van","rsrd_fd_p5_tot","rsrd_vr_p1_van","rsrd_di_p2_van","rsrd_do_p2_van","rsrd_wo_p5_van","rsrd_za_tot","rsrd_ma_p3_tot"]});var Br=new s({identifier:"rsrg",fields:["rsrg_num","rsrg_memo","rsrg_oms"]});var ve=new f({identifier:"create",method:"POST",fields:["stlh_num","bwrk_num"],optionalFields:["stlr_num","rsrc_num","stlb_aantal","stlb_oms","stlb_volgorde","stlb_instel_tijd","stlb_tijd_factor","stlb_tijd_per_stuk","stlb_tijd_man","stlb_tijd_mach"],responseFields:["stlb_num"],triggerRefresh:{stlb:["stlb_num"]}}),Nr=new s({identifier:"stlb",interval:60,fields:["stlh_num","stlr_num","stlb_num","rsrc_num","bwrk_num","stlb_aantal","stlb_oms","stlb_volgorde","stlb_instel_tijd","stlb_tijd_factor","stlb_tijd_per_stuk","stlb_tijd_man","stlb_tijd_mach"]},[ve]);var be=new f({identifier:"create",method:"POST",fields:["arti_code"],responseFields:["stlh_num"],triggerRefresh:{stlh:["stlh_num"]}}),jr=new s({identifier:"stlh",interval:60,fields:["stlh_actief","arti_code","stlh_oms_1","stlh_num"]},[be]);var ke=new f({identifier:"create",method:"POST",fields:["stlh_num","arti_code"],optionalFields:["stlr_num","stlm_aantal","stlm_oms1","stlm_volgorde"],responseFields:["stlm_num"],triggerRefresh:{stlm:["stlm_num"]}}),Ur=new s({identifier:"stlm",interval:60,fields:["stlh_num","stlr_num","stlm_num","arti_code","stlm_aantal","stlm_oms1","stlm_volgorde"]},[ke]);var Me=new f({identifier:"create",method:"POST",fields:["stlh_num","arti_code"],optionalFields:["stlr_aantal"],responseFields:["stlr_num"],triggerRefresh:{stlr:["stlr_num"]}}),Hr=new s({identifier:"stlr",interval:60,fields:["stlh_num","stlr_num","stlr_parent","arti_code","stlr_aantal","stlr_prod_aantal","stlr_tot_aantal","stlr_volgorde","stlr_niveau"]},[Me]);var Te=new f({identifier:"create",method:"POST",fields:["debi_num"],optionalFields:["proj_num","vorh_dat_levering","vorh_dat_gewenst","vorh_dat_order","vorh_ref_onze","vorh_ref_uw","verk_num","valu_code"],responseFields:["vorh_num"],triggerRefresh:{vorh:["vorh_num"]}}),zr=new s({identifier:"vorh",interval:60,fields:["valu_code","debi_num","vorh_dat_levering","vorh_dat_gewenst","vorh_dat_order","vorh_bestelcode_extern","vorh_historisch","vorh_ref_onze","vorh_ref_uw","taal_code","rela_num","vorh_num","proj_num","verk_num","t_cprs_email"]},[Te]);var we=new f({identifier:"create-vorh-line",method:"POST",fields:["arti_code"],optionalFields:["vorr_dat_gewenst","vorr_oms_1","vorr_oms_2","vorr_order_aantal","vorr_tekening","vrdg_num","vrkg_num"],path:a=>{let{vorh_num:r}=a;if(!r)throw new Error("Missing required field 'vorh_num' for action 'create'");return`vorh/${r}/vorh_vorr/`},responseFields:["vorh_num","vorr_num"],triggerRefresh:{vorr:["vorh_num","vorr_num"]}}),Ae=new f({identifier:"create-prdh",method:"PUT",fields:[],path:(a,r)=>{let{vorh_num:e,vorr_num:t}=a;if(!e)throw new Error("Missing required field 'vorh_num' for action 'create-prdh'");if(!t)throw new Error("Missing required field 'vorr_num' for action 'create-prdh'");return`vorr/${r.administration}+${e}+${t}/Service/s_createproductionorder`},responseFields:["prdr.prdh_num","prdr.prdr_num"],response:L,triggerRefresh:{prdr:["prdh_num","prdr_num"],vorr:["vorh_num","vorr_num"]}}),ye=new f({identifier:"create-backflush",method:"PUT",fields:[],path:(a,r)=>{let{vorh_num:e,vorr_num:t}=a;if(!e)throw new Error("Missing required field 'vorh_num' for action 'create-backflush'");if(!t)throw new Error("Missing required field 'vorr_num' for action 'create-backflush'");return`vorr/${r.administration}+${e}+${t}/Service/s_createbackflush`},response:L,triggerRefresh:{vorr:["vorh_num","vorr_num"]}}),qr=new s({identifier:"vorr",interval:60,fields:["vorh_num","vorr_num","arti_code","vorr_revisie","vorr_dat_gewenst","vorr_oms_1","vorr_oms_2","vorr_order_aantal","vorr_tekening","vrdg_num","vrkg_num","stlh_num"]},[we,Ae,ye]);var Vr=new s({identifier:"vrdg",fields:["vrdg_grbk_pv_grd_uitb","vrdg_grbk_hw_grd_uitb","vrdg_grbk_grd_mat","vrdg_grbk_hw_grd_mat","vrdg_grbk_hw_grd_man","vrdg_grbk_vrd_mat","vrdg_grbk_hw_grd_mach","vrdg_grbk_grd_mach","vrdg_num","vrdg_grbk_pv_grd_mat","vrdg_grbk_kst_mach","vrdg_grbk_kst_mat","vrdg_grbk_pv_grd_mach","vrdg_grbk_kst_man","vrdg_grbk_kst_uitb","vrdg_oms","vrdg_grbk_grd_uitb","vrdg_grbk_pv_grd_man","vrdg_grbk_pv_vrd_mat","vrdg_grbk_grd_man"]});var Re=[Lr,wr,hr,Gr,Fr,Br,yr,Ar,jr,Hr,Ur,Cr,br,vr,kr,Vr,Pr,$r,Dr,fr,Kr,Or,Ir,Er,Mr,Tr,xr,zr,qr,Nr,Sr,Rr],W=Re.reduce((a,r)=>(a[r.identifier]=r,a),{});var X=class extends Yr.EventEmitter{#r;#t;constructor(r,e){super(),this.#r=r,this.#t=e}get callbackFunctionChain(){return this.#e(this.#r.receiver.emitEventType(this.#r.receiver.responses.ok()))}#e(r){return async(e,t)=>{try{this.#r.logger.debug(`[MKG] Apply templates on payload: ${JSON.stringify(e.payload)}, action: ${JSON.stringify(t)}`);let n={administration:this.#r.config.administration??"1"},d=t.config.action;if(!d){let b=`[MKG] Missing required action input parameters in message ${e.eventId}`;return this.#r.logger.warn(b),this.#r.receiver.responses.badRequest(b)(e)}this.#r.logger.debug(`[MKG] Parsed action: ${d}, params json: ${JSON.stringify(e.payload)}`);let[u,...g]=d.split("."),M=g.join("."),k=W[u];if(!k)return this.#r.logger.warn(`[MKG] Unknown table identifier "${u}" in message ${e.eventId}`),this.#r.receiver.responses.badRequest(`[MKG] Unknown table identifier "${u}"`)(e);let y=k.action(M);if(!y){let b=`[MKG] Unknown action identifier "${M}" within table "${u}" in message ${e.eventId}`;return this.#r.logger.warn(b),this.#r.receiver.responses.badRequest(b)(e)}if(e.testRun)return this.#r.logger.info(`[MKG] Test run for ${e.eventId} to action ${d}`),r(e);try{let b=new URLSearchParams;y.responseFields.length>0&&b.set("FieldList",y.responseFields.join(","));let E=y.fieldSet(e.payload),G=await this.#t.request(y.method,`/web/v3/MKG/Documents/${y.path(e.payload,n)}?${b.toString()}`,{...["POST","PUT"].includes(y.method)&&Object.keys(E).length>0?{data:{request:{InputData:{[u]:[E]}}}}:{}});this.#r.logger.debug(`[MKG] Got action "${M}" of table "${u}" response from MKG: ${JSON.stringify(G)}`);let F=y.formatResponse(G.data);return this.#r.logger.verbose(`[MKG] Formatted action "${M}" of table "${u}" response to ${Object.keys(F).length} fields`),y.triggerRefresh&&this.emit(O.NAME,new O(y,e.payload,F)),r({...e,payload:F})}catch(b){let E=`[MKG] Failed to perform action "${M}" of table "${u}": (${b?.status}) ${b?.error??b?.message}`;return this.#r.logger.error(E),this.#r.receiver.responses.unprocessableEntity(E)(e)}}catch(n){return this.#r.receiver.responses.internalServerError(n instanceof Error?n.message:"Unknown error occurred")(e)}}}};var Wr=ar(Jr());function P(a){let{config:r}=a;return`https://${r.server}:${r.port??443}/${(r.path??"/mkg").replace(/^\/+/,"")}`}var Z=class{#r;#t;#e;#n;#o;constructor(r,e,t,n){this.#r=r,this.#t=e,this.#e=t,this.#n=n,this.#o=n.fields.join(",")}get name(){return`mkg-extractor-${this.#e}`}async onRun(r){try{let e=new Date,t=await this.#r.offsetStore.getOffset(`offset_${this.#e}`),n=await this.#i(t,r);if(n.length===0){this.#r.logger.verbose(`[MKG] No new data found for ${this.#e}`);return}await this.#r.sender.documents(n,{keyField:this.#n.identifierField,collection:`${this.#r.config.datasourceIdentifier??_r}_${this.#e}`}),this.#r.logger.debug(`[MKG] Processed ${n.length} records from ${this.#e}`),this.#r.offsetStore.setOffset({id:String(n[n.length-1]?.[this.#n.identifierField]??t.id),timestamp:e.getTime(),rawTimestamp:e.toISOString()},`offset_${this.#e}`)}catch(e){throw this.#r.logger.error("[MKG] Failed to retrieve and process data from OPC UA source service",{error:e}),e}}#i=async(r,e)=>{let t=[];if(Object.entries(e??{}).forEach(([d,u])=>t.push(`${d}=${u}`)),Object.entries(t).length===0&&r.id!==0){let d=(0,Wr.default)(r.rawTimestamp);t.push(`${this.#n.dateField}>=${d.format("YYYY-MM-DD")}`)}let n=new URLSearchParams;n.set("NumRows",String(this.#n.rows)),n.set("FieldList",`${this.#n.dateField},${this.#o}`),t.length>0&&n.set("Filter",t.join(" AND "));try{let d=`/web/v3/MKG/Documents/${this.#e}`;this.#r.logger.verbose(`[MKG] Fetching data from '${P(this.#r)}${d}'...`);let g=(await this.#t.get(`${d}?${n.toString()}`)).data?.response?.ResultData?.[0]?.[this.#e]??[];return this.#r.logger.verbose(`[MKG] Fetched ${g.length} records from '${P(this.#r)}${d}'`),g}catch(d){let u=`[MKG] Failed to fetch data from table "${this.#e}": (${d?.status}) ${d?.error??d?.message}`;this.#r.logger.error(u)}return[]}};var nr=class extends J{#r;#t;#e;#n={};#o;constructor(r,e){super(r,e);let t=P(this.connectorSDK);this.#e=this.connectorSDK.httpClient({baseUrl:t}),this.#t=this.connectorSDK.httpClient({baseUrl:t}).setRequestOptionsFormatter(this.#i),this.#r=new X(this.connectorSDK,this.#t).on(O.NAME,n=>this.#c(n)),this.callbackFunction=this.#r.callbackFunctionChain}init=async()=>{let{config:r}=this.connectorSDK;await this.#s(r.username,r.password).catch(e=>{throw this.connectorSDK.logger.error("[MKG] Error retrieving initial session cookie:",e),new Error("Failed to initialize connector due to authentication error.")}),Object.entries(r.tables??{}).forEach(([e,t])=>{let n=W[e];if(!n){this.connectorSDK.logger.warn(`[MKG] Unknown table identifier "${e}", skipping configuration.`);return}if(!n.interval||n.interval<=0){this.connectorSDK.logger.verbose(`[MKG] Table "${e}" does not have a valid interval configured, skipping registration.`);return}let d=new Z(this.connectorSDK,this.#t,e,n.cloneFromTableConfig(t));this.#n[e]=d,this.connectorSDK.processing.registerInterval(n.interval,d,{immediate:n.immediate})})};#i=async r=>{let{config:e}=this.connectorSDK,t=await this.#s(e.username,e.password).catch(n=>{throw this.connectorSDK.logger.error("[MKG] Error retrieving session cookie:",n),n});return{...r,headers:{...r?.headers??{},...this.#a(t)}}};async#s(r,e){let t=this.#o;if(t&&t.expiresAt>Date.now())return t.token;let n="/static/auth/j_spring_security_check";this.connectorSDK.logger.verbose(`[MKG] Retrieving session cookie from '${P(this.connectorSDK)}${n}' with 'j_username=${encodeURIComponent(r)}&j_password=${"*".repeat(e.length)}'`);let d=await this.#e.post(n,`j_username=${encodeURIComponent(r)}&j_password=${encodeURIComponent(e)}`,{headers:{Accept:"application/json","Content-Type":"application/x-www-form-urlencoded"}});if(!d)throw new Error("Failed to authenticate and retrieve session cookie");let g=(d.headers?.["set-cookie"]??d.headers?.["Set-Cookie"]??[]).find(k=>k.startsWith(`${H}=`));if(!g)throw new Error("Session cookie not found in authentication response");let M=g.split(";")[0]?.substring(`${H}=`.length);return this.#o={token:M,expiresAt:Date.now()+lr-1e3},this.connectorSDK.logger.debug(`[MKG] Session cookie fetched successfully for user '${r}', expires at ${new Date(this.#o.expiresAt).toISOString()}`),await this.#_(M),M}#a(r){let{config:e}=this.connectorSDK,{apiToken:t}=e;return this.connectorSDK.logger.verbose(`[MKG] Using api headers: ${H}=${"*".repeat(r.length)} & X-CustomerID=${"*".repeat(t.length)}`),{Cookie:`${H}=${r}`,"X-CustomerID":t}}async#_(r){let{config:e}=this.connectorSDK,{administration:t,fiscalYear:n,language:d}=e;if(!(t?.length||n?.length||d?.length)){this.connectorSDK.logger.verbose("[MKG] No administration settings to update.");return}let u="/web/v3/MKG/Settings",g=[];t&&g.push({t_name:"Administration",t_value:t}),n&&g.push({t_name:"FiscalYear",t_value:n}),d&&g.push({t_name:"Language",t_value:d}),this.connectorSDK.logger.verbose(`[MKG] Updating administration settings: ${JSON.stringify(g)}`),await this.#e.put(u,{request:{InputData:{t_setting:g}}},{headers:{Accept:"application/json","Content-Type":"application/json",...this.#a(r)}}).catch(M=>{throw this.connectorSDK.logger.error("[MKG] Error updating administration settings:",M),M}),this.connectorSDK.logger.debug("[MKG] Administration settings updated successfully.")}#c(r){Object.entries(r.action.triggerRefresh??{}).forEach(async([e,t])=>{this.connectorSDK.logger.verbose(`[MKG] Triggering sync for table "${e}" due to action "${r.action.identifier}"`);let n=this.#n[e];n||this.connectorSDK.logger.warn(`[MKG] No extractor found for table "${e}", cannot trigger sync.`);let d=Object.fromEntries(Object.entries({...r.payload,...r.data}).filter(([u])=>t.includes(u)));await n.onRun(d)})}};0&&(module.exports={ConnectorRunnerMkg});
2
2
  //# sourceMappingURL=index.cjs.map
@@ -23,13 +23,26 @@ export interface NumberOutputParameterInterface extends OutputItemParameterInter
23
23
  export interface OutputParameterInterface {
24
24
  [key: string]: OutputItemParameterInterface | ArrayOutputParameterInterface | NumberOutputParameterInterface;
25
25
  }
26
- export interface InputParameterInterface {
26
+ interface BaseInputParameter {
27
27
  name: string;
28
28
  description?: string;
29
- type: 'string' | 'number' | 'boolean' | 'array';
30
29
  required?: boolean;
31
- items?: Array<InputParameterInterface>;
32
30
  }
31
+ export interface ValueInputParameter extends BaseInputParameter {
32
+ type: 'string' | 'number' | 'boolean';
33
+ }
34
+ export interface SimpleArrayInputParameter extends BaseInputParameter {
35
+ type: 'simple-array';
36
+ itemType: 'string' | 'number' | 'boolean';
37
+ }
38
+ export interface ArrayInputParameter extends BaseInputParameter {
39
+ type: 'array';
40
+ items: Array<InputParameterInterface>;
41
+ }
42
+ export interface UnknownInputParameter extends BaseInputParameter {
43
+ type: 'unknown';
44
+ }
45
+ export type InputParameterInterface = ValueInputParameter | SimpleArrayInputParameter | ArrayInputParameter | UnknownInputParameter;
33
46
  export interface ActionInterface {
34
47
  identifier: string;
35
48
  version: string;
@@ -47,3 +60,4 @@ export interface ActionInterface {
47
60
  mode?: ConnectorOrigin;
48
61
  createdAt: Date;
49
62
  }
63
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@transai/connector-runner-mkg",
3
- "version": "0.17.0",
3
+ "version": "0.19.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },