@agenshield/interceptor 0.4.3 → 0.4.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../../src/events/reporter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAC/C;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,QAAQ,CAAmC;IACnD,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,gBAAgB,CAAK;IAE7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAO;IAC7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAK;IAExC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAK5B;gBAEU,OAAO,EAAE,oBAAoB;IAQzC;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAqBrC;;OAEG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IASlD;;OAEG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAWpF;;OAEG;IACH,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAWjF;;OAEG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAU7D;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB5B;;OAEG;IACH,IAAI,IAAI,IAAI;IAUZ;;OAEG;IACH,OAAO,CAAC,WAAW;IAenB;;OAEG;IACH,OAAO,CAAC,SAAS;CAGlB"}
1
+ {"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../../src/events/reporter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAC/C;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,QAAQ,CAAmC;IACnD,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,gBAAgB,CAAK;IAE7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAO;IAC7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAK;IAExC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAK5B;gBAEU,OAAO,EAAE,oBAAoB;IASzC;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAqBrC;;OAEG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IASlD;;OAEG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAWpF;;OAEG;IACH,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAWjF;;OAEG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAU7D;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB5B;;OAEG;IACH,IAAI,IAAI,IAAI;IAUZ;;OAEG;IACH,OAAO,CAAC,WAAW;IAenB;;OAEG;IACH,OAAO,CAAC,SAAS;CAGlB"}
package/index.js CHANGED
@@ -109,11 +109,28 @@ var BaseInterceptor = class {
109
109
  eventReporter;
110
110
  failOpen;
111
111
  installed = false;
112
+ brokerHttpPort;
112
113
  constructor(options) {
113
114
  this.client = options.client;
114
115
  this.policyEvaluator = options.policyEvaluator;
115
116
  this.eventReporter = options.eventReporter;
116
117
  this.failOpen = options.failOpen;
118
+ this.brokerHttpPort = options.brokerHttpPort ?? 5201;
119
+ }
120
+ /**
121
+ * Check if a URL targets the broker or daemon (should not be intercepted)
122
+ */
123
+ isBrokerUrl(url) {
124
+ try {
125
+ const parsed = new URL(url);
126
+ if (parsed.hostname !== "localhost" && parsed.hostname !== "127.0.0.1") {
127
+ return false;
128
+ }
129
+ const port = parsed.port;
130
+ return port === String(this.brokerHttpPort) || port === "5200";
131
+ } catch {
132
+ return false;
133
+ }
117
134
  }
118
135
  /**
119
136
  * Check if the interceptor is installed
@@ -248,14 +265,6 @@ var FetchInterceptor = class extends BaseInterceptor {
248
265
  throw error;
249
266
  }
250
267
  }
251
- isBrokerUrl(url) {
252
- try {
253
- const parsed = new URL(url);
254
- return (parsed.hostname === "localhost" || parsed.hostname === "127.0.0.1") && parsed.port === "5200";
255
- } catch {
256
- return false;
257
- }
258
- }
259
268
  };
260
269
 
261
270
  // libs/shield-interceptor/src/interceptors/http.ts
@@ -348,14 +357,6 @@ var HttpInterceptor = class extends BaseInterceptor {
348
357
  return req;
349
358
  };
350
359
  }
351
- isBrokerUrl(url) {
352
- try {
353
- const parsed = new URL(url);
354
- return (parsed.hostname === "localhost" || parsed.hostname === "127.0.0.1") && parsed.port === "5200";
355
- } catch {
356
- return false;
357
- }
358
- }
359
360
  };
360
361
 
361
362
  // libs/shield-interceptor/src/interceptors/websocket.ts
@@ -398,14 +399,6 @@ var WebSocketInterceptor = class extends BaseInterceptor {
398
399
  this.originalWebSocket = null;
399
400
  this.installed = false;
400
401
  }
401
- isBrokerUrl(url) {
402
- try {
403
- const parsed = new URL(url);
404
- return (parsed.hostname === "localhost" || parsed.hostname === "127.0.0.1") && parsed.port === "5200";
405
- } catch {
406
- return false;
407
- }
408
- }
409
402
  };
410
403
 
411
404
  // libs/shield-interceptor/src/client/sync-client.ts
@@ -1023,6 +1016,7 @@ var EventReporter = class _EventReporter {
1023
1016
  this.client = options.client;
1024
1017
  this.logLevel = options.logLevel;
1025
1018
  this.flushInterval = setInterval(() => this.flush(), 5e3);
1019
+ this.flushInterval.unref();
1026
1020
  }
1027
1021
  /**
1028
1022
  * Report an event
@@ -1174,7 +1168,8 @@ function installInterceptors(configOverrides) {
1174
1168
  client,
1175
1169
  policyEvaluator,
1176
1170
  eventReporter,
1177
- failOpen: config.failOpen
1171
+ failOpen: config.failOpen,
1172
+ brokerHttpPort: config.httpPort
1178
1173
  });
1179
1174
  installed.fetch.install();
1180
1175
  log(config, "debug", "Installed fetch interceptor");
@@ -1184,7 +1179,8 @@ function installInterceptors(configOverrides) {
1184
1179
  client,
1185
1180
  policyEvaluator,
1186
1181
  eventReporter,
1187
- failOpen: config.failOpen
1182
+ failOpen: config.failOpen,
1183
+ brokerHttpPort: config.httpPort
1188
1184
  });
1189
1185
  installed.http.install();
1190
1186
  log(config, "debug", "Installed http/https interceptor");
@@ -1194,7 +1190,8 @@ function installInterceptors(configOverrides) {
1194
1190
  client,
1195
1191
  policyEvaluator,
1196
1192
  eventReporter,
1197
- failOpen: config.failOpen
1193
+ failOpen: config.failOpen,
1194
+ brokerHttpPort: config.httpPort
1198
1195
  });
1199
1196
  installed.websocket.install();
1200
1197
  log(config, "debug", "Installed WebSocket interceptor");
@@ -1204,7 +1201,8 @@ function installInterceptors(configOverrides) {
1204
1201
  client,
1205
1202
  policyEvaluator,
1206
1203
  eventReporter,
1207
- failOpen: config.failOpen
1204
+ failOpen: config.failOpen,
1205
+ brokerHttpPort: config.httpPort
1208
1206
  });
1209
1207
  installed.childProcess.install();
1210
1208
  log(config, "debug", "Installed child_process interceptor");
@@ -1214,7 +1212,8 @@ function installInterceptors(configOverrides) {
1214
1212
  client,
1215
1213
  policyEvaluator,
1216
1214
  eventReporter,
1217
- failOpen: config.failOpen
1215
+ failOpen: config.failOpen,
1216
+ brokerHttpPort: config.httpPort
1218
1217
  });
1219
1218
  installed.fs.install();
1220
1219
  log(config, "debug", "Installed fs interceptor");
@@ -1 +1 @@
1
- {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAOrD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAiBtD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,eAAe,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAC3C,IAAI,CAwFN;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CA6B5C;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,WAAW,GAAG,IAAI,CAE9C"}
1
+ {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAOrD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAiBtD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,eAAe,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAC3C,IAAI,CA6FN;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CA6B5C;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,WAAW,GAAG,IAAI,CAE9C"}
@@ -11,6 +11,8 @@ export interface BaseInterceptorOptions {
11
11
  policyEvaluator: PolicyEvaluator;
12
12
  eventReporter: EventReporter;
13
13
  failOpen: boolean;
14
+ /** HTTP port used by the broker (to skip interception of broker traffic) */
15
+ brokerHttpPort?: number;
14
16
  }
15
17
  export declare abstract class BaseInterceptor {
16
18
  protected client: AsyncClient;
@@ -18,7 +20,12 @@ export declare abstract class BaseInterceptor {
18
20
  protected eventReporter: EventReporter;
19
21
  protected failOpen: boolean;
20
22
  protected installed: boolean;
23
+ private brokerHttpPort;
21
24
  constructor(options: BaseInterceptorOptions);
25
+ /**
26
+ * Check if a URL targets the broker or daemon (should not be intercepted)
27
+ */
28
+ protected isBrokerUrl(url: string): boolean;
22
29
  /**
23
30
  * Install the interceptor
24
31
  */
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/interceptors/base.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,WAAW,CAAC;IACpB,eAAe,EAAE,eAAe,CAAC;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,8BAAsB,eAAe;IACnC,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC;IAC9B,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC;IAC3C,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IACvC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,SAAS,EAAE,OAAO,CAAS;gBAEzB,OAAO,EAAE,sBAAsB;IAO3C;;OAEG;IACH,QAAQ,CAAC,OAAO,IAAI,IAAI;IAExB;;OAEG;IACH,QAAQ,CAAC,SAAS,IAAI,IAAI;IAE1B;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;cACa,WAAW,CACzB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IA0ChB;;OAEG;IACH,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAGvC"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/interceptors/base.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,WAAW,CAAC;IACpB,eAAe,EAAE,eAAe,CAAC;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,4EAA4E;IAC5E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,8BAAsB,eAAe;IACnC,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC;IAC9B,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC;IAC3C,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IACvC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,SAAS,EAAE,OAAO,CAAS;IACrC,OAAO,CAAC,cAAc,CAAS;gBAEnB,OAAO,EAAE,sBAAsB;IAQ3C;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAa3C;;OAEG;IACH,QAAQ,CAAC,OAAO,IAAI,IAAI;IAExB;;OAEG;IACH,QAAQ,CAAC,SAAS,IAAI,IAAI;IAE1B;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;cACa,WAAW,CACzB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IA0ChB;;OAEG;IACH,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAGvC"}
@@ -10,6 +10,5 @@ export declare class FetchInterceptor extends BaseInterceptor {
10
10
  install(): void;
11
11
  uninstall(): void;
12
12
  private interceptedFetch;
13
- private isBrokerUrl;
14
13
  }
15
14
  //# sourceMappingURL=fetch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/interceptors/fetch.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAEzE,qBAAa,gBAAiB,SAAQ,eAAe;IACnD,OAAO,CAAC,aAAa,CAA6B;gBAEtC,OAAO,EAAE,sBAAsB;IAI3C,OAAO,IAAI,IAAI;IAYf,SAAS,IAAI,IAAI;YAQH,gBAAgB;IA0F9B,OAAO,CAAC,WAAW;CAWpB"}
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/interceptors/fetch.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAEzE,qBAAa,gBAAiB,SAAQ,eAAe;IACnD,OAAO,CAAC,aAAa,CAA6B;gBAEtC,OAAO,EAAE,sBAAsB;IAI3C,OAAO,IAAI,IAAI;IAYf,SAAS,IAAI,IAAI;YAQH,gBAAgB;CA0F/B"}
@@ -14,6 +14,5 @@ export declare class HttpInterceptor extends BaseInterceptor {
14
14
  uninstall(): void;
15
15
  private createInterceptedRequest;
16
16
  private createInterceptedGet;
17
- private isBrokerUrl;
18
17
  }
19
18
  //# sourceMappingURL=http.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/interceptors/http.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAQzE,qBAAa,eAAgB,SAAQ,eAAe;IAClD,OAAO,CAAC,mBAAmB,CAAoC;IAC/D,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,oBAAoB,CAAoC;IAChE,OAAO,CAAC,gBAAgB,CAAgC;gBAE5C,OAAO,EAAE,sBAAsB;IAI3C,OAAO,IAAI,IAAI;IAkBf,SAAS,IAAI,IAAI;IAuBjB,OAAO,CAAC,wBAAwB;IA0DhC,OAAO,CAAC,oBAAoB;IAoB5B,OAAO,CAAC,WAAW;CAWpB"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/interceptors/http.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAQzE,qBAAa,eAAgB,SAAQ,eAAe;IAClD,OAAO,CAAC,mBAAmB,CAAoC;IAC/D,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,oBAAoB,CAAoC;IAChE,OAAO,CAAC,gBAAgB,CAAgC;gBAE5C,OAAO,EAAE,sBAAsB;IAI3C,OAAO,IAAI,IAAI;IAkBf,SAAS,IAAI,IAAI;IAuBjB,OAAO,CAAC,wBAAwB;IA0DhC,OAAO,CAAC,oBAAoB;CAoB7B"}
@@ -9,6 +9,5 @@ export declare class WebSocketInterceptor extends BaseInterceptor {
9
9
  constructor(options: BaseInterceptorOptions);
10
10
  install(): void;
11
11
  uninstall(): void;
12
- private isBrokerUrl;
13
12
  }
14
13
  //# sourceMappingURL=websocket.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/interceptors/websocket.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAGzE,qBAAa,oBAAqB,SAAQ,eAAe;IACvD,OAAO,CAAC,iBAAiB,CAAiC;gBAE9C,OAAO,EAAE,sBAAsB;IAI3C,OAAO,IAAI,IAAI;IAiDf,SAAS,IAAI,IAAI;IAQjB,OAAO,CAAC,WAAW;CAWpB"}
1
+ {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/interceptors/websocket.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAGzE,qBAAa,oBAAqB,SAAQ,eAAe;IACvD,OAAO,CAAC,iBAAiB,CAAiC;gBAE9C,OAAO,EAAE,sBAAsB;IAI3C,OAAO,IAAI,IAAI;IAiDf,SAAS,IAAI,IAAI;CAQlB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agenshield/interceptor",
3
- "version": "0.4.3",
3
+ "version": "0.4.4",
4
4
  "type": "module",
5
5
  "description": "Node.js runtime interception via ESM loader and CJS preload",
6
6
  "main": "./index.js",
@@ -25,7 +25,7 @@
25
25
  },
26
26
  "license": "MIT",
27
27
  "dependencies": {
28
- "@agenshield/ipc": "0.4.3"
28
+ "@agenshield/ipc": "0.4.4"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/node": "^24.0.0",
package/register.js CHANGED
@@ -84,11 +84,28 @@ var BaseInterceptor = class {
84
84
  eventReporter;
85
85
  failOpen;
86
86
  installed = false;
87
+ brokerHttpPort;
87
88
  constructor(options) {
88
89
  this.client = options.client;
89
90
  this.policyEvaluator = options.policyEvaluator;
90
91
  this.eventReporter = options.eventReporter;
91
92
  this.failOpen = options.failOpen;
93
+ this.brokerHttpPort = options.brokerHttpPort ?? 5201;
94
+ }
95
+ /**
96
+ * Check if a URL targets the broker or daemon (should not be intercepted)
97
+ */
98
+ isBrokerUrl(url) {
99
+ try {
100
+ const parsed = new URL(url);
101
+ if (parsed.hostname !== "localhost" && parsed.hostname !== "127.0.0.1") {
102
+ return false;
103
+ }
104
+ const port = parsed.port;
105
+ return port === String(this.brokerHttpPort) || port === "5200";
106
+ } catch {
107
+ return false;
108
+ }
92
109
  }
93
110
  /**
94
111
  * Check if the interceptor is installed
@@ -223,14 +240,6 @@ var FetchInterceptor = class extends BaseInterceptor {
223
240
  throw error;
224
241
  }
225
242
  }
226
- isBrokerUrl(url) {
227
- try {
228
- const parsed = new URL(url);
229
- return (parsed.hostname === "localhost" || parsed.hostname === "127.0.0.1") && parsed.port === "5200";
230
- } catch {
231
- return false;
232
- }
233
- }
234
243
  };
235
244
 
236
245
  // libs/shield-interceptor/src/interceptors/http.ts
@@ -323,14 +332,6 @@ var HttpInterceptor = class extends BaseInterceptor {
323
332
  return req;
324
333
  };
325
334
  }
326
- isBrokerUrl(url) {
327
- try {
328
- const parsed = new URL(url);
329
- return (parsed.hostname === "localhost" || parsed.hostname === "127.0.0.1") && parsed.port === "5200";
330
- } catch {
331
- return false;
332
- }
333
- }
334
335
  };
335
336
 
336
337
  // libs/shield-interceptor/src/interceptors/websocket.ts
@@ -373,14 +374,6 @@ var WebSocketInterceptor = class extends BaseInterceptor {
373
374
  this.originalWebSocket = null;
374
375
  this.installed = false;
375
376
  }
376
- isBrokerUrl(url) {
377
- try {
378
- const parsed = new URL(url);
379
- return (parsed.hostname === "localhost" || parsed.hostname === "127.0.0.1") && parsed.port === "5200";
380
- } catch {
381
- return false;
382
- }
383
- }
384
377
  };
385
378
 
386
379
  // libs/shield-interceptor/src/client/sync-client.ts
@@ -998,6 +991,7 @@ var EventReporter = class _EventReporter {
998
991
  this.client = options.client;
999
992
  this.logLevel = options.logLevel;
1000
993
  this.flushInterval = setInterval(() => this.flush(), 5e3);
994
+ this.flushInterval.unref();
1001
995
  }
1002
996
  /**
1003
997
  * Report an event
@@ -1149,7 +1143,8 @@ function installInterceptors(configOverrides) {
1149
1143
  client,
1150
1144
  policyEvaluator,
1151
1145
  eventReporter,
1152
- failOpen: config.failOpen
1146
+ failOpen: config.failOpen,
1147
+ brokerHttpPort: config.httpPort
1153
1148
  });
1154
1149
  installed.fetch.install();
1155
1150
  log(config, "debug", "Installed fetch interceptor");
@@ -1159,7 +1154,8 @@ function installInterceptors(configOverrides) {
1159
1154
  client,
1160
1155
  policyEvaluator,
1161
1156
  eventReporter,
1162
- failOpen: config.failOpen
1157
+ failOpen: config.failOpen,
1158
+ brokerHttpPort: config.httpPort
1163
1159
  });
1164
1160
  installed.http.install();
1165
1161
  log(config, "debug", "Installed http/https interceptor");
@@ -1169,7 +1165,8 @@ function installInterceptors(configOverrides) {
1169
1165
  client,
1170
1166
  policyEvaluator,
1171
1167
  eventReporter,
1172
- failOpen: config.failOpen
1168
+ failOpen: config.failOpen,
1169
+ brokerHttpPort: config.httpPort
1173
1170
  });
1174
1171
  installed.websocket.install();
1175
1172
  log(config, "debug", "Installed WebSocket interceptor");
@@ -1179,7 +1176,8 @@ function installInterceptors(configOverrides) {
1179
1176
  client,
1180
1177
  policyEvaluator,
1181
1178
  eventReporter,
1182
- failOpen: config.failOpen
1179
+ failOpen: config.failOpen,
1180
+ brokerHttpPort: config.httpPort
1183
1181
  });
1184
1182
  installed.childProcess.install();
1185
1183
  log(config, "debug", "Installed child_process interceptor");
@@ -1189,7 +1187,8 @@ function installInterceptors(configOverrides) {
1189
1187
  client,
1190
1188
  policyEvaluator,
1191
1189
  eventReporter,
1192
- failOpen: config.failOpen
1190
+ failOpen: config.failOpen,
1191
+ brokerHttpPort: config.httpPort
1193
1192
  });
1194
1193
  installed.fs.install();
1195
1194
  log(config, "debug", "Installed fs interceptor");
package/require.js CHANGED
@@ -84,11 +84,28 @@ var BaseInterceptor = class {
84
84
  eventReporter;
85
85
  failOpen;
86
86
  installed = false;
87
+ brokerHttpPort;
87
88
  constructor(options) {
88
89
  this.client = options.client;
89
90
  this.policyEvaluator = options.policyEvaluator;
90
91
  this.eventReporter = options.eventReporter;
91
92
  this.failOpen = options.failOpen;
93
+ this.brokerHttpPort = options.brokerHttpPort ?? 5201;
94
+ }
95
+ /**
96
+ * Check if a URL targets the broker or daemon (should not be intercepted)
97
+ */
98
+ isBrokerUrl(url) {
99
+ try {
100
+ const parsed = new URL(url);
101
+ if (parsed.hostname !== "localhost" && parsed.hostname !== "127.0.0.1") {
102
+ return false;
103
+ }
104
+ const port = parsed.port;
105
+ return port === String(this.brokerHttpPort) || port === "5200";
106
+ } catch {
107
+ return false;
108
+ }
92
109
  }
93
110
  /**
94
111
  * Check if the interceptor is installed
@@ -223,14 +240,6 @@ var FetchInterceptor = class extends BaseInterceptor {
223
240
  throw error;
224
241
  }
225
242
  }
226
- isBrokerUrl(url) {
227
- try {
228
- const parsed = new URL(url);
229
- return (parsed.hostname === "localhost" || parsed.hostname === "127.0.0.1") && parsed.port === "5200";
230
- } catch {
231
- return false;
232
- }
233
- }
234
243
  };
235
244
 
236
245
  // libs/shield-interceptor/src/interceptors/http.ts
@@ -323,14 +332,6 @@ var HttpInterceptor = class extends BaseInterceptor {
323
332
  return req;
324
333
  };
325
334
  }
326
- isBrokerUrl(url) {
327
- try {
328
- const parsed = new URL(url);
329
- return (parsed.hostname === "localhost" || parsed.hostname === "127.0.0.1") && parsed.port === "5200";
330
- } catch {
331
- return false;
332
- }
333
- }
334
335
  };
335
336
 
336
337
  // libs/shield-interceptor/src/interceptors/websocket.ts
@@ -373,14 +374,6 @@ var WebSocketInterceptor = class extends BaseInterceptor {
373
374
  this.originalWebSocket = null;
374
375
  this.installed = false;
375
376
  }
376
- isBrokerUrl(url) {
377
- try {
378
- const parsed = new URL(url);
379
- return (parsed.hostname === "localhost" || parsed.hostname === "127.0.0.1") && parsed.port === "5200";
380
- } catch {
381
- return false;
382
- }
383
- }
384
377
  };
385
378
 
386
379
  // libs/shield-interceptor/src/client/sync-client.ts
@@ -998,6 +991,7 @@ var EventReporter = class _EventReporter {
998
991
  this.client = options.client;
999
992
  this.logLevel = options.logLevel;
1000
993
  this.flushInterval = setInterval(() => this.flush(), 5e3);
994
+ this.flushInterval.unref();
1001
995
  }
1002
996
  /**
1003
997
  * Report an event
@@ -1149,7 +1143,8 @@ function installInterceptors(configOverrides) {
1149
1143
  client,
1150
1144
  policyEvaluator,
1151
1145
  eventReporter,
1152
- failOpen: config.failOpen
1146
+ failOpen: config.failOpen,
1147
+ brokerHttpPort: config.httpPort
1153
1148
  });
1154
1149
  installed.fetch.install();
1155
1150
  log(config, "debug", "Installed fetch interceptor");
@@ -1159,7 +1154,8 @@ function installInterceptors(configOverrides) {
1159
1154
  client,
1160
1155
  policyEvaluator,
1161
1156
  eventReporter,
1162
- failOpen: config.failOpen
1157
+ failOpen: config.failOpen,
1158
+ brokerHttpPort: config.httpPort
1163
1159
  });
1164
1160
  installed.http.install();
1165
1161
  log(config, "debug", "Installed http/https interceptor");
@@ -1169,7 +1165,8 @@ function installInterceptors(configOverrides) {
1169
1165
  client,
1170
1166
  policyEvaluator,
1171
1167
  eventReporter,
1172
- failOpen: config.failOpen
1168
+ failOpen: config.failOpen,
1169
+ brokerHttpPort: config.httpPort
1173
1170
  });
1174
1171
  installed.websocket.install();
1175
1172
  log(config, "debug", "Installed WebSocket interceptor");
@@ -1179,7 +1176,8 @@ function installInterceptors(configOverrides) {
1179
1176
  client,
1180
1177
  policyEvaluator,
1181
1178
  eventReporter,
1182
- failOpen: config.failOpen
1179
+ failOpen: config.failOpen,
1180
+ brokerHttpPort: config.httpPort
1183
1181
  });
1184
1182
  installed.childProcess.install();
1185
1183
  log(config, "debug", "Installed child_process interceptor");
@@ -1189,7 +1187,8 @@ function installInterceptors(configOverrides) {
1189
1187
  client,
1190
1188
  policyEvaluator,
1191
1189
  eventReporter,
1192
- failOpen: config.failOpen
1190
+ failOpen: config.failOpen,
1191
+ brokerHttpPort: config.httpPort
1193
1192
  });
1194
1193
  installed.fs.install();
1195
1194
  log(config, "debug", "Installed fs interceptor");