@transai/connector-runner-ez-mes 0.14.0 → 0.16.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.
Files changed (75) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/index.cjs +1 -1
  3. package/index.cjs.map +3 -3
  4. package/libs/connector-runner-ez-mes/src/lib/actions/actions-handler.d.ts +1 -2
  5. package/libs/connector-runner-ez-mes/src/lib/connector-runner-ez-mes.d.ts +1 -2
  6. package/libs/connector-runner-ez-mes/src/lib/types.d.ts +1 -1
  7. package/libs/connector-runtime-sdk/src/lib/sdk/offset-store.sdk.interface.d.ts +1 -0
  8. package/libs/connector-runtime-sdk/src/lib/sdk/processing.sdk.interface.d.ts +17 -0
  9. package/package.json +1 -1
  10. package/index.js +0 -2
  11. package/index.js.map +0 -7
  12. package/libs/types/src/index.d.ts +0 -7
  13. package/libs/types/src/lib/cube-query-config.types.d.ts +0 -20
  14. package/libs/types/src/lib/file-action.types.d.ts +0 -5
  15. package/libs/types/src/lib/http-status-codes.enum.d.ts +0 -64
  16. package/libs/types/src/lib/management-api/action-definition.interface.d.ts +0 -12
  17. package/libs/types/src/lib/management-api/author.interface.d.ts +0 -11
  18. package/libs/types/src/lib/management-api/chart.interface.d.ts +0 -9
  19. package/libs/types/src/lib/management-api/connector/connector.interface.d.ts +0 -52
  20. package/libs/types/src/lib/management-api/connector/connectors.interface.d.ts +0 -38
  21. package/libs/types/src/lib/management-api/connector-orchestrator-config.interface.d.ts +0 -14
  22. package/libs/types/src/lib/management-api/cube-dataset.interface.d.ts +0 -94
  23. package/libs/types/src/lib/management-api/dashboard.interface.d.ts +0 -35
  24. package/libs/types/src/lib/management-api/dataset/collection.interface.d.ts +0 -10
  25. package/libs/types/src/lib/management-api/dataset/dataset-record.interface.d.ts +0 -41
  26. package/libs/types/src/lib/management-api/dataset/dataset.interface.d.ts +0 -118
  27. package/libs/types/src/lib/management-api/dataset/datasets.interface.d.ts +0 -96
  28. package/libs/types/src/lib/management-api/dataset/dimension.interface.d.ts +0 -53
  29. package/libs/types/src/lib/management-api/dataset/dimensions.interface.d.ts +0 -33
  30. package/libs/types/src/lib/management-api/dataset/filter-group.interface.d.ts +0 -8
  31. package/libs/types/src/lib/management-api/dataset/filter.interface.d.ts +0 -14
  32. package/libs/types/src/lib/management-api/dataset/filters.interface.d.ts +0 -7
  33. package/libs/types/src/lib/management-api/dataset/measure.interface.d.ts +0 -27
  34. package/libs/types/src/lib/management-api/dataset/measures.interface.d.ts +0 -17
  35. package/libs/types/src/lib/management-api/dataset/meta.interface.d.ts +0 -9
  36. package/libs/types/src/lib/management-api/dataset/pre-aggregate.interface.d.ts +0 -41
  37. package/libs/types/src/lib/management-api/dataset/pre-aggregations.interface.d.ts +0 -26
  38. package/libs/types/src/lib/management-api/dataset/relation.interface.d.ts +0 -16
  39. package/libs/types/src/lib/management-api/dataset/relations.interface.d.ts +0 -12
  40. package/libs/types/src/lib/management-api/dataset/segment.interface.d.ts +0 -17
  41. package/libs/types/src/lib/management-api/dataset/segments.interface.d.ts +0 -15
  42. package/libs/types/src/lib/management-api/dataset/switch.interface.d.ts +0 -20
  43. package/libs/types/src/lib/management-api/dataset/when-item.interface.d.ts +0 -15
  44. package/libs/types/src/lib/management-api/dataset/when-items.interface.d.ts +0 -14
  45. package/libs/types/src/lib/management-api/event-origin.interface.d.ts +0 -24
  46. package/libs/types/src/lib/management-api/index.d.ts +0 -40
  47. package/libs/types/src/lib/management-api/semantic-trigger/custom-cron-trigger-record.interface.d.ts +0 -6
  48. package/libs/types/src/lib/management-api/semantic-trigger/index.d.ts +0 -6
  49. package/libs/types/src/lib/management-api/semantic-trigger/semantic-trigger-filter.interface.d.ts +0 -12
  50. package/libs/types/src/lib/management-api/semantic-trigger/semantic-trigger-filters.interface.d.ts +0 -10
  51. package/libs/types/src/lib/management-api/semantic-trigger/semantic-trigger-record.interface.d.ts +0 -6
  52. package/libs/types/src/lib/management-api/semantic-trigger/semantic-trigger.interface.d.ts +0 -35
  53. package/libs/types/src/lib/management-api/semantic-trigger/semantic-triggers.interface.d.ts +0 -22
  54. package/libs/types/src/lib/management-api/template-implementation-overrides.interface.d.ts +0 -150
  55. package/libs/types/src/lib/management-api/template-implementation.interface.d.ts +0 -314
  56. package/libs/types/src/lib/management-api/template.interface.d.ts +0 -190
  57. package/libs/types/src/lib/management-api/tenant.interface.d.ts +0 -8
  58. package/libs/types/src/lib/management-api/type-enums.d.ts +0 -91
  59. package/libs/types/src/lib/management-api/web/generic-filter.dto.d.ts +0 -37
  60. package/libs/types/src/lib/management-api/web/index.d.ts +0 -2
  61. package/libs/types/src/lib/management-api/web/paginated-response.interface.d.ts +0 -17
  62. package/libs/types/src/lib/management-api/workflow/action.interface.d.ts +0 -71
  63. package/libs/types/src/lib/management-api/workflow/enums/index.d.ts +0 -3
  64. package/libs/types/src/lib/management-api/workflow/enums/node-types.enum.d.ts +0 -14
  65. package/libs/types/src/lib/management-api/workflow/enums/trigger-types.enum.d.ts +0 -14
  66. package/libs/types/src/lib/management-api/workflow/enums/workflow-status.enum.d.ts +0 -16
  67. package/libs/types/src/lib/management-api/workflow/index.d.ts +0 -7
  68. package/libs/types/src/lib/management-api/workflow/offset.interface.d.ts +0 -14
  69. package/libs/types/src/lib/management-api/workflow/parameter-mapper.interface.d.ts +0 -26
  70. package/libs/types/src/lib/management-api/workflow/workflow-definition.interface.d.ts +0 -66
  71. package/libs/types/src/lib/management-api/workflow/workflow-drawing.interface.d.ts +0 -96
  72. package/libs/types/src/lib/management-api/workflow/workflow-run.interface.d.ts +0 -57
  73. package/libs/types/src/lib/message.types.d.ts +0 -59
  74. package/libs/types/src/lib/response.types.d.ts +0 -27
  75. package/libs/types/src/lib/types.d.ts +0 -134
package/CHANGELOG.md CHANGED
@@ -1,3 +1,27 @@
1
+ ## 0.16.0 (2026-03-16)
2
+
3
+ ### 🧱 Updated Dependencies
4
+
5
+ - Updated @transai/connector-runtime-sdk to 0.10.0
6
+
7
+ ## 0.15.0 (2026-03-13)
8
+
9
+ ### 🚀 Features
10
+
11
+ - use sdk typings instead of general typings ([#1087](https://github.com/xip-online-applications/xod-core/pull/1087))
12
+
13
+ ### 🧱 Updated Dependencies
14
+
15
+ - Updated @transai/connector-runtime-sdk to 0.9.3
16
+
17
+ ### ❤️ Thank You
18
+
19
+ - Youri Lefers @yourilefers
20
+
21
+ ## 0.14.0 (2026-03-06)
22
+
23
+ This was a version bump only for connector-runner-ez-mes to align it with other projects, there were no code changes.
24
+
1
25
  ## 0.13.1 (2026-03-06)
2
26
 
3
27
  This was a version bump only for connector-runner-ez-mes to align it with other projects, there were no code changes.
package/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var b=Object.create;var d=Object.defineProperty;var P=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var T=Object.getPrototypeOf,R=Object.prototype.hasOwnProperty;var k=(n,t)=>{for(var e in t)d(n,e,{get:t[e],enumerable:!0})},h=(n,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of S(t))!R.call(n,o)&&o!==e&&d(n,o,{get:()=>t[o],enumerable:!(r=P(t,o))||r.enumerable});return n};var D=(n,t,e)=>(e=n!=null?b(T(n)):{},h(t||!n||!n.__esModule?d(e,"default",{value:n,enumerable:!0}):e,n)),K=n=>h(d({},"__esModule",{value:!0}),n);var w={};k(w,{ConnectorRunnerEzMes:()=>v});module.exports=K(w);var c=D(require("node:process")),u=class{constructor(t,e){this.#e="connector-runtime";this.init=()=>Promise.resolve();this.start=()=>Promise.resolve();this.stop=()=>Promise.resolve();this.#t=e,c.default.on?c.default.on("message",r=>{r.cmd===this.#e&&e.logger.verbose(`${c.default.pid} Received message from parent process:`,r)}):e.logger.warn("IPC channel is not available. process.on is undefined."),c.default.send||e.logger.warn("IPC channel is not available. process.send is undefined."),t.actions?.forEach(r=>{if(r.config.templates===void 0)return;let o={};Object.entries(r.config.templates).forEach(([a,s])=>{try{o[a]=e.templating.compile(s)}catch(A){e.logger.error(`Error compiling template ${a} for action ${r.identifier}`,A)}}),r.config.parsedTemplates=o})}#e;#t;set callbackFunction(t){this.connectorSDK.receiver.registerCallback(this.#r(t))}get connectorSDK(){return this.#t}#r(t){return async e=>{let r=await this.#t.receiver.getActionConfig(e);return r?t(e,r):this.#t.receiver.responses.badRequest("Action not found")(e)}}};var x=require("node:events");var i=class{constructor(t){this.travelerId=t}static{this.NAME="extract.travelers"}};var E=require("node:events");var p=class extends E.EventEmitter{static{this.TYPE="traveler.next-step"}#e;constructor(t){super(),this.#e=t}async execute(t){let{travelerId:e}=t;if(typeof e!="string")throw new Error("travelerId parameter is required and must be a string");let r=await this.#e.post("/api/V1.2-INTEGRATION/nextStep",{TravelerId:e});if(r.status!==200||!r.data?.bPass&&!r.data?.Result?.bPass)throw new Error(`Failed to move traveler to next step: ${JSON.stringify(r.data.arErrors)}`);this.emit(i.NAME,new i(e))}};var C=require("node:events");var m=class extends C.EventEmitter{static{this.TYPE="traveler.start-step"}#e;constructor(t){super(),this.#e=t}async execute(t){let{travelerId:e}=t;if(typeof e!="string")throw new Error("travelerId parameter is required and must be a string");let r=await this.#e.post("/api/V1.2-INTEGRATION/startTraveler",{TravelerId:e});if(r.status!==200||!r.data?.bPass&&!r.data?.Result?.bPass)throw new Error(`Failed to start traveler: ${JSON.stringify(r.data.arErrors)}`);this.emit(i.NAME,new i(e))}};var y=require("node:events");var l=class extends y.EventEmitter{static{this.TYPE="traveler.stop-step"}#e;constructor(t){super(),this.#e=t}async execute(t){let{travelerId:e}=t;if(typeof e!="string")throw new Error("travelerId parameter is required and must be a string");let r=await this.#e.post("/api/V1.2-INTEGRATION/stopTraveler",{TravelerId:e});if(r.status!==200||!r.data?.bPass&&!r.data?.Result?.bPass)throw new Error(`Failed to stop traveler: ${JSON.stringify(r.data.arErrors)}`);this.emit(i.NAME,new i(e))}};var g=class extends x.EventEmitter{#e;#t;constructor(t,e){super(),this.#e=t,this.#t={[p.TYPE]:this.#r(new p(e)),[m.TYPE]:this.#r(new m(e)),[l.TYPE]:this.#r(new l(e))}}get callbackFunctionChain(){return this.#n(this.#e.receiver.emitEventType(this.#e.receiver.responses.ok()))}removeAllListeners(t){return Object.values(this.#t).forEach(e=>e.removeAllListeners()),super.removeAllListeners(t)}#r(t){return t.on(i.NAME,e=>this.emit(i.NAME,e))}#n(t){return async(e,r)=>{let o=r.identifier,a=this.#t[o];if(!a)return this.#e.receiver.responses.badRequest(`Action ${o} does not exist.`)(e);try{await a.execute(e.payload),this.#e.logger.info(`Action ${o} executed successfully`)}catch(s){return this.#e.logger.error(`Action ${o} execution failed: ${s}`),this.#e.receiver.responses.internalServerError(`Action ${o} execution failed: ${s?.message??s}`)(e)}return t(e)}}};var f=class{constructor(t,e){this.name="ez-mes-traveler-extraction";this.#e=t,this.#t=e}static{this.INTERVAL=300}#e;#t;async onRun(t){let e=new URLSearchParams;typeof t=="string"&&e.append("travelerId",t);let r=await this.#t.get("/api/V1.2-INTEGRATION/travelerInformation",{params:Object.fromEntries(e.entries())});if(r.status!==200||!r.data?.bPass&&!r.data?.Result?.bPass){this.#e.logger.error(`Failed to fetch traveler information: ${JSON.stringify(r.data?.arErrors)}`);return}let o=r.data.Travelers??r.data.Result?.Travelers;await this.#e.sender.documents(o,{keyField:"TravelerId",collection:"ez-mes-travelers"})}};var I=class n{static{this.TOKEN_EXPIRY_BUFFER=600}#e;#t;#r;constructor(t,e){this.#e=t,this.#t=e}async format(t){return{...t,params:{...t.params,User:this.#e.username,PassKey:await this.#n()}}}errorResponseCallback(t,e){return new Promise(async(r,o)=>{if(t.status!==401)throw t;this.#r=void 0;try{await this.#n()}catch(a){o(a);return}e.client.request(e.method,e.url,e.options).then(a=>r(a)).catch(a=>o(a))})}async#n(){let t=this.#r;if(t&&t.expiresAt>Date.now())return t.token;let e=new URLSearchParams;e.set("user",this.#e.username),e.set("password",this.#e.password);let r=await this.#t.get(`/api/V2.0-EZBRM/auth/currentkey?${e.toString()}`).catch(()=>null);if((!r||!r.data)&&(r=await this.#t.get(`/api/V2.0-EZBRM/auth/login?${e.toString()}`)),!r||!r.data)throw new Error("Failed to authenticate and retrieve authentication token");return this.#r={token:r.data,expiresAt:Date.now()+n.TOKEN_EXPIRY_BUFFER*1e3},r.data}};var v=class extends u{constructor(e,r){super(e,r);this.init=async()=>{await Promise.all([this.connectorSDK.processing.registerInterval(f.INTERVAL,this.#t,{immediate:!0})])};this.stop=async()=>{this.#r.removeAllListeners()};this.#n=async e=>{await this.#t.onRun(e.travelerId)};let{config:o}=this.connectorSDK,a=new I(o,this.connectorSDK.httpClient({baseUrl:o.hostname}));this.#e=this.connectorSDK.httpClient({baseUrl:o.hostname}).setRequestOptionsFormatter(a.format.bind(a)).setErrorResponseHandler(a.errorResponseCallback.bind(a)),this.#t=new f(this.connectorSDK,this.#e),this.#r=new g(this.connectorSDK,this.#e).on(i.NAME,s=>this.#n(s)),this.callbackFunction=this.#r.callbackFunctionChain}#e;#t;#r;#n};0&&(module.exports={ConnectorRunnerEzMes});
1
+ "use strict";var A=Object.create;var d=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var T=Object.getPrototypeOf,R=Object.prototype.hasOwnProperty;var D=(n,t)=>{for(var e in t)d(n,e,{get:t[e],enumerable:!0})},h=(n,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of S(t))!R.call(n,o)&&o!==e&&d(n,o,{get:()=>t[o],enumerable:!(r=b(t,o))||r.enumerable});return n};var K=(n,t,e)=>(e=n!=null?A(T(n)):{},h(t||!n||!n.__esModule?d(e,"default",{value:n,enumerable:!0}):e,n)),k=n=>h(d({},"__esModule",{value:!0}),n);var w={};D(w,{ConnectorRunnerEzMes:()=>I});module.exports=k(w);var c=K(require("node:process")),u=class{#e="connector-runtime";#t;constructor(t,e){this.#t=e,c.default.on?c.default.on("message",r=>{r.cmd===this.#e&&e.logger.verbose(`${c.default.pid} Received message from parent process:`,r)}):e.logger.warn("IPC channel is not available. process.on is undefined."),c.default.send||e.logger.warn("IPC channel is not available. process.send is undefined."),t.actions?.forEach(r=>{if(r.config.templates===void 0)return;let o={};Object.entries(r.config.templates).forEach(([i,s])=>{try{o[i]=e.templating.compile(s)}catch(P){e.logger.error(`Error compiling template ${i} for action ${r.identifier}`,P)}}),r.config.parsedTemplates=o})}init=()=>Promise.resolve();start=()=>Promise.resolve();stop=()=>Promise.resolve();set callbackFunction(t){this.connectorSDK.receiver.registerCallback(this.#r(t))}get connectorSDK(){return this.#t}#r(t){return async e=>{let r=await this.#t.receiver.getActionConfig(e);return r?t(e,r):this.#t.receiver.responses.badRequest("Action not found")(e)}}};var y=require("node:events");var a=class{constructor(t){this.travelerId=t}static NAME="extract.travelers"};var E=require("node:events");var p=class extends E.EventEmitter{static TYPE="traveler.next-step";#e;constructor(t){super(),this.#e=t}async execute(t){let{travelerId:e}=t;if(typeof e!="string")throw new Error("travelerId parameter is required and must be a string");let r=await this.#e.post("/api/V1.2-INTEGRATION/nextStep",{TravelerId:e});if(r.status!==200||!r.data?.bPass&&!r.data?.Result?.bPass)throw new Error(`Failed to move traveler to next step: ${JSON.stringify(r.data.arErrors)}`);this.emit(a.NAME,new a(e))}};var x=require("node:events");var m=class extends x.EventEmitter{static TYPE="traveler.start-step";#e;constructor(t){super(),this.#e=t}async execute(t){let{travelerId:e}=t;if(typeof e!="string")throw new Error("travelerId parameter is required and must be a string");let r=await this.#e.post("/api/V1.2-INTEGRATION/startTraveler",{TravelerId:e});if(r.status!==200||!r.data?.bPass&&!r.data?.Result?.bPass)throw new Error(`Failed to start traveler: ${JSON.stringify(r.data.arErrors)}`);this.emit(a.NAME,new a(e))}};var C=require("node:events");var l=class extends C.EventEmitter{static TYPE="traveler.stop-step";#e;constructor(t){super(),this.#e=t}async execute(t){let{travelerId:e}=t;if(typeof e!="string")throw new Error("travelerId parameter is required and must be a string");let r=await this.#e.post("/api/V1.2-INTEGRATION/stopTraveler",{TravelerId:e});if(r.status!==200||!r.data?.bPass&&!r.data?.Result?.bPass)throw new Error(`Failed to stop traveler: ${JSON.stringify(r.data.arErrors)}`);this.emit(a.NAME,new a(e))}};var g=class extends y.EventEmitter{#e;#t;constructor(t,e){super(),this.#e=t,this.#t={[p.TYPE]:this.#r(new p(e)),[m.TYPE]:this.#r(new m(e)),[l.TYPE]:this.#r(new l(e))}}get callbackFunctionChain(){return this.#n(this.#e.receiver.emitEventType(this.#e.receiver.responses.ok()))}removeAllListeners(t){return Object.values(this.#t).forEach(e=>e.removeAllListeners()),super.removeAllListeners(t)}#r(t){return t.on(a.NAME,e=>this.emit(a.NAME,e))}#n(t){return async(e,r)=>{let o=r.identifier,i=this.#t[o];if(!i)return this.#e.receiver.responses.badRequest(`Action ${o} does not exist.`)(e);try{await i.execute(e.payload),this.#e.logger.info(`Action ${o} executed successfully`)}catch(s){return this.#e.logger.error(`Action ${o} execution failed: ${s}`),this.#e.receiver.responses.internalServerError(`Action ${o} execution failed: ${s?.message??s}`)(e)}return t(e)}}};var f=class{static INTERVAL=300;#e;#t;name="ez-mes-traveler-extraction";constructor(t,e){this.#e=t,this.#t=e}async onRun(t){let e=new URLSearchParams;typeof t=="string"&&e.append("travelerId",t);let r=await this.#t.get("/api/V1.2-INTEGRATION/travelerInformation",{params:Object.fromEntries(e.entries())});if(r.status!==200||!r.data?.bPass&&!r.data?.Result?.bPass){this.#e.logger.error(`Failed to fetch traveler information: ${JSON.stringify(r.data?.arErrors)}`);return}let o=r.data.Travelers??r.data.Result?.Travelers;await this.#e.sender.documents(o,{keyField:"TravelerId",collection:"ez-mes-travelers"})}};var v=class n{static TOKEN_EXPIRY_BUFFER=600;#e;#t;#r;constructor(t,e){this.#e=t,this.#t=e}async format(t){return{...t,params:{...t.params,User:this.#e.username,PassKey:await this.#n()}}}errorResponseCallback(t,e){return new Promise(async(r,o)=>{if(t.status!==401)throw t;this.#r=void 0;try{await this.#n()}catch(i){o(i);return}e.client.request(e.method,e.url,e.options).then(i=>r(i)).catch(i=>o(i))})}async#n(){let t=this.#r;if(t&&t.expiresAt>Date.now())return t.token;let e=new URLSearchParams;e.set("user",this.#e.username),e.set("password",this.#e.password);let r=await this.#t.get(`/api/V2.0-EZBRM/auth/currentkey?${e.toString()}`).catch(()=>null);if((!r||!r.data)&&(r=await this.#t.get(`/api/V2.0-EZBRM/auth/login?${e.toString()}`)),!r||!r.data)throw new Error("Failed to authenticate and retrieve authentication token");return this.#r={token:r.data,expiresAt:Date.now()+n.TOKEN_EXPIRY_BUFFER*1e3},r.data}};var I=class extends u{#e;#t;#r;constructor(t,e){super(t,e);let{config:r}=this.connectorSDK,o=new v(r,this.connectorSDK.httpClient({baseUrl:r.hostname}));this.#e=this.connectorSDK.httpClient({baseUrl:r.hostname}).setRequestOptionsFormatter(o.format.bind(o)).setErrorResponseHandler(o.errorResponseCallback.bind(o)),this.#t=new f(this.connectorSDK,this.#e),this.#r=new g(this.connectorSDK,this.#e).on(a.NAME,i=>this.#n(i)),this.callbackFunction=this.#r.callbackFunctionChain}init=async()=>{await Promise.all([this.connectorSDK.processing.registerInterval(f.INTERVAL,this.#t,{immediate:!0})])};stop=async()=>{this.#r.removeAllListeners()};#n=async t=>{await this.#t.onRun(t.travelerId)}};0&&(module.exports={ConnectorRunnerEzMes});
2
2
  //# sourceMappingURL=index.cjs.map
package/index.cjs.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../libs/connector-runner-ez-mes/src/index.ts", "../../../libs/connector-runtime-sdk/src/lib/connector-runtime.ts", "../../../libs/connector-runner-ez-mes/src/lib/actions/actions-handler.ts", "../../../libs/connector-runner-ez-mes/src/lib/events/extract-traveler.event.ts", "../../../libs/connector-runner-ez-mes/src/lib/actions/traveler-next-step.action.ts", "../../../libs/connector-runner-ez-mes/src/lib/actions/traveler-start.action.ts", "../../../libs/connector-runner-ez-mes/src/lib/actions/traveler-stop.action.ts", "../../../libs/connector-runner-ez-mes/src/lib/extraction/traveler-extraction.ts", "../../../libs/connector-runner-ez-mes/src/lib/http-client-authentication.ts", "../../../libs/connector-runner-ez-mes/src/lib/connector-runner-ez-mes.ts"],
4
- "sourcesContent": ["export * from './lib/connector-runner-ez-mes';\n", "import process from 'node:process';\n\nimport { ConnectorRuntimeInterface } from './connector-runtime.interface';\nimport { CompileDelegate, ConnectorSDKInterface } from './sdk';\nimport {\n ActionInterface,\n BaseConnectorConfig,\n ConnectorInterface,\n KafkaCallbackResponse,\n XodJobType,\n} from './types';\n\nexport interface IpcMessage {\n cmd: string;\n message: string;\n}\n\nexport abstract class ConnectorRuntimeSDK<\n T extends BaseConnectorConfig = BaseConnectorConfig,\n> implements ConnectorRuntimeInterface {\n readonly #IPC_CHANNEL = 'connector-runtime';\n\n readonly #connectorSDK: ConnectorSDKInterface<T>;\n\n constructor(\n connector: ConnectorInterface,\n connectorSDK: ConnectorSDKInterface,\n ) {\n this.#connectorSDK = connectorSDK as ConnectorSDKInterface<T>;\n\n if (process.on) {\n process.on('message', (message: IpcMessage) => {\n if (message.cmd === this.#IPC_CHANNEL) {\n connectorSDK.logger.verbose(\n `${process.pid} Received message from parent process:`,\n message,\n );\n }\n });\n } else {\n connectorSDK.logger.warn(\n 'IPC channel is not available. process.on is undefined.',\n );\n }\n\n if (!process.send) {\n // Check if process.send is available\n connectorSDK.logger.warn(\n 'IPC channel is not available. process.send is undefined.',\n );\n }\n\n // eslint-disable-next-line no-restricted-syntax\n connector.actions?.forEach((action: ActionInterface) => {\n if (action.config['templates'] === undefined) {\n return;\n }\n\n const containers: {\n [key: string]: CompileDelegate;\n } = {};\n\n Object.entries(action.config['templates']).forEach(([key, value]) => {\n try {\n // eslint-disable-next-line security/detect-object-injection\n containers[key] = connectorSDK.templating.compile(value);\n } catch (error: unknown) {\n connectorSDK.logger.error(\n `Error compiling template ${key} for action ${action.identifier}`,\n error,\n );\n }\n });\n\n // eslint-disable-next-line no-param-reassign\n action.config['parsedTemplates'] = containers;\n });\n }\n\n public init: () => Promise<void> = () => Promise.resolve();\n\n public start: () => Promise<void> = () => Promise.resolve();\n\n public stop: () => Promise<void> = () => Promise.resolve();\n\n set callbackFunction(\n callback: (\n message: XodJobType,\n action: ActionInterface,\n ) => Promise<KafkaCallbackResponse>,\n ) {\n this.connectorSDK.receiver.registerCallback(\n this.#enrichWithActionConfig(callback),\n );\n }\n\n protected get connectorSDK(): ConnectorSDKInterface<T> {\n return this.#connectorSDK;\n }\n\n #enrichWithActionConfig(\n callbackFunction: (\n message: XodJobType,\n action: ActionInterface,\n ) => Promise<KafkaCallbackResponse>,\n ): (message: XodJobType) => Promise<KafkaCallbackResponse> {\n return async (message: XodJobType) => {\n const action = await this.#connectorSDK.receiver.getActionConfig(message);\n if (!action) {\n return this.#connectorSDK.receiver.responses.badRequest(\n 'Action not found',\n )(message);\n }\n return callbackFunction(message, action);\n };\n }\n}\n", "import { EventEmitter } from 'node:events';\n\nimport {\n ConnectorSDKInterface,\n HttpClientSDKInterface,\n} from '@transai/connector-runtime-sdk';\nimport {\n ActionInterface,\n KafkaCallbackResponse,\n XodJobType,\n} from '@xip-online-data/types';\n\nimport { ExtractTravelerEvent } from '../events/extract-traveler.event';\nimport { EzMesApiAction, EzMesConfig } from '../types';\n\nimport { TravelerNextStepAction } from './traveler-next-step.action';\nimport { TravelerNextStartAction } from './traveler-start.action';\nimport { TravelerNextStopAction } from './traveler-stop.action';\n\nexport class ActionsHandler extends EventEmitter {\n readonly #sdk: ConnectorSDKInterface<EzMesConfig>;\n\n readonly #actionsMap: Record<string, EzMesApiAction>;\n\n constructor(\n sdk: ConnectorSDKInterface<EzMesConfig>,\n httpClient: HttpClientSDKInterface,\n ) {\n super();\n\n this.#sdk = sdk;\n this.#actionsMap = {\n [TravelerNextStepAction.TYPE]: this.#subscribeAction(\n new TravelerNextStepAction(httpClient),\n ),\n [TravelerNextStartAction.TYPE]: this.#subscribeAction(\n new TravelerNextStartAction(httpClient),\n ),\n [TravelerNextStopAction.TYPE]: this.#subscribeAction(\n new TravelerNextStopAction(httpClient),\n ),\n };\n }\n\n get callbackFunctionChain(): (\n message: XodJobType,\n action: ActionInterface,\n ) => Promise<KafkaCallbackResponse> {\n return this.#actionCallbackFunction(\n this.#sdk.receiver.emitEventType(this.#sdk.receiver.responses.ok()),\n );\n }\n\n override removeAllListeners(event?: string | symbol): this {\n Object.values(this.#actionsMap).forEach((action) =>\n action.removeAllListeners(),\n );\n\n return super.removeAllListeners(event);\n }\n\n #subscribeAction(action: EzMesApiAction): EzMesApiAction {\n return action.on(ExtractTravelerEvent.NAME, (event: ExtractTravelerEvent) =>\n this.emit(ExtractTravelerEvent.NAME, event),\n );\n }\n\n #actionCallbackFunction(\n callbackFunction: (message: XodJobType) => Promise<KafkaCallbackResponse>,\n ) {\n return async (\n message: XodJobType,\n action: ActionInterface,\n ): Promise<KafkaCallbackResponse> => {\n const actionIdentifier = action.identifier;\n const actionInstance = this.#actionsMap[actionIdentifier];\n if (!actionInstance) {\n return this.#sdk.receiver.responses.badRequest(\n `Action ${actionIdentifier} does not exist.`,\n )(message);\n }\n\n try {\n await actionInstance.execute(message.payload);\n this.#sdk.logger.info(\n `Action ${actionIdentifier} executed successfully`,\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (error: any) {\n this.#sdk.logger.error(\n `Action ${actionIdentifier} execution failed: ${error}`,\n );\n return this.#sdk.receiver.responses.internalServerError(\n `Action ${actionIdentifier} execution failed: ${error?.message ?? error}`,\n )(message);\n }\n\n return callbackFunction(message);\n };\n }\n}\n", "export class ExtractTravelerEvent {\n static readonly NAME = 'extract.travelers';\n\n constructor(readonly travelerId: string) {}\n}\n", "import { EventEmitter } from 'node:events';\n\nimport { HttpClientSDKInterface } from '@transai/connector-runtime-sdk';\n\nimport { ExtractTravelerEvent } from '../events/extract-traveler.event';\nimport { EzMesApiAction, EzMesApiStrangeResponse } from '../types';\n\ntype TravelerNextStepParams = {\n travelerId?: string;\n};\n\nexport class TravelerNextStepAction\n extends EventEmitter\n implements EzMesApiAction<TravelerNextStepParams, void>\n{\n static readonly TYPE = 'traveler.next-step';\n\n readonly #httpClient: HttpClientSDKInterface;\n\n constructor(httpClient: HttpClientSDKInterface) {\n super();\n\n this.#httpClient = httpClient;\n }\n\n async execute(params: TravelerNextStepParams): Promise<void> {\n const { travelerId } = params as TravelerNextStepParams;\n if (typeof travelerId !== 'string') {\n throw new Error('travelerId parameter is required and must be a string');\n }\n\n const response = await this.#httpClient.post<EzMesApiStrangeResponse>(\n '/api/V1.2-INTEGRATION/nextStep',\n {\n TravelerId: travelerId,\n },\n );\n\n if (\n response.status !== 200 ||\n (!response.data?.bPass && !response.data?.Result?.bPass)\n ) {\n throw new Error(\n `Failed to move traveler to next step: ${JSON.stringify(\n response.data.arErrors,\n )}`,\n );\n }\n\n this.emit(ExtractTravelerEvent.NAME, new ExtractTravelerEvent(travelerId));\n }\n}\n", "import { EventEmitter } from 'node:events';\n\nimport { HttpClientSDKInterface } from '@transai/connector-runtime-sdk';\n\nimport { ExtractTravelerEvent } from '../events/extract-traveler.event';\nimport { EzMesApiAction, EzMesApiStrangeResponse } from '../types';\n\ntype TravelerNextStartParams = {\n travelerId?: string;\n};\n\nexport class TravelerNextStartAction\n extends EventEmitter\n implements EzMesApiAction<TravelerNextStartParams, void>\n{\n static readonly TYPE = 'traveler.start-step';\n\n readonly #httpClient: HttpClientSDKInterface;\n\n constructor(httpClient: HttpClientSDKInterface) {\n super();\n\n this.#httpClient = httpClient;\n }\n\n async execute(params: TravelerNextStartParams): Promise<void> {\n const { travelerId } = params as TravelerNextStartParams;\n if (typeof travelerId !== 'string') {\n throw new Error('travelerId parameter is required and must be a string');\n }\n\n const response = await this.#httpClient.post<EzMesApiStrangeResponse>(\n '/api/V1.2-INTEGRATION/startTraveler',\n {\n TravelerId: travelerId,\n },\n );\n\n if (\n response.status !== 200 ||\n (!response.data?.bPass && !response.data?.Result?.bPass)\n ) {\n throw new Error(\n `Failed to start traveler: ${JSON.stringify(response.data.arErrors)}`,\n );\n }\n\n this.emit(ExtractTravelerEvent.NAME, new ExtractTravelerEvent(travelerId));\n }\n}\n", "import { EventEmitter } from 'node:events';\n\nimport { HttpClientSDKInterface } from '@transai/connector-runtime-sdk';\n\nimport { ExtractTravelerEvent } from '../events/extract-traveler.event';\nimport { EzMesApiAction, EzMesApiStrangeResponse } from '../types';\n\ntype TravelerNextStopParams = {\n travelerId?: string;\n};\n\nexport class TravelerNextStopAction\n extends EventEmitter\n implements EzMesApiAction<TravelerNextStopParams, void>\n{\n static readonly TYPE = 'traveler.stop-step';\n\n readonly #httpClient: HttpClientSDKInterface;\n\n constructor(httpClient: HttpClientSDKInterface) {\n super();\n\n this.#httpClient = httpClient;\n }\n\n async execute(params: TravelerNextStopParams): Promise<void> {\n const { travelerId } = params as TravelerNextStopParams;\n if (typeof travelerId !== 'string') {\n throw new Error('travelerId parameter is required and must be a string');\n }\n\n const response = await this.#httpClient.post<EzMesApiStrangeResponse>(\n '/api/V1.2-INTEGRATION/stopTraveler',\n {\n TravelerId: travelerId,\n },\n );\n\n if (\n response.status !== 200 ||\n (!response.data?.bPass && !response.data?.Result?.bPass)\n ) {\n throw new Error(\n `Failed to stop traveler: ${JSON.stringify(response.data.arErrors)}`,\n );\n }\n\n this.emit(ExtractTravelerEvent.NAME, new ExtractTravelerEvent(travelerId));\n }\n}\n", "import {\n ConnectorSDKInterface,\n HttpClientSDKInterface,\n IntervalHandler,\n} from '@transai/connector-runtime-sdk';\n\nimport { EzMesApiStrangeResponse } from '../types';\n\nimport { TravelerResponseV2 } from './traveler-type';\n\nexport class TravelerExtraction implements IntervalHandler {\n /**\n * Extraction interval in seconds, default to 300 seconds (5 minutes)\n */\n static readonly INTERVAL = 300;\n\n readonly #sdk: ConnectorSDKInterface;\n\n readonly #httpClient: HttpClientSDKInterface;\n\n readonly name = 'ez-mes-traveler-extraction';\n\n constructor(sdk: ConnectorSDKInterface, httpClient: HttpClientSDKInterface) {\n this.#sdk = sdk;\n this.#httpClient = httpClient;\n }\n\n async onRun(travelerId?: string): Promise<void> {\n const searchParams = new URLSearchParams();\n if (typeof travelerId === 'string') {\n searchParams.append('travelerId', travelerId);\n }\n\n const response = await this.#httpClient.get<\n EzMesApiStrangeResponse<TravelerResponseV2>\n >('/api/V1.2-INTEGRATION/travelerInformation', {\n params: Object.fromEntries(searchParams.entries()),\n });\n\n if (\n response.status !== 200 ||\n (!response.data?.bPass && !response.data?.Result?.bPass)\n ) {\n this.#sdk.logger.error(\n `Failed to fetch traveler information: ${JSON.stringify(response.data?.arErrors)}`,\n );\n return;\n }\n\n const travelers =\n response.data.Travelers ?? response.data.Result?.Travelers;\n\n await this.#sdk.sender.documents(travelers, {\n keyField: 'TravelerId',\n collection: 'ez-mes-travelers',\n });\n }\n}\n", "import {\n HttpClientPromise,\n HttpClientSDKInterface,\n HttpError,\n HttpErrorResponseCallbackRequest,\n HttpMethod,\n HttpRequestOptions,\n} from '@transai/connector-runtime-sdk';\n\nimport { EzMesAuthenticationConfig } from './types';\n\nexport class HttpClientAuthentication {\n static readonly TOKEN_EXPIRY_BUFFER = 600;\n\n readonly #config: EzMesAuthenticationConfig;\n\n readonly #tokenHttpClient: HttpClientSDKInterface;\n\n #sessionToken?: {\n token: string;\n expiresAt: number;\n };\n\n constructor(\n config: EzMesAuthenticationConfig,\n tokenHttpClient: HttpClientSDKInterface,\n ) {\n this.#config = config;\n this.#tokenHttpClient = tokenHttpClient;\n }\n\n async format<D = string | object>(\n requestOptions: HttpRequestOptions<D>,\n ): Promise<HttpRequestOptions<D>> {\n return {\n ...requestOptions,\n params: {\n ...requestOptions.params,\n User: this.#config.username,\n PassKey: await this.#formatTokenAuth(),\n },\n };\n }\n\n errorResponseCallback<R = unknown, D = string | object>(\n error: HttpError,\n request: HttpErrorResponseCallbackRequest<D>,\n ): HttpClientPromise<R> {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve, reject) => {\n if (error.status !== 401) {\n throw error;\n }\n\n this.#sessionToken = undefined;\n\n try {\n await this.#formatTokenAuth();\n } catch (error) {\n reject(error);\n return;\n }\n\n // eslint-disable-next-line promise/no-promise-in-callback\n request.client\n .request<R, D>(\n request.method as HttpMethod,\n request.url,\n request.options,\n )\n .then((value) => resolve(value))\n .catch((err) => reject(err));\n });\n }\n\n async #formatTokenAuth(): Promise<string> {\n const token = this.#sessionToken;\n if (token && token.expiresAt > Date.now()) {\n return token.token;\n }\n\n const params = new URLSearchParams();\n params.set('user', this.#config.username);\n params.set('password', this.#config.password);\n\n let response = await this.#tokenHttpClient\n .get<string>(`/api/V2.0-EZBRM/auth/currentkey?${params.toString()}`)\n .catch(() => null);\n\n if (!response || !response.data) {\n response = await this.#tokenHttpClient.get<string>(\n `/api/V2.0-EZBRM/auth/login?${params.toString()}`,\n );\n }\n\n if (!response || !response.data) {\n throw new Error(\n 'Failed to authenticate and retrieve authentication token',\n );\n }\n\n this.#sessionToken = {\n token: response.data,\n expiresAt:\n Date.now() + HttpClientAuthentication.TOKEN_EXPIRY_BUFFER * 1000,\n };\n\n return response.data;\n }\n}\n", "import {\n ConnectorRuntimeSDK,\n ConnectorSDKInterface,\n HttpClientSDKInterface,\n} from '@transai/connector-runtime-sdk';\nimport { ConnectorInterface } from '@xip-online-data/types';\n\nimport { ActionsHandler } from './actions/actions-handler';\nimport { ExtractTravelerEvent } from './events/extract-traveler.event';\nimport { TravelerExtraction } from './extraction/traveler-extraction';\nimport { HttpClientAuthentication } from './http-client-authentication';\nimport { EzMesConfig } from './types';\n\nexport class ConnectorRunnerEzMes extends ConnectorRuntimeSDK<EzMesConfig> {\n readonly #httpClient: HttpClientSDKInterface;\n\n readonly #travelerExtractor: TravelerExtraction;\n\n readonly #actionsHandler: ActionsHandler;\n\n constructor(\n connector: ConnectorInterface,\n connectorSDK: ConnectorSDKInterface,\n ) {\n super(connector, connectorSDK);\n\n const { config } = this.connectorSDK;\n\n const clientAuthHandler = new HttpClientAuthentication(\n config,\n this.connectorSDK.httpClient({\n baseUrl: config.hostname,\n }),\n );\n\n this.#httpClient = this.connectorSDK\n .httpClient({\n baseUrl: config.hostname,\n })\n .setRequestOptionsFormatter(\n clientAuthHandler.format.bind(clientAuthHandler),\n )\n .setErrorResponseHandler(\n clientAuthHandler.errorResponseCallback.bind(clientAuthHandler),\n );\n\n this.#travelerExtractor = new TravelerExtraction(\n this.connectorSDK,\n this.#httpClient,\n );\n\n this.#actionsHandler = new ActionsHandler(\n this.connectorSDK,\n this.#httpClient,\n ).on(ExtractTravelerEvent.NAME, (event: ExtractTravelerEvent) =>\n this.#handleExtractTravelersEvent(event),\n );\n\n this.callbackFunction = this.#actionsHandler.callbackFunctionChain;\n }\n\n override init = async (): Promise<void> => {\n await Promise.all([\n this.connectorSDK.processing.registerInterval(\n TravelerExtraction.INTERVAL,\n this.#travelerExtractor,\n { immediate: true },\n ),\n ]);\n };\n\n override stop = async (): Promise<void> => {\n this.#actionsHandler.removeAllListeners();\n };\n\n #handleExtractTravelersEvent = async (\n event: ExtractTravelerEvent,\n ): Promise<void> => {\n await this.#travelerExtractor.onRun(event.travelerId);\n };\n}\n"],
5
- "mappings": "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",
6
- "names": ["index_exports", "__export", "ConnectorRunnerEzMes", "__toCommonJS", "import_node_process", "ConnectorRuntimeSDK", "connector", "connectorSDK", "#IPC_CHANNEL", "#connectorSDK", "process", "message", "action", "containers", "key", "value", "error", "callback", "#enrichWithActionConfig", "callbackFunction", "import_node_events", "ExtractTravelerEvent", "travelerId", "import_node_events", "TravelerNextStepAction", "#httpClient", "httpClient", "params", "travelerId", "response", "ExtractTravelerEvent", "import_node_events", "TravelerNextStartAction", "#httpClient", "httpClient", "params", "travelerId", "response", "ExtractTravelerEvent", "import_node_events", "TravelerNextStopAction", "#httpClient", "httpClient", "params", "travelerId", "response", "ExtractTravelerEvent", "ActionsHandler", "#sdk", "#actionsMap", "sdk", "httpClient", "TravelerNextStepAction", "#subscribeAction", "TravelerNextStartAction", "TravelerNextStopAction", "#actionCallbackFunction", "event", "action", "ExtractTravelerEvent", "callbackFunction", "message", "actionIdentifier", "actionInstance", "error", "TravelerExtraction", "sdk", "httpClient", "#sdk", "#httpClient", "travelerId", "searchParams", "response", "travelers", "HttpClientAuthentication", "_HttpClientAuthentication", "#config", "#tokenHttpClient", "#sessionToken", "config", "tokenHttpClient", "requestOptions", "#formatTokenAuth", "error", "request", "resolve", "reject", "value", "err", "token", "params", "response", "ConnectorRunnerEzMes", "ConnectorRuntimeSDK", "connector", "connectorSDK", "TravelerExtraction", "#travelerExtractor", "#actionsHandler", "#handleExtractTravelersEvent", "event", "config", "clientAuthHandler", "HttpClientAuthentication", "#httpClient", "ActionsHandler", "ExtractTravelerEvent"]
4
+ "sourcesContent": ["export * from './lib/connector-runner-ez-mes';\n", "import process from 'node:process';\n\nimport { ConnectorRuntimeInterface } from './connector-runtime.interface';\nimport { CompileDelegate, ConnectorSDKInterface } from './sdk';\nimport {\n ActionInterface,\n BaseConnectorConfig,\n ConnectorInterface,\n KafkaCallbackResponse,\n XodJobType,\n} from './types';\n\nexport interface IpcMessage {\n cmd: string;\n message: string;\n}\n\nexport abstract class ConnectorRuntimeSDK<\n T extends BaseConnectorConfig = BaseConnectorConfig,\n> implements ConnectorRuntimeInterface {\n readonly #IPC_CHANNEL = 'connector-runtime';\n\n readonly #connectorSDK: ConnectorSDKInterface<T>;\n\n constructor(\n connector: ConnectorInterface,\n connectorSDK: ConnectorSDKInterface,\n ) {\n this.#connectorSDK = connectorSDK as ConnectorSDKInterface<T>;\n\n if (process.on) {\n process.on('message', (message: IpcMessage) => {\n if (message.cmd === this.#IPC_CHANNEL) {\n connectorSDK.logger.verbose(\n `${process.pid} Received message from parent process:`,\n message,\n );\n }\n });\n } else {\n connectorSDK.logger.warn(\n 'IPC channel is not available. process.on is undefined.',\n );\n }\n\n if (!process.send) {\n // Check if process.send is available\n connectorSDK.logger.warn(\n 'IPC channel is not available. process.send is undefined.',\n );\n }\n\n // eslint-disable-next-line no-restricted-syntax\n connector.actions?.forEach((action: ActionInterface) => {\n if (action.config['templates'] === undefined) {\n return;\n }\n\n const containers: {\n [key: string]: CompileDelegate;\n } = {};\n\n Object.entries(action.config['templates']).forEach(([key, value]) => {\n try {\n // eslint-disable-next-line security/detect-object-injection\n containers[key] = connectorSDK.templating.compile(value);\n } catch (error: unknown) {\n connectorSDK.logger.error(\n `Error compiling template ${key} for action ${action.identifier}`,\n error,\n );\n }\n });\n\n // eslint-disable-next-line no-param-reassign\n action.config['parsedTemplates'] = containers;\n });\n }\n\n public init: () => Promise<void> = () => Promise.resolve();\n\n public start: () => Promise<void> = () => Promise.resolve();\n\n public stop: () => Promise<void> = () => Promise.resolve();\n\n set callbackFunction(\n callback: (\n message: XodJobType,\n action: ActionInterface,\n ) => Promise<KafkaCallbackResponse>,\n ) {\n this.connectorSDK.receiver.registerCallback(\n this.#enrichWithActionConfig(callback),\n );\n }\n\n protected get connectorSDK(): ConnectorSDKInterface<T> {\n return this.#connectorSDK;\n }\n\n #enrichWithActionConfig(\n callbackFunction: (\n message: XodJobType,\n action: ActionInterface,\n ) => Promise<KafkaCallbackResponse>,\n ): (message: XodJobType) => Promise<KafkaCallbackResponse> {\n return async (message: XodJobType) => {\n const action = await this.#connectorSDK.receiver.getActionConfig(message);\n if (!action) {\n return this.#connectorSDK.receiver.responses.badRequest(\n 'Action not found',\n )(message);\n }\n return callbackFunction(message, action);\n };\n }\n}\n", "import { EventEmitter } from 'node:events';\n\nimport {\n ConnectorSDKInterface,\n HttpClientSDKInterface,\n ActionInterface,\n KafkaCallbackResponse,\n XodJobType,\n} from '@transai/connector-runtime-sdk';\n\nimport { ExtractTravelerEvent } from '../events/extract-traveler.event';\nimport { EzMesApiAction, EzMesConfig } from '../types';\n\nimport { TravelerNextStepAction } from './traveler-next-step.action';\nimport { TravelerNextStartAction } from './traveler-start.action';\nimport { TravelerNextStopAction } from './traveler-stop.action';\n\nexport class ActionsHandler extends EventEmitter {\n readonly #sdk: ConnectorSDKInterface<EzMesConfig>;\n\n readonly #actionsMap: Record<string, EzMesApiAction>;\n\n constructor(\n sdk: ConnectorSDKInterface<EzMesConfig>,\n httpClient: HttpClientSDKInterface,\n ) {\n super();\n\n this.#sdk = sdk;\n this.#actionsMap = {\n [TravelerNextStepAction.TYPE]: this.#subscribeAction(\n new TravelerNextStepAction(httpClient),\n ),\n [TravelerNextStartAction.TYPE]: this.#subscribeAction(\n new TravelerNextStartAction(httpClient),\n ),\n [TravelerNextStopAction.TYPE]: this.#subscribeAction(\n new TravelerNextStopAction(httpClient),\n ),\n };\n }\n\n get callbackFunctionChain(): (\n message: XodJobType,\n action: ActionInterface,\n ) => Promise<KafkaCallbackResponse> {\n return this.#actionCallbackFunction(\n this.#sdk.receiver.emitEventType(this.#sdk.receiver.responses.ok()),\n );\n }\n\n override removeAllListeners(event?: string | symbol): this {\n Object.values(this.#actionsMap).forEach((action) =>\n action.removeAllListeners(),\n );\n\n return super.removeAllListeners(event);\n }\n\n #subscribeAction(action: EzMesApiAction): EzMesApiAction {\n return action.on(ExtractTravelerEvent.NAME, (event: ExtractTravelerEvent) =>\n this.emit(ExtractTravelerEvent.NAME, event),\n );\n }\n\n #actionCallbackFunction(\n callbackFunction: (message: XodJobType) => Promise<KafkaCallbackResponse>,\n ) {\n return async (\n message: XodJobType,\n action: ActionInterface,\n ): Promise<KafkaCallbackResponse> => {\n const actionIdentifier = action.identifier;\n const actionInstance = this.#actionsMap[actionIdentifier];\n if (!actionInstance) {\n return this.#sdk.receiver.responses.badRequest(\n `Action ${actionIdentifier} does not exist.`,\n )(message);\n }\n\n try {\n await actionInstance.execute(message.payload);\n this.#sdk.logger.info(\n `Action ${actionIdentifier} executed successfully`,\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (error: any) {\n this.#sdk.logger.error(\n `Action ${actionIdentifier} execution failed: ${error}`,\n );\n return this.#sdk.receiver.responses.internalServerError(\n `Action ${actionIdentifier} execution failed: ${error?.message ?? error}`,\n )(message);\n }\n\n return callbackFunction(message);\n };\n }\n}\n", "export class ExtractTravelerEvent {\n static readonly NAME = 'extract.travelers';\n\n constructor(readonly travelerId: string) {}\n}\n", "import { EventEmitter } from 'node:events';\n\nimport { HttpClientSDKInterface } from '@transai/connector-runtime-sdk';\n\nimport { ExtractTravelerEvent } from '../events/extract-traveler.event';\nimport { EzMesApiAction, EzMesApiStrangeResponse } from '../types';\n\ntype TravelerNextStepParams = {\n travelerId?: string;\n};\n\nexport class TravelerNextStepAction\n extends EventEmitter\n implements EzMesApiAction<TravelerNextStepParams, void>\n{\n static readonly TYPE = 'traveler.next-step';\n\n readonly #httpClient: HttpClientSDKInterface;\n\n constructor(httpClient: HttpClientSDKInterface) {\n super();\n\n this.#httpClient = httpClient;\n }\n\n async execute(params: TravelerNextStepParams): Promise<void> {\n const { travelerId } = params as TravelerNextStepParams;\n if (typeof travelerId !== 'string') {\n throw new Error('travelerId parameter is required and must be a string');\n }\n\n const response = await this.#httpClient.post<EzMesApiStrangeResponse>(\n '/api/V1.2-INTEGRATION/nextStep',\n {\n TravelerId: travelerId,\n },\n );\n\n if (\n response.status !== 200 ||\n (!response.data?.bPass && !response.data?.Result?.bPass)\n ) {\n throw new Error(\n `Failed to move traveler to next step: ${JSON.stringify(\n response.data.arErrors,\n )}`,\n );\n }\n\n this.emit(ExtractTravelerEvent.NAME, new ExtractTravelerEvent(travelerId));\n }\n}\n", "import { EventEmitter } from 'node:events';\n\nimport { HttpClientSDKInterface } from '@transai/connector-runtime-sdk';\n\nimport { ExtractTravelerEvent } from '../events/extract-traveler.event';\nimport { EzMesApiAction, EzMesApiStrangeResponse } from '../types';\n\ntype TravelerNextStartParams = {\n travelerId?: string;\n};\n\nexport class TravelerNextStartAction\n extends EventEmitter\n implements EzMesApiAction<TravelerNextStartParams, void>\n{\n static readonly TYPE = 'traveler.start-step';\n\n readonly #httpClient: HttpClientSDKInterface;\n\n constructor(httpClient: HttpClientSDKInterface) {\n super();\n\n this.#httpClient = httpClient;\n }\n\n async execute(params: TravelerNextStartParams): Promise<void> {\n const { travelerId } = params as TravelerNextStartParams;\n if (typeof travelerId !== 'string') {\n throw new Error('travelerId parameter is required and must be a string');\n }\n\n const response = await this.#httpClient.post<EzMesApiStrangeResponse>(\n '/api/V1.2-INTEGRATION/startTraveler',\n {\n TravelerId: travelerId,\n },\n );\n\n if (\n response.status !== 200 ||\n (!response.data?.bPass && !response.data?.Result?.bPass)\n ) {\n throw new Error(\n `Failed to start traveler: ${JSON.stringify(response.data.arErrors)}`,\n );\n }\n\n this.emit(ExtractTravelerEvent.NAME, new ExtractTravelerEvent(travelerId));\n }\n}\n", "import { EventEmitter } from 'node:events';\n\nimport { HttpClientSDKInterface } from '@transai/connector-runtime-sdk';\n\nimport { ExtractTravelerEvent } from '../events/extract-traveler.event';\nimport { EzMesApiAction, EzMesApiStrangeResponse } from '../types';\n\ntype TravelerNextStopParams = {\n travelerId?: string;\n};\n\nexport class TravelerNextStopAction\n extends EventEmitter\n implements EzMesApiAction<TravelerNextStopParams, void>\n{\n static readonly TYPE = 'traveler.stop-step';\n\n readonly #httpClient: HttpClientSDKInterface;\n\n constructor(httpClient: HttpClientSDKInterface) {\n super();\n\n this.#httpClient = httpClient;\n }\n\n async execute(params: TravelerNextStopParams): Promise<void> {\n const { travelerId } = params as TravelerNextStopParams;\n if (typeof travelerId !== 'string') {\n throw new Error('travelerId parameter is required and must be a string');\n }\n\n const response = await this.#httpClient.post<EzMesApiStrangeResponse>(\n '/api/V1.2-INTEGRATION/stopTraveler',\n {\n TravelerId: travelerId,\n },\n );\n\n if (\n response.status !== 200 ||\n (!response.data?.bPass && !response.data?.Result?.bPass)\n ) {\n throw new Error(\n `Failed to stop traveler: ${JSON.stringify(response.data.arErrors)}`,\n );\n }\n\n this.emit(ExtractTravelerEvent.NAME, new ExtractTravelerEvent(travelerId));\n }\n}\n", "import {\n ConnectorSDKInterface,\n HttpClientSDKInterface,\n IntervalHandler,\n} from '@transai/connector-runtime-sdk';\n\nimport { EzMesApiStrangeResponse } from '../types';\n\nimport { TravelerResponseV2 } from './traveler-type';\n\nexport class TravelerExtraction implements IntervalHandler {\n /**\n * Extraction interval in seconds, default to 300 seconds (5 minutes)\n */\n static readonly INTERVAL = 300;\n\n readonly #sdk: ConnectorSDKInterface;\n\n readonly #httpClient: HttpClientSDKInterface;\n\n readonly name = 'ez-mes-traveler-extraction';\n\n constructor(sdk: ConnectorSDKInterface, httpClient: HttpClientSDKInterface) {\n this.#sdk = sdk;\n this.#httpClient = httpClient;\n }\n\n async onRun(travelerId?: string): Promise<void> {\n const searchParams = new URLSearchParams();\n if (typeof travelerId === 'string') {\n searchParams.append('travelerId', travelerId);\n }\n\n const response = await this.#httpClient.get<\n EzMesApiStrangeResponse<TravelerResponseV2>\n >('/api/V1.2-INTEGRATION/travelerInformation', {\n params: Object.fromEntries(searchParams.entries()),\n });\n\n if (\n response.status !== 200 ||\n (!response.data?.bPass && !response.data?.Result?.bPass)\n ) {\n this.#sdk.logger.error(\n `Failed to fetch traveler information: ${JSON.stringify(response.data?.arErrors)}`,\n );\n return;\n }\n\n const travelers =\n response.data.Travelers ?? response.data.Result?.Travelers;\n\n await this.#sdk.sender.documents(travelers, {\n keyField: 'TravelerId',\n collection: 'ez-mes-travelers',\n });\n }\n}\n", "import {\n HttpClientPromise,\n HttpClientSDKInterface,\n HttpError,\n HttpErrorResponseCallbackRequest,\n HttpMethod,\n HttpRequestOptions,\n} from '@transai/connector-runtime-sdk';\n\nimport { EzMesAuthenticationConfig } from './types';\n\nexport class HttpClientAuthentication {\n static readonly TOKEN_EXPIRY_BUFFER = 600;\n\n readonly #config: EzMesAuthenticationConfig;\n\n readonly #tokenHttpClient: HttpClientSDKInterface;\n\n #sessionToken?: {\n token: string;\n expiresAt: number;\n };\n\n constructor(\n config: EzMesAuthenticationConfig,\n tokenHttpClient: HttpClientSDKInterface,\n ) {\n this.#config = config;\n this.#tokenHttpClient = tokenHttpClient;\n }\n\n async format<D = string | object>(\n requestOptions: HttpRequestOptions<D>,\n ): Promise<HttpRequestOptions<D>> {\n return {\n ...requestOptions,\n params: {\n ...requestOptions.params,\n User: this.#config.username,\n PassKey: await this.#formatTokenAuth(),\n },\n };\n }\n\n errorResponseCallback<R = unknown, D = string | object>(\n error: HttpError,\n request: HttpErrorResponseCallbackRequest<D>,\n ): HttpClientPromise<R> {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve, reject) => {\n if (error.status !== 401) {\n throw error;\n }\n\n this.#sessionToken = undefined;\n\n try {\n await this.#formatTokenAuth();\n } catch (error) {\n reject(error);\n return;\n }\n\n // eslint-disable-next-line promise/no-promise-in-callback\n request.client\n .request<R, D>(\n request.method as HttpMethod,\n request.url,\n request.options,\n )\n .then((value) => resolve(value))\n .catch((err) => reject(err));\n });\n }\n\n async #formatTokenAuth(): Promise<string> {\n const token = this.#sessionToken;\n if (token && token.expiresAt > Date.now()) {\n return token.token;\n }\n\n const params = new URLSearchParams();\n params.set('user', this.#config.username);\n params.set('password', this.#config.password);\n\n let response = await this.#tokenHttpClient\n .get<string>(`/api/V2.0-EZBRM/auth/currentkey?${params.toString()}`)\n .catch(() => null);\n\n if (!response || !response.data) {\n response = await this.#tokenHttpClient.get<string>(\n `/api/V2.0-EZBRM/auth/login?${params.toString()}`,\n );\n }\n\n if (!response || !response.data) {\n throw new Error(\n 'Failed to authenticate and retrieve authentication token',\n );\n }\n\n this.#sessionToken = {\n token: response.data,\n expiresAt:\n Date.now() + HttpClientAuthentication.TOKEN_EXPIRY_BUFFER * 1000,\n };\n\n return response.data;\n }\n}\n", "import {\n ConnectorRuntimeSDK,\n ConnectorSDKInterface,\n HttpClientSDKInterface,\n ConnectorInterface,\n} from '@transai/connector-runtime-sdk';\n\nimport { ActionsHandler } from './actions/actions-handler';\nimport { ExtractTravelerEvent } from './events/extract-traveler.event';\nimport { TravelerExtraction } from './extraction/traveler-extraction';\nimport { HttpClientAuthentication } from './http-client-authentication';\nimport { EzMesConfig } from './types';\n\nexport class ConnectorRunnerEzMes extends ConnectorRuntimeSDK<EzMesConfig> {\n readonly #httpClient: HttpClientSDKInterface;\n\n readonly #travelerExtractor: TravelerExtraction;\n\n readonly #actionsHandler: ActionsHandler;\n\n constructor(\n connector: ConnectorInterface,\n connectorSDK: ConnectorSDKInterface,\n ) {\n super(connector, connectorSDK);\n\n const { config } = this.connectorSDK;\n\n const clientAuthHandler = new HttpClientAuthentication(\n config,\n this.connectorSDK.httpClient({\n baseUrl: config.hostname,\n }),\n );\n\n this.#httpClient = this.connectorSDK\n .httpClient({\n baseUrl: config.hostname,\n })\n .setRequestOptionsFormatter(\n clientAuthHandler.format.bind(clientAuthHandler),\n )\n .setErrorResponseHandler(\n clientAuthHandler.errorResponseCallback.bind(clientAuthHandler),\n );\n\n this.#travelerExtractor = new TravelerExtraction(\n this.connectorSDK,\n this.#httpClient,\n );\n\n this.#actionsHandler = new ActionsHandler(\n this.connectorSDK,\n this.#httpClient,\n ).on(ExtractTravelerEvent.NAME, (event: ExtractTravelerEvent) =>\n this.#handleExtractTravelersEvent(event),\n );\n\n this.callbackFunction = this.#actionsHandler.callbackFunctionChain;\n }\n\n override init = async (): Promise<void> => {\n await Promise.all([\n this.connectorSDK.processing.registerInterval(\n TravelerExtraction.INTERVAL,\n this.#travelerExtractor,\n { immediate: true },\n ),\n ]);\n };\n\n override stop = async (): Promise<void> => {\n this.#actionsHandler.removeAllListeners();\n };\n\n #handleExtractTravelersEvent = async (\n event: ExtractTravelerEvent,\n ): Promise<void> => {\n await this.#travelerExtractor.onRun(event.travelerId);\n };\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["index_exports", "__export", "ConnectorRunnerEzMes", "__toCommonJS", "import_node_process", "ConnectorRuntimeSDK", "#IPC_CHANNEL", "#connectorSDK", "connector", "connectorSDK", "process", "message", "action", "containers", "key", "value", "error", "callback", "#enrichWithActionConfig", "callbackFunction", "import_node_events", "ExtractTravelerEvent", "travelerId", "import_node_events", "TravelerNextStepAction", "#httpClient", "httpClient", "params", "travelerId", "response", "ExtractTravelerEvent", "import_node_events", "TravelerNextStartAction", "#httpClient", "httpClient", "params", "travelerId", "response", "ExtractTravelerEvent", "import_node_events", "TravelerNextStopAction", "#httpClient", "httpClient", "params", "travelerId", "response", "ExtractTravelerEvent", "ActionsHandler", "#sdk", "#actionsMap", "sdk", "httpClient", "TravelerNextStepAction", "#subscribeAction", "TravelerNextStartAction", "TravelerNextStopAction", "#actionCallbackFunction", "event", "action", "ExtractTravelerEvent", "callbackFunction", "message", "actionIdentifier", "actionInstance", "error", "TravelerExtraction", "#sdk", "#httpClient", "sdk", "httpClient", "travelerId", "searchParams", "response", "travelers", "HttpClientAuthentication", "_HttpClientAuthentication", "#config", "#tokenHttpClient", "#sessionToken", "config", "tokenHttpClient", "requestOptions", "#formatTokenAuth", "error", "request", "resolve", "reject", "value", "err", "token", "params", "response", "ConnectorRunnerEzMes", "ConnectorRuntimeSDK", "#httpClient", "#travelerExtractor", "#actionsHandler", "connector", "connectorSDK", "config", "clientAuthHandler", "HttpClientAuthentication", "TravelerExtraction", "ActionsHandler", "ExtractTravelerEvent", "event", "#handleExtractTravelersEvent"]
7
7
  }
@@ -1,6 +1,5 @@
1
1
  import { EventEmitter } from 'node:events';
2
- import { ConnectorSDKInterface, HttpClientSDKInterface } from '@transai/connector-runtime-sdk';
3
- import { ActionInterface, KafkaCallbackResponse, XodJobType } from '@xip-online-data/types';
2
+ import { ConnectorSDKInterface, HttpClientSDKInterface, ActionInterface, KafkaCallbackResponse, XodJobType } from '@transai/connector-runtime-sdk';
4
3
  import { EzMesConfig } from '../types';
5
4
  export declare class ActionsHandler extends EventEmitter {
6
5
  #private;
@@ -1,5 +1,4 @@
1
- import { ConnectorRuntimeSDK, ConnectorSDKInterface } from '@transai/connector-runtime-sdk';
2
- import { ConnectorInterface } from '@xip-online-data/types';
1
+ import { ConnectorRuntimeSDK, ConnectorSDKInterface, ConnectorInterface } from '@transai/connector-runtime-sdk';
3
2
  import { EzMesConfig } from './types';
4
3
  export declare class ConnectorRunnerEzMes extends ConnectorRuntimeSDK<EzMesConfig> {
5
4
  #private;
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter } from 'node:events';
2
- import { BaseConnectorConfig } from '@xip-online-data/types';
2
+ import { BaseConnectorConfig } from '@transai/connector-runtime-sdk';
3
3
  export interface EzMesAuthenticationConfig {
4
4
  username: string;
5
5
  password: string;
@@ -9,4 +9,5 @@ export interface StoredOffset {
9
9
  export interface OffsetStoreSDKInterface {
10
10
  getOffset(identifier: string): Promise<StoredOffset>;
11
11
  setOffset(offset: StoredOffset, identifier: string): void;
12
+ flush(): Promise<void>;
12
13
  }
@@ -1,11 +1,28 @@
1
+ /** The default timeout is 10 minutes */
2
+ export declare const DEFAULT_TIMEOUT_SECONDS: number;
1
3
  export interface IntervalHandler {
2
4
  name?: string;
3
5
  onInit?: () => Promise<void> | void;
4
6
  onRun: () => Promise<void> | void;
5
7
  onStop?: () => Promise<void> | void;
6
8
  }
9
+ /**
10
+ * Options for configuring an interval registered via {@link ProcessingSDKInterface.registerInterval}.
11
+ */
7
12
  export type RegisterIntervalOptions = {
13
+ /**
14
+ * If true, the handler will be invoked immediately once on registration,
15
+ * in addition to subsequent scheduled executions.
16
+ */
8
17
  immediate?: boolean;
18
+ /**
19
+ * Optional timeout, in seconds, for the interval.
20
+ *
21
+ * This value should be a positive number representing the maximum time,
22
+ * in seconds, that the interval is allowed to run before being considered
23
+ * timed out. Callers should not pass 0 or negative values.
24
+ */
25
+ timeout?: number;
9
26
  };
10
27
  export interface ProcessingSDKInterface {
11
28
  registerInterval(intervalSeconds: number, handler: IntervalHandler, options?: RegisterIntervalOptions): Promise<string>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@transai/connector-runner-ez-mes",
3
- "version": "0.14.0",
3
+ "version": "0.16.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
package/index.js DELETED
@@ -1,2 +0,0 @@
1
- import f from"node:process";var d=class{constructor(r,e){this.#e="connector-runtime";this.init=()=>Promise.resolve();this.start=()=>Promise.resolve();this.stop=()=>Promise.resolve();this.#t=e,f.on?f.on("message",t=>{t.cmd===this.#e&&e.logger.verbose(`${f.pid} Received message from parent process:`,t)}):e.logger.warn("IPC channel is not available. process.on is undefined."),f.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(([o,s])=>{try{n[o]=e.templating.compile(s)}catch(v){e.logger.error(`Error compiling template ${o} for action ${t.identifier}`,v)}}),t.config.parsedTemplates=n})}#e;#t;set callbackFunction(r){this.connectorSDK.receiver.registerCallback(this.#r(r))}get connectorSDK(){return this.#t}#r(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)}}};import{EventEmitter as y}from"node:events";var a=class{constructor(r){this.travelerId=r}static{this.NAME="extract.travelers"}};import{EventEmitter as h}from"node:events";var c=class extends h{static{this.TYPE="traveler.next-step"}#e;constructor(r){super(),this.#e=r}async execute(r){let{travelerId:e}=r;if(typeof e!="string")throw new Error("travelerId parameter is required and must be a string");let t=await this.#e.post("/api/V1.2-INTEGRATION/nextStep",{TravelerId:e});if(t.status!==200||!t.data?.bPass&&!t.data?.Result?.bPass)throw new Error(`Failed to move traveler to next step: ${JSON.stringify(t.data.arErrors)}`);this.emit(a.NAME,new a(e))}};import{EventEmitter as E}from"node:events";var p=class extends E{static{this.TYPE="traveler.start-step"}#e;constructor(r){super(),this.#e=r}async execute(r){let{travelerId:e}=r;if(typeof e!="string")throw new Error("travelerId parameter is required and must be a string");let t=await this.#e.post("/api/V1.2-INTEGRATION/startTraveler",{TravelerId:e});if(t.status!==200||!t.data?.bPass&&!t.data?.Result?.bPass)throw new Error(`Failed to start traveler: ${JSON.stringify(t.data.arErrors)}`);this.emit(a.NAME,new a(e))}};import{EventEmitter as C}from"node:events";var m=class extends C{static{this.TYPE="traveler.stop-step"}#e;constructor(r){super(),this.#e=r}async execute(r){let{travelerId:e}=r;if(typeof e!="string")throw new Error("travelerId parameter is required and must be a string");let t=await this.#e.post("/api/V1.2-INTEGRATION/stopTraveler",{TravelerId:e});if(t.status!==200||!t.data?.bPass&&!t.data?.Result?.bPass)throw new Error(`Failed to stop traveler: ${JSON.stringify(t.data.arErrors)}`);this.emit(a.NAME,new a(e))}};var u=class extends y{#e;#t;constructor(r,e){super(),this.#e=r,this.#t={[c.TYPE]:this.#r(new c(e)),[p.TYPE]:this.#r(new p(e)),[m.TYPE]:this.#r(new m(e))}}get callbackFunctionChain(){return this.#n(this.#e.receiver.emitEventType(this.#e.receiver.responses.ok()))}removeAllListeners(r){return Object.values(this.#t).forEach(e=>e.removeAllListeners()),super.removeAllListeners(r)}#r(r){return r.on(a.NAME,e=>this.emit(a.NAME,e))}#n(r){return async(e,t)=>{let n=t.identifier,o=this.#t[n];if(!o)return this.#e.receiver.responses.badRequest(`Action ${n} does not exist.`)(e);try{await o.execute(e.payload),this.#e.logger.info(`Action ${n} executed successfully`)}catch(s){return this.#e.logger.error(`Action ${n} execution failed: ${s}`),this.#e.receiver.responses.internalServerError(`Action ${n} execution failed: ${s?.message??s}`)(e)}return r(e)}}};var l=class{constructor(r,e){this.name="ez-mes-traveler-extraction";this.#e=r,this.#t=e}static{this.INTERVAL=300}#e;#t;async onRun(r){let e=new URLSearchParams;typeof r=="string"&&e.append("travelerId",r);let t=await this.#t.get("/api/V1.2-INTEGRATION/travelerInformation",{params:Object.fromEntries(e.entries())});if(t.status!==200||!t.data?.bPass&&!t.data?.Result?.bPass){this.#e.logger.error(`Failed to fetch traveler information: ${JSON.stringify(t.data?.arErrors)}`);return}let n=t.data.Travelers??t.data.Result?.Travelers;await this.#e.sender.documents(n,{keyField:"TravelerId",collection:"ez-mes-travelers"})}};var g=class i{static{this.TOKEN_EXPIRY_BUFFER=600}#e;#t;#r;constructor(r,e){this.#e=r,this.#t=e}async format(r){return{...r,params:{...r.params,User:this.#e.username,PassKey:await this.#n()}}}errorResponseCallback(r,e){return new Promise(async(t,n)=>{if(r.status!==401)throw r;this.#r=void 0;try{await this.#n()}catch(o){n(o);return}e.client.request(e.method,e.url,e.options).then(o=>t(o)).catch(o=>n(o))})}async#n(){let r=this.#r;if(r&&r.expiresAt>Date.now())return r.token;let e=new URLSearchParams;e.set("user",this.#e.username),e.set("password",this.#e.password);let t=await this.#t.get(`/api/V2.0-EZBRM/auth/currentkey?${e.toString()}`).catch(()=>null);if((!t||!t.data)&&(t=await this.#t.get(`/api/V2.0-EZBRM/auth/login?${e.toString()}`)),!t||!t.data)throw new Error("Failed to authenticate and retrieve authentication token");return this.#r={token:t.data,expiresAt:Date.now()+i.TOKEN_EXPIRY_BUFFER*1e3},t.data}};var I=class extends d{constructor(e,t){super(e,t);this.init=async()=>{await Promise.all([this.connectorSDK.processing.registerInterval(l.INTERVAL,this.#t,{immediate:!0})])};this.stop=async()=>{this.#r.removeAllListeners()};this.#n=async e=>{await this.#t.onRun(e.travelerId)};let{config:n}=this.connectorSDK,o=new g(n,this.connectorSDK.httpClient({baseUrl:n.hostname}));this.#e=this.connectorSDK.httpClient({baseUrl:n.hostname}).setRequestOptionsFormatter(o.format.bind(o)).setErrorResponseHandler(o.errorResponseCallback.bind(o)),this.#t=new l(this.connectorSDK,this.#e),this.#r=new u(this.connectorSDK,this.#e).on(a.NAME,s=>this.#n(s)),this.callbackFunction=this.#r.callbackFunctionChain}#e;#t;#r;#n};export{I as ConnectorRunnerEzMes};
2
- //# sourceMappingURL=index.js.map
package/index.js.map DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../libs/connector-runtime-sdk/src/lib/connector-runtime.ts", "../../../libs/connector-runner-ez-mes/src/lib/actions/actions-handler.ts", "../../../libs/connector-runner-ez-mes/src/lib/events/extract-traveler.event.ts", "../../../libs/connector-runner-ez-mes/src/lib/actions/traveler-next-step.action.ts", "../../../libs/connector-runner-ez-mes/src/lib/actions/traveler-start.action.ts", "../../../libs/connector-runner-ez-mes/src/lib/actions/traveler-stop.action.ts", "../../../libs/connector-runner-ez-mes/src/lib/extraction/traveler-extraction.ts", "../../../libs/connector-runner-ez-mes/src/lib/http-client-authentication.ts", "../../../libs/connector-runner-ez-mes/src/lib/connector-runner-ez-mes.ts"],
4
- "sourcesContent": ["import process from 'node:process';\n\nimport { ConnectorRuntimeInterface } from './connector-runtime.interface';\nimport { CompileDelegate, ConnectorSDKInterface } from './sdk';\nimport {\n ActionInterface,\n BaseConnectorConfig,\n ConnectorInterface,\n KafkaCallbackResponse,\n XodJobType,\n} from './types';\n\nexport interface IpcMessage {\n cmd: string;\n message: string;\n}\n\nexport abstract class ConnectorRuntimeSDK<\n T extends BaseConnectorConfig = BaseConnectorConfig,\n> implements ConnectorRuntimeInterface {\n readonly #IPC_CHANNEL = 'connector-runtime';\n\n readonly #connectorSDK: ConnectorSDKInterface<T>;\n\n constructor(\n connector: ConnectorInterface,\n connectorSDK: ConnectorSDKInterface,\n ) {\n this.#connectorSDK = connectorSDK as ConnectorSDKInterface<T>;\n\n if (process.on) {\n process.on('message', (message: IpcMessage) => {\n if (message.cmd === this.#IPC_CHANNEL) {\n connectorSDK.logger.verbose(\n `${process.pid} Received message from parent process:`,\n message,\n );\n }\n });\n } else {\n connectorSDK.logger.warn(\n 'IPC channel is not available. process.on is undefined.',\n );\n }\n\n if (!process.send) {\n // Check if process.send is available\n connectorSDK.logger.warn(\n 'IPC channel is not available. process.send is undefined.',\n );\n }\n\n // eslint-disable-next-line no-restricted-syntax\n connector.actions?.forEach((action: ActionInterface) => {\n if (action.config['templates'] === undefined) {\n return;\n }\n\n const containers: {\n [key: string]: CompileDelegate;\n } = {};\n\n Object.entries(action.config['templates']).forEach(([key, value]) => {\n try {\n // eslint-disable-next-line security/detect-object-injection\n containers[key] = connectorSDK.templating.compile(value);\n } catch (error: unknown) {\n connectorSDK.logger.error(\n `Error compiling template ${key} for action ${action.identifier}`,\n error,\n );\n }\n });\n\n // eslint-disable-next-line no-param-reassign\n action.config['parsedTemplates'] = containers;\n });\n }\n\n public init: () => Promise<void> = () => Promise.resolve();\n\n public start: () => Promise<void> = () => Promise.resolve();\n\n public stop: () => Promise<void> = () => Promise.resolve();\n\n set callbackFunction(\n callback: (\n message: XodJobType,\n action: ActionInterface,\n ) => Promise<KafkaCallbackResponse>,\n ) {\n this.connectorSDK.receiver.registerCallback(\n this.#enrichWithActionConfig(callback),\n );\n }\n\n protected get connectorSDK(): ConnectorSDKInterface<T> {\n return this.#connectorSDK;\n }\n\n #enrichWithActionConfig(\n callbackFunction: (\n message: XodJobType,\n action: ActionInterface,\n ) => Promise<KafkaCallbackResponse>,\n ): (message: XodJobType) => Promise<KafkaCallbackResponse> {\n return async (message: XodJobType) => {\n const action = await this.#connectorSDK.receiver.getActionConfig(message);\n if (!action) {\n return this.#connectorSDK.receiver.responses.badRequest(\n 'Action not found',\n )(message);\n }\n return callbackFunction(message, action);\n };\n }\n}\n", "import { EventEmitter } from 'node:events';\n\nimport {\n ConnectorSDKInterface,\n HttpClientSDKInterface,\n} from '@transai/connector-runtime-sdk';\nimport {\n ActionInterface,\n KafkaCallbackResponse,\n XodJobType,\n} from '@xip-online-data/types';\n\nimport { ExtractTravelerEvent } from '../events/extract-traveler.event';\nimport { EzMesApiAction, EzMesConfig } from '../types';\n\nimport { TravelerNextStepAction } from './traveler-next-step.action';\nimport { TravelerNextStartAction } from './traveler-start.action';\nimport { TravelerNextStopAction } from './traveler-stop.action';\n\nexport class ActionsHandler extends EventEmitter {\n readonly #sdk: ConnectorSDKInterface<EzMesConfig>;\n\n readonly #actionsMap: Record<string, EzMesApiAction>;\n\n constructor(\n sdk: ConnectorSDKInterface<EzMesConfig>,\n httpClient: HttpClientSDKInterface,\n ) {\n super();\n\n this.#sdk = sdk;\n this.#actionsMap = {\n [TravelerNextStepAction.TYPE]: this.#subscribeAction(\n new TravelerNextStepAction(httpClient),\n ),\n [TravelerNextStartAction.TYPE]: this.#subscribeAction(\n new TravelerNextStartAction(httpClient),\n ),\n [TravelerNextStopAction.TYPE]: this.#subscribeAction(\n new TravelerNextStopAction(httpClient),\n ),\n };\n }\n\n get callbackFunctionChain(): (\n message: XodJobType,\n action: ActionInterface,\n ) => Promise<KafkaCallbackResponse> {\n return this.#actionCallbackFunction(\n this.#sdk.receiver.emitEventType(this.#sdk.receiver.responses.ok()),\n );\n }\n\n override removeAllListeners(event?: string | symbol): this {\n Object.values(this.#actionsMap).forEach((action) =>\n action.removeAllListeners(),\n );\n\n return super.removeAllListeners(event);\n }\n\n #subscribeAction(action: EzMesApiAction): EzMesApiAction {\n return action.on(ExtractTravelerEvent.NAME, (event: ExtractTravelerEvent) =>\n this.emit(ExtractTravelerEvent.NAME, event),\n );\n }\n\n #actionCallbackFunction(\n callbackFunction: (message: XodJobType) => Promise<KafkaCallbackResponse>,\n ) {\n return async (\n message: XodJobType,\n action: ActionInterface,\n ): Promise<KafkaCallbackResponse> => {\n const actionIdentifier = action.identifier;\n const actionInstance = this.#actionsMap[actionIdentifier];\n if (!actionInstance) {\n return this.#sdk.receiver.responses.badRequest(\n `Action ${actionIdentifier} does not exist.`,\n )(message);\n }\n\n try {\n await actionInstance.execute(message.payload);\n this.#sdk.logger.info(\n `Action ${actionIdentifier} executed successfully`,\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (error: any) {\n this.#sdk.logger.error(\n `Action ${actionIdentifier} execution failed: ${error}`,\n );\n return this.#sdk.receiver.responses.internalServerError(\n `Action ${actionIdentifier} execution failed: ${error?.message ?? error}`,\n )(message);\n }\n\n return callbackFunction(message);\n };\n }\n}\n", "export class ExtractTravelerEvent {\n static readonly NAME = 'extract.travelers';\n\n constructor(readonly travelerId: string) {}\n}\n", "import { EventEmitter } from 'node:events';\n\nimport { HttpClientSDKInterface } from '@transai/connector-runtime-sdk';\n\nimport { ExtractTravelerEvent } from '../events/extract-traveler.event';\nimport { EzMesApiAction, EzMesApiStrangeResponse } from '../types';\n\ntype TravelerNextStepParams = {\n travelerId?: string;\n};\n\nexport class TravelerNextStepAction\n extends EventEmitter\n implements EzMesApiAction<TravelerNextStepParams, void>\n{\n static readonly TYPE = 'traveler.next-step';\n\n readonly #httpClient: HttpClientSDKInterface;\n\n constructor(httpClient: HttpClientSDKInterface) {\n super();\n\n this.#httpClient = httpClient;\n }\n\n async execute(params: TravelerNextStepParams): Promise<void> {\n const { travelerId } = params as TravelerNextStepParams;\n if (typeof travelerId !== 'string') {\n throw new Error('travelerId parameter is required and must be a string');\n }\n\n const response = await this.#httpClient.post<EzMesApiStrangeResponse>(\n '/api/V1.2-INTEGRATION/nextStep',\n {\n TravelerId: travelerId,\n },\n );\n\n if (\n response.status !== 200 ||\n (!response.data?.bPass && !response.data?.Result?.bPass)\n ) {\n throw new Error(\n `Failed to move traveler to next step: ${JSON.stringify(\n response.data.arErrors,\n )}`,\n );\n }\n\n this.emit(ExtractTravelerEvent.NAME, new ExtractTravelerEvent(travelerId));\n }\n}\n", "import { EventEmitter } from 'node:events';\n\nimport { HttpClientSDKInterface } from '@transai/connector-runtime-sdk';\n\nimport { ExtractTravelerEvent } from '../events/extract-traveler.event';\nimport { EzMesApiAction, EzMesApiStrangeResponse } from '../types';\n\ntype TravelerNextStartParams = {\n travelerId?: string;\n};\n\nexport class TravelerNextStartAction\n extends EventEmitter\n implements EzMesApiAction<TravelerNextStartParams, void>\n{\n static readonly TYPE = 'traveler.start-step';\n\n readonly #httpClient: HttpClientSDKInterface;\n\n constructor(httpClient: HttpClientSDKInterface) {\n super();\n\n this.#httpClient = httpClient;\n }\n\n async execute(params: TravelerNextStartParams): Promise<void> {\n const { travelerId } = params as TravelerNextStartParams;\n if (typeof travelerId !== 'string') {\n throw new Error('travelerId parameter is required and must be a string');\n }\n\n const response = await this.#httpClient.post<EzMesApiStrangeResponse>(\n '/api/V1.2-INTEGRATION/startTraveler',\n {\n TravelerId: travelerId,\n },\n );\n\n if (\n response.status !== 200 ||\n (!response.data?.bPass && !response.data?.Result?.bPass)\n ) {\n throw new Error(\n `Failed to start traveler: ${JSON.stringify(response.data.arErrors)}`,\n );\n }\n\n this.emit(ExtractTravelerEvent.NAME, new ExtractTravelerEvent(travelerId));\n }\n}\n", "import { EventEmitter } from 'node:events';\n\nimport { HttpClientSDKInterface } from '@transai/connector-runtime-sdk';\n\nimport { ExtractTravelerEvent } from '../events/extract-traveler.event';\nimport { EzMesApiAction, EzMesApiStrangeResponse } from '../types';\n\ntype TravelerNextStopParams = {\n travelerId?: string;\n};\n\nexport class TravelerNextStopAction\n extends EventEmitter\n implements EzMesApiAction<TravelerNextStopParams, void>\n{\n static readonly TYPE = 'traveler.stop-step';\n\n readonly #httpClient: HttpClientSDKInterface;\n\n constructor(httpClient: HttpClientSDKInterface) {\n super();\n\n this.#httpClient = httpClient;\n }\n\n async execute(params: TravelerNextStopParams): Promise<void> {\n const { travelerId } = params as TravelerNextStopParams;\n if (typeof travelerId !== 'string') {\n throw new Error('travelerId parameter is required and must be a string');\n }\n\n const response = await this.#httpClient.post<EzMesApiStrangeResponse>(\n '/api/V1.2-INTEGRATION/stopTraveler',\n {\n TravelerId: travelerId,\n },\n );\n\n if (\n response.status !== 200 ||\n (!response.data?.bPass && !response.data?.Result?.bPass)\n ) {\n throw new Error(\n `Failed to stop traveler: ${JSON.stringify(response.data.arErrors)}`,\n );\n }\n\n this.emit(ExtractTravelerEvent.NAME, new ExtractTravelerEvent(travelerId));\n }\n}\n", "import {\n ConnectorSDKInterface,\n HttpClientSDKInterface,\n IntervalHandler,\n} from '@transai/connector-runtime-sdk';\n\nimport { EzMesApiStrangeResponse } from '../types';\n\nimport { TravelerResponseV2 } from './traveler-type';\n\nexport class TravelerExtraction implements IntervalHandler {\n /**\n * Extraction interval in seconds, default to 300 seconds (5 minutes)\n */\n static readonly INTERVAL = 300;\n\n readonly #sdk: ConnectorSDKInterface;\n\n readonly #httpClient: HttpClientSDKInterface;\n\n readonly name = 'ez-mes-traveler-extraction';\n\n constructor(sdk: ConnectorSDKInterface, httpClient: HttpClientSDKInterface) {\n this.#sdk = sdk;\n this.#httpClient = httpClient;\n }\n\n async onRun(travelerId?: string): Promise<void> {\n const searchParams = new URLSearchParams();\n if (typeof travelerId === 'string') {\n searchParams.append('travelerId', travelerId);\n }\n\n const response = await this.#httpClient.get<\n EzMesApiStrangeResponse<TravelerResponseV2>\n >('/api/V1.2-INTEGRATION/travelerInformation', {\n params: Object.fromEntries(searchParams.entries()),\n });\n\n if (\n response.status !== 200 ||\n (!response.data?.bPass && !response.data?.Result?.bPass)\n ) {\n this.#sdk.logger.error(\n `Failed to fetch traveler information: ${JSON.stringify(response.data?.arErrors)}`,\n );\n return;\n }\n\n const travelers =\n response.data.Travelers ?? response.data.Result?.Travelers;\n\n await this.#sdk.sender.documents(travelers, {\n keyField: 'TravelerId',\n collection: 'ez-mes-travelers',\n });\n }\n}\n", "import {\n HttpClientPromise,\n HttpClientSDKInterface,\n HttpError,\n HttpErrorResponseCallbackRequest,\n HttpMethod,\n HttpRequestOptions,\n} from '@transai/connector-runtime-sdk';\n\nimport { EzMesAuthenticationConfig } from './types';\n\nexport class HttpClientAuthentication {\n static readonly TOKEN_EXPIRY_BUFFER = 600;\n\n readonly #config: EzMesAuthenticationConfig;\n\n readonly #tokenHttpClient: HttpClientSDKInterface;\n\n #sessionToken?: {\n token: string;\n expiresAt: number;\n };\n\n constructor(\n config: EzMesAuthenticationConfig,\n tokenHttpClient: HttpClientSDKInterface,\n ) {\n this.#config = config;\n this.#tokenHttpClient = tokenHttpClient;\n }\n\n async format<D = string | object>(\n requestOptions: HttpRequestOptions<D>,\n ): Promise<HttpRequestOptions<D>> {\n return {\n ...requestOptions,\n params: {\n ...requestOptions.params,\n User: this.#config.username,\n PassKey: await this.#formatTokenAuth(),\n },\n };\n }\n\n errorResponseCallback<R = unknown, D = string | object>(\n error: HttpError,\n request: HttpErrorResponseCallbackRequest<D>,\n ): HttpClientPromise<R> {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve, reject) => {\n if (error.status !== 401) {\n throw error;\n }\n\n this.#sessionToken = undefined;\n\n try {\n await this.#formatTokenAuth();\n } catch (error) {\n reject(error);\n return;\n }\n\n // eslint-disable-next-line promise/no-promise-in-callback\n request.client\n .request<R, D>(\n request.method as HttpMethod,\n request.url,\n request.options,\n )\n .then((value) => resolve(value))\n .catch((err) => reject(err));\n });\n }\n\n async #formatTokenAuth(): Promise<string> {\n const token = this.#sessionToken;\n if (token && token.expiresAt > Date.now()) {\n return token.token;\n }\n\n const params = new URLSearchParams();\n params.set('user', this.#config.username);\n params.set('password', this.#config.password);\n\n let response = await this.#tokenHttpClient\n .get<string>(`/api/V2.0-EZBRM/auth/currentkey?${params.toString()}`)\n .catch(() => null);\n\n if (!response || !response.data) {\n response = await this.#tokenHttpClient.get<string>(\n `/api/V2.0-EZBRM/auth/login?${params.toString()}`,\n );\n }\n\n if (!response || !response.data) {\n throw new Error(\n 'Failed to authenticate and retrieve authentication token',\n );\n }\n\n this.#sessionToken = {\n token: response.data,\n expiresAt:\n Date.now() + HttpClientAuthentication.TOKEN_EXPIRY_BUFFER * 1000,\n };\n\n return response.data;\n }\n}\n", "import {\n ConnectorRuntimeSDK,\n ConnectorSDKInterface,\n HttpClientSDKInterface,\n} from '@transai/connector-runtime-sdk';\nimport { ConnectorInterface } from '@xip-online-data/types';\n\nimport { ActionsHandler } from './actions/actions-handler';\nimport { ExtractTravelerEvent } from './events/extract-traveler.event';\nimport { TravelerExtraction } from './extraction/traveler-extraction';\nimport { HttpClientAuthentication } from './http-client-authentication';\nimport { EzMesConfig } from './types';\n\nexport class ConnectorRunnerEzMes extends ConnectorRuntimeSDK<EzMesConfig> {\n readonly #httpClient: HttpClientSDKInterface;\n\n readonly #travelerExtractor: TravelerExtraction;\n\n readonly #actionsHandler: ActionsHandler;\n\n constructor(\n connector: ConnectorInterface,\n connectorSDK: ConnectorSDKInterface,\n ) {\n super(connector, connectorSDK);\n\n const { config } = this.connectorSDK;\n\n const clientAuthHandler = new HttpClientAuthentication(\n config,\n this.connectorSDK.httpClient({\n baseUrl: config.hostname,\n }),\n );\n\n this.#httpClient = this.connectorSDK\n .httpClient({\n baseUrl: config.hostname,\n })\n .setRequestOptionsFormatter(\n clientAuthHandler.format.bind(clientAuthHandler),\n )\n .setErrorResponseHandler(\n clientAuthHandler.errorResponseCallback.bind(clientAuthHandler),\n );\n\n this.#travelerExtractor = new TravelerExtraction(\n this.connectorSDK,\n this.#httpClient,\n );\n\n this.#actionsHandler = new ActionsHandler(\n this.connectorSDK,\n this.#httpClient,\n ).on(ExtractTravelerEvent.NAME, (event: ExtractTravelerEvent) =>\n this.#handleExtractTravelersEvent(event),\n );\n\n this.callbackFunction = this.#actionsHandler.callbackFunctionChain;\n }\n\n override init = async (): Promise<void> => {\n await Promise.all([\n this.connectorSDK.processing.registerInterval(\n TravelerExtraction.INTERVAL,\n this.#travelerExtractor,\n { immediate: true },\n ),\n ]);\n };\n\n override stop = async (): Promise<void> => {\n this.#actionsHandler.removeAllListeners();\n };\n\n #handleExtractTravelersEvent = async (\n event: ExtractTravelerEvent,\n ): Promise<void> => {\n await this.#travelerExtractor.onRun(event.travelerId);\n };\n}\n"],
5
- "mappings": "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",
6
- "names": ["process", "ConnectorRuntimeSDK", "connector", "connectorSDK", "#IPC_CHANNEL", "#connectorSDK", "message", "action", "containers", "key", "value", "error", "callback", "#enrichWithActionConfig", "callbackFunction", "EventEmitter", "ExtractTravelerEvent", "travelerId", "EventEmitter", "TravelerNextStepAction", "EventEmitter", "#httpClient", "httpClient", "params", "travelerId", "response", "ExtractTravelerEvent", "EventEmitter", "TravelerNextStartAction", "EventEmitter", "#httpClient", "httpClient", "params", "travelerId", "response", "ExtractTravelerEvent", "EventEmitter", "TravelerNextStopAction", "EventEmitter", "#httpClient", "httpClient", "params", "travelerId", "response", "ExtractTravelerEvent", "ActionsHandler", "EventEmitter", "#sdk", "#actionsMap", "sdk", "httpClient", "TravelerNextStepAction", "#subscribeAction", "TravelerNextStartAction", "TravelerNextStopAction", "#actionCallbackFunction", "event", "action", "ExtractTravelerEvent", "callbackFunction", "message", "actionIdentifier", "actionInstance", "error", "TravelerExtraction", "sdk", "httpClient", "#sdk", "#httpClient", "travelerId", "searchParams", "response", "travelers", "HttpClientAuthentication", "_HttpClientAuthentication", "#config", "#tokenHttpClient", "#sessionToken", "config", "tokenHttpClient", "requestOptions", "#formatTokenAuth", "error", "request", "resolve", "reject", "value", "err", "token", "params", "response", "ConnectorRunnerEzMes", "ConnectorRuntimeSDK", "connector", "connectorSDK", "TravelerExtraction", "#travelerExtractor", "#actionsHandler", "#handleExtractTravelersEvent", "event", "config", "clientAuthHandler", "HttpClientAuthentication", "#httpClient", "ActionsHandler", "ExtractTravelerEvent"]
7
- }
@@ -1,7 +0,0 @@
1
- export * from './lib/types';
2
- export * from './lib/response.types';
3
- export * from './lib/message.types';
4
- export * from './lib/cube-query-config.types';
5
- export * from './lib/file-action.types';
6
- export * from './lib/management-api';
7
- export * from './lib/http-status-codes.enum';
@@ -1,20 +0,0 @@
1
- import { Query } from '@cubejs-client/core';
2
- export interface CubeQueryConfig {
3
- tenantId: string;
4
- query: Query;
5
- nullable?: boolean;
6
- subqueries: Array<CubeSubQueryConfig>;
7
- }
8
- export interface CubeSubQueryConfig {
9
- tenantId?: string;
10
- query: Query;
11
- nullable?: boolean;
12
- field: string;
13
- joinConditions: Array<CubeJoinCondition>;
14
- }
15
- export interface CubeJoinCondition {
16
- selectField: string;
17
- operator: string;
18
- valueField: Array<string>;
19
- valueMap?: Array<any>;
20
- }
@@ -1,5 +0,0 @@
1
- export declare enum FileActionType {
2
- ACTION_MOVE = "move",
3
- ACTION_DELETE = "delete",
4
- ACTION_NOTHING = "nothing"
5
- }
@@ -1,64 +0,0 @@
1
- export declare enum HttpStatusCode {
2
- Continue = 100,
3
- SwitchingProtocols = 101,
4
- Processing = 102,
5
- OK = 200,
6
- Created = 201,
7
- Accepted = 202,
8
- NonAuthoritativeInformation = 203,
9
- NoContent = 204,
10
- ResetContent = 205,
11
- PartialContent = 206,
12
- MultiStatus = 207,
13
- AlreadyReported = 208,
14
- IMUsed = 226,
15
- MultipleChoices = 300,
16
- MovedPermanently = 301,
17
- Found = 302,
18
- SeeOther = 303,
19
- NotModified = 304,
20
- UseProxy = 305,
21
- TemporaryRedirect = 307,
22
- PermanentRedirect = 308,
23
- BadRequest = 400,
24
- Unauthorized = 401,
25
- PaymentRequired = 402,
26
- Forbidden = 403,
27
- NotFound = 404,
28
- MethodNotAllowed = 405,
29
- NotAcceptable = 406,
30
- ProxyAuthenticationRequired = 407,
31
- RequestTimeout = 408,
32
- Conflict = 409,
33
- Gone = 410,
34
- LengthRequired = 411,
35
- PreconditionFailed = 412,
36
- PayloadTooLarge = 413,
37
- URITooLong = 414,
38
- UnsupportedMediaType = 415,
39
- RangeNotSatisfiable = 416,
40
- ExpectationFailed = 417,
41
- ImATeapot = 418,
42
- MisdirectedRequest = 421,
43
- UnprocessableEntity = 422,
44
- Locked = 423,
45
- FailedDependency = 424,
46
- TooEarly = 425,
47
- UpgradeRequired = 426,
48
- PreconditionRequired = 428,
49
- TooManyRequests = 429,
50
- RequestHeaderFieldsTooLarge = 431,
51
- UnavailableForLegalReasons = 451,
52
- InternalServerError = 500,
53
- NotImplemented = 501,
54
- BadGateway = 502,
55
- ServiceUnavailable = 503,
56
- GatewayTimeout = 504,
57
- HTTPVersionNotSupported = 505,
58
- VariantAlsoNegotiates = 506,
59
- InsufficientStorage = 507,
60
- LoopDetected = 508,
61
- NotExtended = 510,
62
- NetworkAuthenticationRequired = 511,
63
- Aborted = 512
64
- }
@@ -1,12 +0,0 @@
1
- import { TenantInterface } from './tenant.interface';
2
- import { CubeQueryConfig } from '../cube-query-config.types';
3
- export interface ActionDefinitionInterface {
4
- tenant: TenantInterface;
5
- eventType: string;
6
- eventTopic: string;
7
- destinationTopic: string;
8
- actionIdentifier: string;
9
- template: string;
10
- fileNameTemplate: string | undefined;
11
- queryConfig: CubeQueryConfig | undefined;
12
- }
@@ -1,11 +0,0 @@
1
- import { z } from 'zod';
2
- export interface AuthorInterface {
3
- name: string;
4
- email?: string;
5
- website?: string;
6
- }
7
- export declare const AuthorSchema: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
8
- name: z.ZodString;
9
- email: z.ZodOptional<z.ZodEmail>;
10
- website: z.ZodOptional<z.ZodURL>;
11
- }, z.core.$strip>]>;
@@ -1,9 +0,0 @@
1
- export interface ChartInterface {
2
- dashboards: Array<number>;
3
- owners: Array<number>;
4
- params: string;
5
- slice_name: string;
6
- viz_type: string;
7
- id: string;
8
- supersetId: number;
9
- }
@@ -1,52 +0,0 @@
1
- import { z } from 'zod';
2
- import { BaseConnectorConfig, ConfiguredConnectorTypes } from '../../types';
3
- import { ConnectorOrigin } from '../type-enums';
4
- import { ActionInterface } from '../workflow';
5
- export declare const ConnectorSchema: z.ZodObject<{
6
- identifier: z.ZodString;
7
- connectorType: z.ZodEnum<typeof ConfiguredConnectorTypes>;
8
- name: z.ZodString;
9
- location: z.ZodString;
10
- config: z.ZodObject<{}, z.core.$loose>;
11
- enabled: z.ZodBoolean;
12
- actions: z.ZodOptional<z.ZodArray<z.ZodObject<{
13
- identifier: z.ZodString;
14
- version: z.ZodString;
15
- name: z.ZodString;
16
- description: z.ZodOptional<z.ZodString>;
17
- config: z.ZodRecord<z.ZodString, z.ZodAny>;
18
- inputParameters: z.ZodArray<z.ZodObject<{
19
- name: z.ZodString;
20
- description: z.ZodOptional<z.ZodString>;
21
- type: z.ZodEnum<{
22
- string: "string";
23
- number: "number";
24
- boolean: "boolean";
25
- array: "array";
26
- }>;
27
- required: z.ZodOptional<z.ZodBoolean>;
28
- items: z.ZodOptional<z.ZodArray<z.ZodAny>>;
29
- }, z.core.$strip>>;
30
- outputParameters: z.ZodRecord<z.ZodString, z.ZodAny>;
31
- mode: z.ZodOptional<z.ZodEnum<typeof ConnectorOrigin>>;
32
- createdAt: z.ZodOptional<z.ZodDate>;
33
- updatedAt: z.ZodOptional<z.ZodDate>;
34
- }, z.core.$strip>>>;
35
- createdAt: z.ZodOptional<z.ZodDate>;
36
- updatedAt: z.ZodOptional<z.ZodDate>;
37
- }, z.core.$strip>;
38
- export interface ConnectorInterface<T = Partial<BaseConnectorConfig>> {
39
- identifier: string;
40
- connectorType: ConfiguredConnectorTypes;
41
- tenantIdentifier: string;
42
- name: string;
43
- location: string;
44
- config?: T;
45
- enabled: boolean;
46
- actions?: Array<ActionInterface>;
47
- mode?: ConnectorOrigin;
48
- createdAt?: Date;
49
- updatedAt?: Date;
50
- }
51
- export type CreateConnectorInterface<T = Partial<BaseConnectorConfig>> = Omit<ConnectorInterface<T>, 'id' | 'createdAt' | 'updatedAt' | 'mode'>;
52
- export type UpdateConnectorInterface<T = Partial<BaseConnectorConfig>> = Partial<Omit<ConnectorInterface<T>, 'id' | 'tenantIdentifier' | 'identifier' | 'createdAt' | 'mode'>>;
@@ -1,38 +0,0 @@
1
- import { z } from 'zod';
2
- import { ConnectorInterface } from '../index';
3
- export declare const ConnectorsSchema: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
4
- identifier: z.ZodString;
5
- connectorType: z.ZodEnum<typeof import("../../types").ConfiguredConnectorTypes>;
6
- name: z.ZodString;
7
- location: z.ZodString;
8
- config: z.ZodObject<{}, z.core.$loose>;
9
- enabled: z.ZodBoolean;
10
- actions: z.ZodOptional<z.ZodArray<z.ZodObject<{
11
- identifier: z.ZodString;
12
- version: z.ZodString;
13
- name: z.ZodString;
14
- description: z.ZodOptional<z.ZodString>;
15
- config: z.ZodRecord<z.ZodString, z.ZodAny>;
16
- inputParameters: z.ZodArray<z.ZodObject<{
17
- name: z.ZodString;
18
- description: z.ZodOptional<z.ZodString>;
19
- type: z.ZodEnum<{
20
- string: "string";
21
- number: "number";
22
- boolean: "boolean";
23
- array: "array";
24
- }>;
25
- required: z.ZodOptional<z.ZodBoolean>;
26
- items: z.ZodOptional<z.ZodArray<z.ZodAny>>;
27
- }, z.core.$strip>>;
28
- outputParameters: z.ZodRecord<z.ZodString, z.ZodAny>;
29
- mode: z.ZodOptional<z.ZodEnum<typeof import("../type-enums").ConnectorOrigin>>;
30
- createdAt: z.ZodOptional<z.ZodDate>;
31
- updatedAt: z.ZodOptional<z.ZodDate>;
32
- }, z.core.$strip>>>;
33
- createdAt: z.ZodOptional<z.ZodDate>;
34
- updatedAt: z.ZodOptional<z.ZodDate>;
35
- }, z.core.$strip>, z.ZodBoolean]>>;
36
- export interface ConnectorsInterface {
37
- [key: string]: ConnectorInterface | boolean;
38
- }
@@ -1,14 +0,0 @@
1
- import { ConnectorInterface } from './connector/connector.interface';
2
- export interface ConnectorOrchestratorConfigInterface {
3
- awsAccessKeyId?: string;
4
- awsSecretAccessKey?: string;
5
- awsRegion?: string;
6
- datadogApiKey?: string;
7
- }
8
- export interface ConnectorOrchestratorConfigWithKafkaInterface extends ConnectorOrchestratorConfigInterface {
9
- kafkaBrokers?: Array<string>;
10
- }
11
- export interface ConnectorOrchestratorFullConfigurationInterface {
12
- config: ConnectorOrchestratorConfigWithKafkaInterface;
13
- connectors: Array<ConnectorInterface>;
14
- }