@transai/connector-runner-ez-mes 0.16.0 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## 0.17.0 (2026-03-19)
2
+
3
+ ### 🧱 Updated Dependencies
4
+
5
+ - Updated @transai/connector-runtime-sdk to 0.11.0
6
+
1
7
  ## 0.16.0 (2026-03-16)
2
8
 
3
9
  ### 🧱 Updated Dependencies
package/index.cjs CHANGED
@@ -1,2 +1,2 @@
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});
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 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 a of S(t))!R.call(n,a)&&a!==e&&d(n,a,{get:()=>t[a],enumerable:!(r=b(t,a))||r.enumerable});return n};var D=(n,t,e)=>(e=n!=null?A(T(n)):{},h(t||!n||!n.__esModule?d(e,"default",{value:n,enumerable:!0}):e,n)),w=n=>h(d({},"__esModule",{value:!0}),n);var K={};k(K,{ConnectorRunnerEzMes:()=>v});module.exports=w(K);var c=D(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 a={};Object.entries(r.config.templates).forEach(([i,s])=>{try{a[i]=e.templating.compile(s)}catch(C){e.logger.error(`Error compiling template ${i} for action ${r.identifier}`,C)}}),r.config.parsedTemplates=a})}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 P=require("node:events");var o=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(o.NAME,new o(e))}};var y=require("node:events");var m=class extends y.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(o.NAME,new o(e))}};var x=require("node:events");var l=class extends x.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(o.NAME,new o(e))}};var I=class extends P.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(o.NAME,e=>this.emit(o.NAME,e))}#n(t){return async(e,r)=>{let a=r.identifier,i=this.#t[a];if(!i)return this.#e.receiver.responses.badRequest(`Action ${a} does not exist.`)(e);try{await i.execute(e.payload),this.#e.logger.info(`Action ${a} executed successfully`)}catch(s){return this.#e.logger.error(`Action ${a} execution failed: ${s}`),this.#e.receiver.responses.internalServerError(`Action ${a} 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 a=r.data.Travelers??r.data.Result?.Travelers;await this.#e.sender.documents(a,{keyField:"TravelerId",collection:"ez-mes-travelers"})}};var g=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,a)=>{if(t.status!==401)throw t;this.#r=void 0;try{await this.#n()}catch(i){a(i);return}e.client.request(e.method,e.url,e.options).then(i=>r(i)).catch(i=>a(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 v=class extends u{#e;#t;#r;constructor(t,e){super(t,e);let{config:r}=this.connectorSDK,a=new g(r,this.connectorSDK.httpClient({baseUrl:r.hostname}));this.#e=this.connectorSDK.httpClient({baseUrl:r.hostname}).setRequestOptionsFormatter(a.format.bind(a)).setErrorResponseHandler(a.errorResponseCallback.bind(a)),this.#t=new f(this.connectorSDK,this.#e),this.#r=new I(this.connectorSDK,this.#e).on(o.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
@@ -5,6 +5,11 @@ export interface Metric {
5
5
  export type Metadata = {
6
6
  [key: string]: string;
7
7
  };
8
+ export type SenderMetadata = {
9
+ collection?: string;
10
+ incrementalField?: string;
11
+ keyField?: string;
12
+ };
8
13
  export interface Context {
9
14
  timestamp?: Date;
10
15
  ttl?: number;
@@ -16,7 +21,7 @@ export type Result = boolean | {
16
21
  [index: number]: boolean;
17
22
  };
18
23
  export interface SenderSDKInterface {
19
- metrics(metrics: Array<Metric>, metadata?: Metadata, context?: Context): Promise<Result>;
20
- metricsLegacy<T = never>(metrics: Array<T>, metadata?: Metadata, context?: Context, topic?: string): Promise<Result>;
21
- documents<T = object>(documents: Array<T>, metadata?: Metadata, context?: Context): Promise<Result>;
24
+ metrics(metrics: Array<Metric>, metadata?: Metadata & SenderMetadata, context?: Context): Promise<Result>;
25
+ metricsLegacy<T = never>(metrics: Array<T>, metadata?: Metadata & SenderMetadata, context?: Context, topic?: string): Promise<Result>;
26
+ documents<T = object>(documents: Array<T>, metadata?: Metadata & SenderMetadata, context?: Context): Promise<Result>;
22
27
  }
@@ -23,13 +23,26 @@ export interface NumberOutputParameterInterface extends OutputItemParameterInter
23
23
  export interface OutputParameterInterface {
24
24
  [key: string]: OutputItemParameterInterface | ArrayOutputParameterInterface | NumberOutputParameterInterface;
25
25
  }
26
- export interface InputParameterInterface {
26
+ interface BaseInputParameter {
27
27
  name: string;
28
28
  description?: string;
29
- type: 'string' | 'number' | 'boolean' | 'array';
30
29
  required?: boolean;
31
- items?: Array<InputParameterInterface>;
32
30
  }
31
+ export interface ValueInputParameter extends BaseInputParameter {
32
+ type: 'string' | 'number' | 'boolean';
33
+ }
34
+ export interface SimpleArrayInputParameter extends BaseInputParameter {
35
+ type: 'simple-array';
36
+ itemType: 'string' | 'number' | 'boolean';
37
+ }
38
+ export interface ArrayInputParameter extends BaseInputParameter {
39
+ type: 'array';
40
+ items: Array<InputParameterInterface>;
41
+ }
42
+ export interface UnknownInputParameter extends BaseInputParameter {
43
+ type: 'unknown';
44
+ }
45
+ export type InputParameterInterface = ValueInputParameter | SimpleArrayInputParameter | ArrayInputParameter | UnknownInputParameter;
33
46
  export interface ActionInterface {
34
47
  identifier: string;
35
48
  version: string;
@@ -47,3 +60,4 @@ export interface ActionInterface {
47
60
  mode?: ConnectorOrigin;
48
61
  createdAt: Date;
49
62
  }
63
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@transai/connector-runner-ez-mes",
3
- "version": "0.16.0",
3
+ "version": "0.18.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },