@autofleet/nitur 2.2.1-0 → 2.2.1-2

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":"base.cjs","names":[],"sources":["../../src/alive-endpoint/base.ts"],"sourcesContent":["import type { logger as loggerFallback } from '../logger';\n\nexport interface SystemAliveParameters {\n rabbit?: null | { isConnected: () => PromiseLike<boolean>; };\n sequelize?: null | { query(sql: string | { query: string; values: unknown[]; }): PromiseLike<any>; };\n redis?: null | { ping: () => Promise<void>; };\n elasticsearch?: null | { ping: () => Promise<boolean>; };\n logger?: typeof loggerFallback;\n}\n\nexport async function systemAliveCheck({\n rabbit = null,\n sequelize = null,\n redis = null,\n elasticsearch = null,\n}: SystemAliveParameters): Promise<{ status: 'ok'; }> {\n if (rabbit) {\n const isRabbitAlive = await rabbit.isConnected();\n if (!isRabbitAlive) {\n throw new Error('Rabbit is not alive');\n }\n }\n\n if (sequelize) {\n const [[{ status }]] = await sequelize.query('select \\'ok\\' as status');\n if (status !== 'ok') {\n throw new Error('Sequelize is not alive');\n }\n }\n\n if (redis) {\n await redis.ping();\n }\n\n if (elasticsearch) {\n await elasticsearch.ping();\n }\n\n return { status: 'ok' };\n};\n"],"mappings":"AAUA,eAAsB,EAAiB,CACrC,SAAS,KACT,YAAY,KACZ,QAAQ,KACR,gBAAgB,KACM,CAA8B,CACpD,GAAI,EAAQ,CACV,IAAM,EAAgB,KAAM,GAAO,aAAa,CAChD,IAAK,EACH,KAAM,CAAI,MAAM,sBAAA,AAEnB,CAED,GAAI,EAAW,CACb,GAAM,CAAC,CAAC,CAAE,SAAQ,CAAC,CAAC,CAAG,KAAM,GAAU,MAAM,wBAA0B,CACvE,GAAI,IAAW,KACb,KAAM,CAAI,MAAM,yBAAA,AAEnB,CAUD,OARI,GACF,KAAM,GAAM,MAAM,CAGhB,GACF,KAAM,GAAc,MAAM,CAGrB,CAAE,OAAQ,IAAM,CACxB"}
1
+ {"version":3,"file":"base.cjs","names":[],"sources":["../../src/alive-endpoint/base.ts"],"sourcesContent":["// import type { logger as loggerFallback } from '../logger';\n\nimport type { SimpleLogger } from '../health/shared';\n\nexport interface SystemAliveParameters {\n rabbit?: null | { isConnected: () => PromiseLike<boolean>; };\n sequelize?: null | { query(sql: string | { query: string; values: unknown[]; }): PromiseLike<any>; };\n redis?: null | { ping: () => Promise<void>; };\n elasticsearch?: null | { ping: () => Promise<boolean>; };\n logger?: SimpleLogger;\n}\n\nexport async function systemAliveCheck({\n rabbit = null,\n sequelize = null,\n redis = null,\n elasticsearch = null,\n}: SystemAliveParameters): Promise<{ status: 'ok'; }> {\n if (rabbit) {\n const isRabbitAlive = await rabbit.isConnected();\n if (!isRabbitAlive) {\n throw new Error('Rabbit is not alive');\n }\n }\n\n if (sequelize) {\n const [[{ status }]] = await sequelize.query('select \\'ok\\' as status');\n if (status !== 'ok') {\n throw new Error('Sequelize is not alive');\n }\n }\n\n if (redis) {\n await redis.ping();\n }\n\n if (elasticsearch) {\n await elasticsearch.ping();\n }\n\n return { status: 'ok' };\n};\n"],"mappings":"AAYA,eAAsB,EAAiB,CACrC,SAAS,KACT,YAAY,KACZ,QAAQ,KACR,gBAAgB,KACM,CAA8B,CACpD,GAAI,EAAQ,CACV,IAAM,EAAgB,KAAM,GAAO,aAAa,CAChD,IAAK,EACH,KAAM,CAAI,MAAM,sBAAA,AAEnB,CAED,GAAI,EAAW,CACb,GAAM,CAAC,CAAC,CAAE,SAAQ,CAAC,CAAC,CAAG,KAAM,GAAU,MAAM,wBAA0B,CACvE,GAAI,IAAW,KACb,KAAM,CAAI,MAAM,yBAAA,AAEnB,CAUD,OARI,GACF,KAAM,GAAM,MAAM,CAGhB,GACF,KAAM,GAAc,MAAM,CAGrB,CAAE,OAAQ,IAAM,CACxB"}
@@ -1,4 +1,4 @@
1
- import { logger } from "../logger.cjs";
1
+ import { SimpleLogger } from "../health/shared.cjs";
2
2
 
3
3
  //#region src/alive-endpoint/base.d.ts
4
4
  interface SystemAliveParameters {
@@ -17,7 +17,7 @@ interface SystemAliveParameters {
17
17
  elasticsearch?: null | {
18
18
  ping: () => Promise<boolean>;
19
19
  };
20
- logger?: typeof logger;
20
+ logger?: SimpleLogger;
21
21
  }
22
22
  declare function systemAliveCheck({
23
23
  rabbit,
@@ -1,4 +1,4 @@
1
- import { logger } from "../logger.js";
1
+ import { SimpleLogger } from "../health/shared.js";
2
2
 
3
3
  //#region src/alive-endpoint/base.d.ts
4
4
  interface SystemAliveParameters {
@@ -17,7 +17,7 @@ interface SystemAliveParameters {
17
17
  elasticsearch?: null | {
18
18
  ping: () => Promise<boolean>;
19
19
  };
20
- logger?: typeof logger;
20
+ logger?: SimpleLogger;
21
21
  }
22
22
  declare function systemAliveCheck({
23
23
  rabbit,
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","names":[],"sources":["../../src/alive-endpoint/base.ts"],"sourcesContent":["import type { logger as loggerFallback } from '../logger';\n\nexport interface SystemAliveParameters {\n rabbit?: null | { isConnected: () => PromiseLike<boolean>; };\n sequelize?: null | { query(sql: string | { query: string; values: unknown[]; }): PromiseLike<any>; };\n redis?: null | { ping: () => Promise<void>; };\n elasticsearch?: null | { ping: () => Promise<boolean>; };\n logger?: typeof loggerFallback;\n}\n\nexport async function systemAliveCheck({\n rabbit = null,\n sequelize = null,\n redis = null,\n elasticsearch = null,\n}: SystemAliveParameters): Promise<{ status: 'ok'; }> {\n if (rabbit) {\n const isRabbitAlive = await rabbit.isConnected();\n if (!isRabbitAlive) {\n throw new Error('Rabbit is not alive');\n }\n }\n\n if (sequelize) {\n const [[{ status }]] = await sequelize.query('select \\'ok\\' as status');\n if (status !== 'ok') {\n throw new Error('Sequelize is not alive');\n }\n }\n\n if (redis) {\n await redis.ping();\n }\n\n if (elasticsearch) {\n await elasticsearch.ping();\n }\n\n return { status: 'ok' };\n};\n"],"mappings":"AAUA,eAAsB,EAAiB,CACrC,SAAS,KACT,YAAY,KACZ,QAAQ,KACR,gBAAgB,KACM,CAA8B,CACpD,GAAI,EAAQ,CACV,IAAM,EAAgB,KAAM,GAAO,aAAa,CAChD,IAAK,EACH,KAAM,CAAI,MAAM,sBAAA,AAEnB,CAED,GAAI,EAAW,CACb,GAAM,CAAC,CAAC,CAAE,SAAQ,CAAC,CAAC,CAAG,KAAM,GAAU,MAAM,wBAA0B,CACvE,GAAI,IAAW,KACb,KAAM,CAAI,MAAM,yBAAA,AAEnB,CAUD,OARI,GACF,KAAM,GAAM,MAAM,CAGhB,GACF,KAAM,GAAc,MAAM,CAGrB,CAAE,OAAQ,IAAM,CACxB"}
1
+ {"version":3,"file":"base.js","names":[],"sources":["../../src/alive-endpoint/base.ts"],"sourcesContent":["// import type { logger as loggerFallback } from '../logger';\n\nimport type { SimpleLogger } from '../health/shared';\n\nexport interface SystemAliveParameters {\n rabbit?: null | { isConnected: () => PromiseLike<boolean>; };\n sequelize?: null | { query(sql: string | { query: string; values: unknown[]; }): PromiseLike<any>; };\n redis?: null | { ping: () => Promise<void>; };\n elasticsearch?: null | { ping: () => Promise<boolean>; };\n logger?: SimpleLogger;\n}\n\nexport async function systemAliveCheck({\n rabbit = null,\n sequelize = null,\n redis = null,\n elasticsearch = null,\n}: SystemAliveParameters): Promise<{ status: 'ok'; }> {\n if (rabbit) {\n const isRabbitAlive = await rabbit.isConnected();\n if (!isRabbitAlive) {\n throw new Error('Rabbit is not alive');\n }\n }\n\n if (sequelize) {\n const [[{ status }]] = await sequelize.query('select \\'ok\\' as status');\n if (status !== 'ok') {\n throw new Error('Sequelize is not alive');\n }\n }\n\n if (redis) {\n await redis.ping();\n }\n\n if (elasticsearch) {\n await elasticsearch.ping();\n }\n\n return { status: 'ok' };\n};\n"],"mappings":"AAYA,eAAsB,EAAiB,CACrC,SAAS,KACT,YAAY,KACZ,QAAQ,KACR,gBAAgB,KACM,CAA8B,CACpD,GAAI,EAAQ,CACV,IAAM,EAAgB,KAAM,GAAO,aAAa,CAChD,IAAK,EACH,KAAM,CAAI,MAAM,sBAAA,AAEnB,CAED,GAAI,EAAW,CACb,GAAM,CAAC,CAAC,CAAE,SAAQ,CAAC,CAAC,CAAG,KAAM,GAAU,MAAM,wBAA0B,CACvE,GAAI,IAAW,KACb,KAAM,CAAI,MAAM,yBAAA,AAEnB,CAUD,OARI,GACF,KAAM,GAAM,MAAM,CAGhB,GACF,KAAM,GAAc,MAAM,CAGrB,CAAE,OAAQ,IAAM,CACxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"liveness.cjs","names":["options?: { logger?: typeof fallbackLogger; }","logger","fallbackLogger","_req: Request","res: Response"],"sources":["../../src/health/liveness.ts"],"sourcesContent":["import type { Request, Response } from 'express';\nimport { logger as fallbackLogger } from '../logger';\nimport { eventLoopHeartbeat } from './shared';\n\nexport function livenessEndpoint(options?: { logger?: typeof fallbackLogger; }) {\n const logger = options?.logger ?? fallbackLogger;\n\n return async (_req: Request, res: Response): Promise<boolean> => {\n try {\n await eventLoopHeartbeat();\n res.json({ status: 'alive' });\n return true;\n } catch (err) {\n logger.error('Liveness failed', { err });\n res.status(500).json({ err: (err as Error).message });\n return false;\n }\n };\n}\n"],"mappings":"2DAIA,SAAgB,EAAiBA,EAA+C,CAC9E,IAAMC,EAAS,GAAS,QAAUC,EAAAA,OAElC,OAAO,MAAOC,EAAeC,IAAoC,CAC/D,GAAI,CAGF,OAFA,KAAM,GAAA,oBAAoB,CAC1B,EAAI,KAAK,CAAE,OAAQ,OAAS,EAAC,EACtB,CACR,OAAQ,EAAK,CAGZ,MAFA,GAAO,MAAM,kBAAmB,CAAE,KAAK,EAAC,CACxC,EAAI,OAAO,IAAI,CAAC,KAAK,CAAE,IAAM,EAAc,OAAS,EAAC,EAC9C,CACR,CACF,CACF"}
1
+ {"version":3,"file":"liveness.cjs","names":["options?: { logger?: SimpleLogger; }","logger","fallbackLogger","_req: Request","res: Response"],"sources":["../../src/health/liveness.ts"],"sourcesContent":["import type { Request, Response } from 'express';\nimport { logger as fallbackLogger } from '../logger';\nimport { eventLoopHeartbeat } from './shared';\nimport type { SimpleLogger } from './shared';\n\nexport function livenessEndpoint(options?: { logger?: SimpleLogger; }) {\n const logger = options?.logger ?? fallbackLogger;\n\n return async (_req: Request, res: Response): Promise<boolean> => {\n try {\n await eventLoopHeartbeat();\n res.json({ status: 'alive' });\n return true;\n } catch (err) {\n logger.error('Liveness failed', { err });\n res.status(500).json({ err: (err as Error).message });\n return false;\n }\n };\n}\n"],"mappings":"2DAKA,SAAgB,EAAiBA,EAAsC,CACrE,IAAMC,EAAS,GAAS,QAAUC,EAAAA,OAElC,OAAO,MAAOC,EAAeC,IAAoC,CAC/D,GAAI,CAGF,OAFA,KAAM,GAAA,oBAAoB,CAC1B,EAAI,KAAK,CAAE,OAAQ,OAAS,EAAC,EACtB,CACR,OAAQ,EAAK,CAGZ,MAFA,GAAO,MAAM,kBAAmB,CAAE,KAAK,EAAC,CACxC,EAAI,OAAO,IAAI,CAAC,KAAK,CAAE,IAAM,EAAc,OAAS,EAAC,EAC9C,CACR,CACF,CACF"}
@@ -1,9 +1,9 @@
1
- import { logger } from "../logger.cjs";
1
+ import { SimpleLogger } from "./shared.cjs";
2
2
  import { Request, Response } from "express";
3
3
 
4
4
  //#region src/health/liveness.d.ts
5
5
  declare function livenessEndpoint(options?: {
6
- logger?: typeof logger;
6
+ logger?: SimpleLogger;
7
7
  }): (_req: Request, res: Response) => Promise<boolean>;
8
8
  //#endregion
9
9
  export { livenessEndpoint };
@@ -1,9 +1,9 @@
1
- import { logger } from "../logger.js";
1
+ import { SimpleLogger } from "./shared.js";
2
2
  import { Request, Response } from "express";
3
3
 
4
4
  //#region src/health/liveness.d.ts
5
5
  declare function livenessEndpoint(options?: {
6
- logger?: typeof logger;
6
+ logger?: SimpleLogger;
7
7
  }): (_req: Request, res: Response) => Promise<boolean>;
8
8
  //#endregion
9
9
  export { livenessEndpoint };
@@ -1 +1 @@
1
- {"version":3,"file":"liveness.js","names":["options?: { logger?: typeof fallbackLogger; }","logger","fallbackLogger","_req: Request","res: Response"],"sources":["../../src/health/liveness.ts"],"sourcesContent":["import type { Request, Response } from 'express';\nimport { logger as fallbackLogger } from '../logger';\nimport { eventLoopHeartbeat } from './shared';\n\nexport function livenessEndpoint(options?: { logger?: typeof fallbackLogger; }) {\n const logger = options?.logger ?? fallbackLogger;\n\n return async (_req: Request, res: Response): Promise<boolean> => {\n try {\n await eventLoopHeartbeat();\n res.json({ status: 'alive' });\n return true;\n } catch (err) {\n logger.error('Liveness failed', { err });\n res.status(500).json({ err: (err as Error).message });\n return false;\n }\n };\n}\n"],"mappings":"uFAIA,SAAgB,EAAiBA,EAA+C,CAC9E,IAAMC,EAAS,GAAS,QAAUC,EAElC,OAAO,MAAOC,EAAeC,IAAoC,CAC/D,GAAI,CAGF,OAFA,KAAM,IAAoB,CAC1B,EAAI,KAAK,CAAE,OAAQ,OAAS,EAAC,EACtB,CACR,OAAQ,EAAK,CAGZ,MAFA,GAAO,MAAM,kBAAmB,CAAE,KAAK,EAAC,CACxC,EAAI,OAAO,IAAI,CAAC,KAAK,CAAE,IAAM,EAAc,OAAS,EAAC,EAC9C,CACR,CACF,CACF"}
1
+ {"version":3,"file":"liveness.js","names":["options?: { logger?: SimpleLogger; }","logger","fallbackLogger","_req: Request","res: Response"],"sources":["../../src/health/liveness.ts"],"sourcesContent":["import type { Request, Response } from 'express';\nimport { logger as fallbackLogger } from '../logger';\nimport { eventLoopHeartbeat } from './shared';\nimport type { SimpleLogger } from './shared';\n\nexport function livenessEndpoint(options?: { logger?: SimpleLogger; }) {\n const logger = options?.logger ?? fallbackLogger;\n\n return async (_req: Request, res: Response): Promise<boolean> => {\n try {\n await eventLoopHeartbeat();\n res.json({ status: 'alive' });\n return true;\n } catch (err) {\n logger.error('Liveness failed', { err });\n res.status(500).json({ err: (err as Error).message });\n return false;\n }\n };\n}\n"],"mappings":"uFAKA,SAAgB,EAAiBA,EAAsC,CACrE,IAAMC,EAAS,GAAS,QAAUC,EAElC,OAAO,MAAOC,EAAeC,IAAoC,CAC/D,GAAI,CAGF,OAFA,KAAM,IAAoB,CAC1B,EAAI,KAAK,CAAE,OAAQ,OAAS,EAAC,EACtB,CACR,OAAQ,EAAK,CAGZ,MAFA,GAAO,MAAM,kBAAmB,CAAE,KAAK,EAAC,CACxC,EAAI,OAAO,IAAI,CAAC,KAAK,CAAE,IAAM,EAAc,OAAS,EAAC,EAC9C,CACR,CACF,CACF"}
@@ -1,2 +1,2 @@
1
- const e=require(`../logger.cjs`),t=require(`./shared.cjs`);function n(n){let{rabbit:r,sequelize:i,redis:a,elasticsearch:o,timeoutMs:s=400,logger:c=e.logger}=n;return async(e,n)=>{try{await t.eventLoopHeartbeat();let e=[];return r&&e.push(r.isConnected().then(e=>e||Promise.reject(Error(`Rabbit`)))),i&&e.push(i.authenticate()),a&&e.push(a.ping()),o&&e.push(o.ping()),await t.runParallelChecks(e,s),n.json({status:`ready`}),!0}catch(e){return c.warn(`Readiness failed`,{err:e}),n.status(503).json({err:e.message}),!1}}}exports.readinessEndpoint=n;
1
+ const e=require(`../logger.cjs`),t=require(`./shared.cjs`);function n(n){let{rabbit:r,sequelize:i,redis:a,elasticsearch:o,timeoutMs:s=400,logger:c=e.logger}=n;return async(e,n)=>{try{await t.eventLoopHeartbeat();let e=[];return r&&e.push(r.isConnected().then(e=>e||Promise.reject(Error(`Rabbit`)))),i&&e.push(i.authenticate()),a&&e.push(a.ping()),o&&e.push(o.ping()),await t.runParallelChecks(e,s),n.json({status:`ready`}),!0}catch(e){return c.warn?.(`Readiness failed`,{err:e}),n.status(503).json({err:e.message}),!1}}}exports.readinessEndpoint=n;
2
2
  //# sourceMappingURL=readiness.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"readiness.cjs","names":["deps: ReadinessDeps","fallbackLogger","_req: Request","res: Response","checks: Promise<unknown>[]"],"sources":["../../src/health/readiness.ts"],"sourcesContent":["import type { Request, Response } from 'express';\nimport { logger as fallbackLogger } from '../logger';\nimport {\n eventLoopHeartbeat,\n runParallelChecks,\n} from './shared';\n\nexport interface ReadinessDeps {\n rabbit?: { isConnected: () => Promise<boolean>; };\n sequelize?: { authenticate: () => Promise<void>; };\n redis?: { ping: () => Promise<void>; };\n elasticsearch?: { ping: () => Promise<boolean>; };\n timeoutMs?: number;\n logger?: typeof fallbackLogger;\n}\n\nexport function readinessEndpoint(deps: ReadinessDeps) {\n const {\n rabbit,\n sequelize,\n redis,\n elasticsearch,\n timeoutMs = 400,\n logger = fallbackLogger,\n } = deps;\n\n return async (_req: Request, res: Response): Promise<boolean> => {\n try {\n await eventLoopHeartbeat();\n\n const checks: Promise<unknown>[] = [];\n if (rabbit) checks.push(rabbit.isConnected().then(ok => ok ? ok : Promise.reject(new Error('Rabbit'))));\n if (sequelize) checks.push(sequelize.authenticate());\n if (redis) checks.push(redis.ping());\n if (elasticsearch) checks.push(elasticsearch.ping());\n\n await runParallelChecks(checks, timeoutMs);\n res.json({ status: 'ready' });\n return true;\n } catch (err) {\n logger.warn('Readiness failed', { err });\n res.status(503).json({ err: (err as Error).message });\n return false;\n }\n };\n}\n"],"mappings":"2DAgBA,SAAgB,EAAkBA,EAAqB,CACrD,GAAM,CACJ,SACA,YACA,QACA,gBACA,YAAY,IACZ,OAAA,EAASC,EAAAA,OACV,CAAG,EAEJ,OAAO,MAAOC,EAAeC,IAAoC,CAC/D,GAAI,CACF,KAAM,GAAA,oBAAoB,CAE1B,IAAMC,EAA6B,CAAE,EAQrC,OAPI,GAAQ,EAAO,KAAK,EAAO,aAAa,CAAC,KAAK,GAAM,GAAU,QAAQ,OAAO,AAAI,MAAM,SAAA,CAAU,CAAC,CAAC,CACnG,GAAW,EAAO,KAAK,EAAU,cAAc,CAAC,CAChD,GAAO,EAAO,KAAK,EAAM,MAAM,CAAC,CAChC,GAAe,EAAO,KAAK,EAAc,MAAM,CAAC,CAEpD,KAAM,GAAA,kBAAkB,EAAQ,EAAU,CAC1C,EAAI,KAAK,CAAE,OAAQ,OAAS,EAAC,EACtB,CACR,OAAQ,EAAK,CAGZ,MAFA,GAAO,KAAK,mBAAoB,CAAE,KAAK,EAAC,CACxC,EAAI,OAAO,IAAI,CAAC,KAAK,CAAE,IAAM,EAAc,OAAS,EAAC,EAC9C,CACR,CACF,CACF"}
1
+ {"version":3,"file":"readiness.cjs","names":["deps: ReadinessDeps","fallbackLogger","_req: Request","res: Response","checks: Promise<unknown>[]"],"sources":["../../src/health/readiness.ts"],"sourcesContent":["import type { Request, Response } from 'express';\nimport { logger as fallbackLogger } from '../logger';\nimport {\n eventLoopHeartbeat,\n runParallelChecks,\n type SimpleLogger,\n} from './shared';\n\nexport interface ReadinessDeps {\n rabbit?: { isConnected: () => Promise<boolean>; };\n sequelize?: { authenticate: () => Promise<void>; };\n redis?: { ping: () => Promise<void>; };\n elasticsearch?: { ping: () => Promise<boolean>; };\n timeoutMs?: number;\n logger?: SimpleLogger;\n}\n\nexport function readinessEndpoint(deps: ReadinessDeps) {\n const {\n rabbit,\n sequelize,\n redis,\n elasticsearch,\n timeoutMs = 400,\n logger = fallbackLogger,\n } = deps;\n\n return async (_req: Request, res: Response): Promise<boolean> => {\n try {\n await eventLoopHeartbeat();\n\n const checks: Promise<unknown>[] = [];\n if (rabbit) checks.push(rabbit.isConnected().then(ok => ok ? ok : Promise.reject(new Error('Rabbit'))));\n if (sequelize) checks.push(sequelize.authenticate());\n if (redis) checks.push(redis.ping());\n if (elasticsearch) checks.push(elasticsearch.ping());\n\n await runParallelChecks(checks, timeoutMs);\n res.json({ status: 'ready' });\n return true;\n } catch (err) {\n logger.warn?.('Readiness failed', { err });\n res.status(503).json({ err: (err as Error).message });\n return false;\n }\n };\n}\n"],"mappings":"2DAiBA,SAAgB,EAAkBA,EAAqB,CACrD,GAAM,CACJ,SACA,YACA,QACA,gBACA,YAAY,IACZ,OAAA,EAASC,EAAAA,OACV,CAAG,EAEJ,OAAO,MAAOC,EAAeC,IAAoC,CAC/D,GAAI,CACF,KAAM,GAAA,oBAAoB,CAE1B,IAAMC,EAA6B,CAAE,EAQrC,OAPI,GAAQ,EAAO,KAAK,EAAO,aAAa,CAAC,KAAK,GAAM,GAAU,QAAQ,OAAO,AAAI,MAAM,SAAA,CAAU,CAAC,CAAC,CACnG,GAAW,EAAO,KAAK,EAAU,cAAc,CAAC,CAChD,GAAO,EAAO,KAAK,EAAM,MAAM,CAAC,CAChC,GAAe,EAAO,KAAK,EAAc,MAAM,CAAC,CAEpD,KAAM,GAAA,kBAAkB,EAAQ,EAAU,CAC1C,EAAI,KAAK,CAAE,OAAQ,OAAS,EAAC,EACtB,CACR,OAAQ,EAAK,CAGZ,MAFA,GAAO,OAAO,mBAAoB,CAAE,KAAK,EAAC,CAC1C,EAAI,OAAO,IAAI,CAAC,KAAK,CAAE,IAAM,EAAc,OAAS,EAAC,EAC9C,CACR,CACF,CACF"}
@@ -1,4 +1,4 @@
1
- import { logger } from "../logger.cjs";
1
+ import { SimpleLogger } from "./shared.cjs";
2
2
  import { Request, Response } from "express";
3
3
 
4
4
  //#region src/health/readiness.d.ts
@@ -16,7 +16,7 @@ interface ReadinessDeps {
16
16
  ping: () => Promise<boolean>;
17
17
  };
18
18
  timeoutMs?: number;
19
- logger?: typeof logger;
19
+ logger?: SimpleLogger;
20
20
  }
21
21
  declare function readinessEndpoint(deps: ReadinessDeps): (_req: Request, res: Response) => Promise<boolean>;
22
22
  //#endregion
@@ -1,4 +1,4 @@
1
- import { logger } from "../logger.js";
1
+ import { SimpleLogger } from "./shared.js";
2
2
  import { Request, Response } from "express";
3
3
 
4
4
  //#region src/health/readiness.d.ts
@@ -16,7 +16,7 @@ interface ReadinessDeps {
16
16
  ping: () => Promise<boolean>;
17
17
  };
18
18
  timeoutMs?: number;
19
- logger?: typeof logger;
19
+ logger?: SimpleLogger;
20
20
  }
21
21
  declare function readinessEndpoint(deps: ReadinessDeps): (_req: Request, res: Response) => Promise<boolean>;
22
22
  //#endregion
@@ -1,2 +1,2 @@
1
- import{logger as e}from"../logger.js";import{eventLoopHeartbeat as t,runParallelChecks as n}from"./shared.js";function r(r){let{rabbit:i,sequelize:a,redis:o,elasticsearch:s,timeoutMs:c=400,logger:l=e}=r;return async(e,r)=>{try{await t();let e=[];return i&&e.push(i.isConnected().then(e=>e||Promise.reject(Error(`Rabbit`)))),a&&e.push(a.authenticate()),o&&e.push(o.ping()),s&&e.push(s.ping()),await n(e,c),r.json({status:`ready`}),!0}catch(e){return l.warn(`Readiness failed`,{err:e}),r.status(503).json({err:e.message}),!1}}}export{r as readinessEndpoint};
1
+ import{logger as e}from"../logger.js";import{eventLoopHeartbeat as t,runParallelChecks as n}from"./shared.js";function r(r){let{rabbit:i,sequelize:a,redis:o,elasticsearch:s,timeoutMs:c=400,logger:l=e}=r;return async(e,r)=>{try{await t();let e=[];return i&&e.push(i.isConnected().then(e=>e||Promise.reject(Error(`Rabbit`)))),a&&e.push(a.authenticate()),o&&e.push(o.ping()),s&&e.push(s.ping()),await n(e,c),r.json({status:`ready`}),!0}catch(e){return l.warn?.(`Readiness failed`,{err:e}),r.status(503).json({err:e.message}),!1}}}export{r as readinessEndpoint};
2
2
  //# sourceMappingURL=readiness.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"readiness.js","names":["deps: ReadinessDeps","fallbackLogger","_req: Request","res: Response","checks: Promise<unknown>[]"],"sources":["../../src/health/readiness.ts"],"sourcesContent":["import type { Request, Response } from 'express';\nimport { logger as fallbackLogger } from '../logger';\nimport {\n eventLoopHeartbeat,\n runParallelChecks,\n} from './shared';\n\nexport interface ReadinessDeps {\n rabbit?: { isConnected: () => Promise<boolean>; };\n sequelize?: { authenticate: () => Promise<void>; };\n redis?: { ping: () => Promise<void>; };\n elasticsearch?: { ping: () => Promise<boolean>; };\n timeoutMs?: number;\n logger?: typeof fallbackLogger;\n}\n\nexport function readinessEndpoint(deps: ReadinessDeps) {\n const {\n rabbit,\n sequelize,\n redis,\n elasticsearch,\n timeoutMs = 400,\n logger = fallbackLogger,\n } = deps;\n\n return async (_req: Request, res: Response): Promise<boolean> => {\n try {\n await eventLoopHeartbeat();\n\n const checks: Promise<unknown>[] = [];\n if (rabbit) checks.push(rabbit.isConnected().then(ok => ok ? ok : Promise.reject(new Error('Rabbit'))));\n if (sequelize) checks.push(sequelize.authenticate());\n if (redis) checks.push(redis.ping());\n if (elasticsearch) checks.push(elasticsearch.ping());\n\n await runParallelChecks(checks, timeoutMs);\n res.json({ status: 'ready' });\n return true;\n } catch (err) {\n logger.warn('Readiness failed', { err });\n res.status(503).json({ err: (err as Error).message });\n return false;\n }\n };\n}\n"],"mappings":"8GAgBA,SAAgB,EAAkBA,EAAqB,CACrD,GAAM,CACJ,SACA,YACA,QACA,gBACA,YAAY,IACZ,OAAA,EAASC,EACV,CAAG,EAEJ,OAAO,MAAOC,EAAeC,IAAoC,CAC/D,GAAI,CACF,KAAM,IAAoB,CAE1B,IAAMC,EAA6B,CAAE,EAQrC,OAPI,GAAQ,EAAO,KAAK,EAAO,aAAa,CAAC,KAAK,GAAM,GAAU,QAAQ,OAAO,AAAI,MAAM,SAAA,CAAU,CAAC,CAAC,CACnG,GAAW,EAAO,KAAK,EAAU,cAAc,CAAC,CAChD,GAAO,EAAO,KAAK,EAAM,MAAM,CAAC,CAChC,GAAe,EAAO,KAAK,EAAc,MAAM,CAAC,CAEpD,KAAM,GAAkB,EAAQ,EAAU,CAC1C,EAAI,KAAK,CAAE,OAAQ,OAAS,EAAC,EACtB,CACR,OAAQ,EAAK,CAGZ,MAFA,GAAO,KAAK,mBAAoB,CAAE,KAAK,EAAC,CACxC,EAAI,OAAO,IAAI,CAAC,KAAK,CAAE,IAAM,EAAc,OAAS,EAAC,EAC9C,CACR,CACF,CACF"}
1
+ {"version":3,"file":"readiness.js","names":["deps: ReadinessDeps","fallbackLogger","_req: Request","res: Response","checks: Promise<unknown>[]"],"sources":["../../src/health/readiness.ts"],"sourcesContent":["import type { Request, Response } from 'express';\nimport { logger as fallbackLogger } from '../logger';\nimport {\n eventLoopHeartbeat,\n runParallelChecks,\n type SimpleLogger,\n} from './shared';\n\nexport interface ReadinessDeps {\n rabbit?: { isConnected: () => Promise<boolean>; };\n sequelize?: { authenticate: () => Promise<void>; };\n redis?: { ping: () => Promise<void>; };\n elasticsearch?: { ping: () => Promise<boolean>; };\n timeoutMs?: number;\n logger?: SimpleLogger;\n}\n\nexport function readinessEndpoint(deps: ReadinessDeps) {\n const {\n rabbit,\n sequelize,\n redis,\n elasticsearch,\n timeoutMs = 400,\n logger = fallbackLogger,\n } = deps;\n\n return async (_req: Request, res: Response): Promise<boolean> => {\n try {\n await eventLoopHeartbeat();\n\n const checks: Promise<unknown>[] = [];\n if (rabbit) checks.push(rabbit.isConnected().then(ok => ok ? ok : Promise.reject(new Error('Rabbit'))));\n if (sequelize) checks.push(sequelize.authenticate());\n if (redis) checks.push(redis.ping());\n if (elasticsearch) checks.push(elasticsearch.ping());\n\n await runParallelChecks(checks, timeoutMs);\n res.json({ status: 'ready' });\n return true;\n } catch (err) {\n logger.warn?.('Readiness failed', { err });\n res.status(503).json({ err: (err as Error).message });\n return false;\n }\n };\n}\n"],"mappings":"8GAiBA,SAAgB,EAAkBA,EAAqB,CACrD,GAAM,CACJ,SACA,YACA,QACA,gBACA,YAAY,IACZ,OAAA,EAASC,EACV,CAAG,EAEJ,OAAO,MAAOC,EAAeC,IAAoC,CAC/D,GAAI,CACF,KAAM,IAAoB,CAE1B,IAAMC,EAA6B,CAAE,EAQrC,OAPI,GAAQ,EAAO,KAAK,EAAO,aAAa,CAAC,KAAK,GAAM,GAAU,QAAQ,OAAO,AAAI,MAAM,SAAA,CAAU,CAAC,CAAC,CACnG,GAAW,EAAO,KAAK,EAAU,cAAc,CAAC,CAChD,GAAO,EAAO,KAAK,EAAM,MAAM,CAAC,CAChC,GAAe,EAAO,KAAK,EAAc,MAAM,CAAC,CAEpD,KAAM,GAAkB,EAAQ,EAAU,CAC1C,EAAI,KAAK,CAAE,OAAQ,OAAS,EAAC,EACtB,CACR,OAAQ,EAAK,CAGZ,MAFA,GAAO,OAAO,mBAAoB,CAAE,KAAK,EAAC,CAC1C,EAAI,OAAO,IAAI,CAAC,KAAK,CAAE,IAAM,EAAc,OAAS,EAAC,EAC9C,CACR,CACF,CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"shared.cjs","names":["checks: Promise<unknown>[]","timeoutMs: number"],"sources":["../../src/health/shared.ts"],"sourcesContent":["export function eventLoopHeartbeat(maxLag = 200): Promise<void> {\n return new Promise((resolve, reject) => {\n const start = Date.now();\n setImmediate(() => {\n if (Date.now() - start > maxLag) {\n reject(new Error('event‑loop lag'));\n } else {\n resolve();\n }\n });\n });\n}\n\nexport async function runParallelChecks(\n checks: Promise<unknown>[],\n timeoutMs: number,\n): Promise<void> {\n const timeout = new Promise((_, reject) =>\n setTimeout(reject, timeoutMs, new Error('probe timeout')),\n );\n return Promise.race([Promise.all(checks), timeout]).then(() => undefined);\n}\n"],"mappings":"AAAA,SAAgB,EAAmB,EAAS,IAAoB,CAC9D,OAAO,IAAI,QAAQ,CAAC,EAAS,IAAW,CACtC,IAAM,EAAQ,KAAK,KAAK,CACxB,aAAa,IAAM,CACjB,AAAI,KAAK,KAAK,CAAG,EAAQ,EACvB,EAAO,AAAI,MAAM,iBAAA,CAAkB,CAEnC,GAAS,AAEZ,EAAC,AACH,EACF,CAED,eAAsB,EACpBA,EACAC,EACe,CACf,IAAM,EAAU,IAAI,QAAQ,CAAC,EAAG,IAC9B,WAAW,EAAQ,EAAW,AAAI,MAAM,gBAAA,CAAiB,EAE3D,MAAO,SAAQ,KAAK,CAAC,QAAQ,IAAI,EAAO,CAAE,CAAQ,EAAC,CAAC,KAAK,QAAA,GAAgB,AAC1E"}
1
+ {"version":3,"file":"shared.cjs","names":["checks: Promise<unknown>[]","timeoutMs: number"],"sources":["../../src/health/shared.ts"],"sourcesContent":["export interface SimpleLogger {\n error: (message: string, meta: Record<string, unknown>) => void;\n warn?: (message: string, meta: Record<string, unknown>) => void;\n info?: (message: string, meta: Record<string, unknown>) => void;\n};\n\nexport function eventLoopHeartbeat(maxLag = 200): Promise<void> {\n return new Promise((resolve, reject) => {\n const start = Date.now();\n setImmediate(() => {\n if (Date.now() - start > maxLag) {\n reject(new Error('event‑loop lag'));\n } else {\n resolve();\n }\n });\n });\n}\n\nexport async function runParallelChecks(\n checks: Promise<unknown>[],\n timeoutMs: number,\n): Promise<void> {\n const timeout = new Promise((_, reject) =>\n setTimeout(reject, timeoutMs, new Error('probe timeout')),\n );\n return Promise.race([Promise.all(checks), timeout]).then(() => undefined);\n}\n"],"mappings":"AAMA,SAAgB,EAAmB,EAAS,IAAoB,CAC9D,OAAO,IAAI,QAAQ,CAAC,EAAS,IAAW,CACtC,IAAM,EAAQ,KAAK,KAAK,CACxB,aAAa,IAAM,CACjB,AAAI,KAAK,KAAK,CAAG,EAAQ,EACvB,EAAO,AAAI,MAAM,iBAAA,CAAkB,CAEnC,GAAS,AAEZ,EAAC,AACH,EACF,CAED,eAAsB,EACpBA,EACAC,EACe,CACf,IAAM,EAAU,IAAI,QAAQ,CAAC,EAAG,IAC9B,WAAW,EAAQ,EAAW,AAAI,MAAM,gBAAA,CAAiB,EAE3D,MAAO,SAAQ,KAAK,CAAC,QAAQ,IAAI,EAAO,CAAE,CAAQ,EAAC,CAAC,KAAK,QAAA,GAAgB,AAC1E"}
@@ -0,0 +1,9 @@
1
+ //#region src/health/shared.d.ts
2
+ interface SimpleLogger {
3
+ error: (message: string, meta: Record<string, unknown>) => void;
4
+ warn?: (message: string, meta: Record<string, unknown>) => void;
5
+ info?: (message: string, meta: Record<string, unknown>) => void;
6
+ }
7
+ //#endregion
8
+ export { SimpleLogger };
9
+ //# sourceMappingURL=shared.d.cts.map
@@ -0,0 +1,9 @@
1
+ //#region src/health/shared.d.ts
2
+ interface SimpleLogger {
3
+ error: (message: string, meta: Record<string, unknown>) => void;
4
+ warn?: (message: string, meta: Record<string, unknown>) => void;
5
+ info?: (message: string, meta: Record<string, unknown>) => void;
6
+ }
7
+ //#endregion
8
+ export { SimpleLogger };
9
+ //# sourceMappingURL=shared.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","names":["checks: Promise<unknown>[]","timeoutMs: number"],"sources":["../../src/health/shared.ts"],"sourcesContent":["export function eventLoopHeartbeat(maxLag = 200): Promise<void> {\n return new Promise((resolve, reject) => {\n const start = Date.now();\n setImmediate(() => {\n if (Date.now() - start > maxLag) {\n reject(new Error('event‑loop lag'));\n } else {\n resolve();\n }\n });\n });\n}\n\nexport async function runParallelChecks(\n checks: Promise<unknown>[],\n timeoutMs: number,\n): Promise<void> {\n const timeout = new Promise((_, reject) =>\n setTimeout(reject, timeoutMs, new Error('probe timeout')),\n );\n return Promise.race([Promise.all(checks), timeout]).then(() => undefined);\n}\n"],"mappings":"AAAA,SAAgB,EAAmB,EAAS,IAAoB,CAC9D,OAAO,IAAI,QAAQ,CAAC,EAAS,IAAW,CACtC,IAAM,EAAQ,KAAK,KAAK,CACxB,aAAa,IAAM,CACjB,AAAI,KAAK,KAAK,CAAG,EAAQ,EACvB,EAAO,AAAI,MAAM,iBAAA,CAAkB,CAEnC,GAAS,AAEZ,EAAC,AACH,EACF,CAED,eAAsB,EACpBA,EACAC,EACe,CACf,IAAM,EAAU,IAAI,QAAQ,CAAC,EAAG,IAC9B,WAAW,EAAQ,EAAW,AAAI,MAAM,gBAAA,CAAiB,EAE3D,MAAO,SAAQ,KAAK,CAAC,QAAQ,IAAI,EAAO,CAAE,CAAQ,EAAC,CAAC,KAAK,QAAA,GAAgB,AAC1E"}
1
+ {"version":3,"file":"shared.js","names":["checks: Promise<unknown>[]","timeoutMs: number"],"sources":["../../src/health/shared.ts"],"sourcesContent":["export interface SimpleLogger {\n error: (message: string, meta: Record<string, unknown>) => void;\n warn?: (message: string, meta: Record<string, unknown>) => void;\n info?: (message: string, meta: Record<string, unknown>) => void;\n};\n\nexport function eventLoopHeartbeat(maxLag = 200): Promise<void> {\n return new Promise((resolve, reject) => {\n const start = Date.now();\n setImmediate(() => {\n if (Date.now() - start > maxLag) {\n reject(new Error('event‑loop lag'));\n } else {\n resolve();\n }\n });\n });\n}\n\nexport async function runParallelChecks(\n checks: Promise<unknown>[],\n timeoutMs: number,\n): Promise<void> {\n const timeout = new Promise((_, reject) =>\n setTimeout(reject, timeoutMs, new Error('probe timeout')),\n );\n return Promise.race([Promise.all(checks), timeout]).then(() => undefined);\n}\n"],"mappings":"AAMA,SAAgB,EAAmB,EAAS,IAAoB,CAC9D,OAAO,IAAI,QAAQ,CAAC,EAAS,IAAW,CACtC,IAAM,EAAQ,KAAK,KAAK,CACxB,aAAa,IAAM,CACjB,AAAI,KAAK,KAAK,CAAG,EAAQ,EACvB,EAAO,AAAI,MAAM,iBAAA,CAAkB,CAEnC,GAAS,AAEZ,EAAC,AACH,EACF,CAED,eAAsB,EACpBA,EACAC,EACe,CACf,IAAM,EAAU,IAAI,QAAQ,CAAC,EAAG,IAC9B,WAAW,EAAQ,EAAW,AAAI,MAAM,gBAAA,CAAiB,EAE3D,MAAO,SAAQ,KAAK,CAAC,QAAQ,IAAI,EAAO,CAAE,CAAQ,EAAC,CAAC,KAAK,QAAA,GAAgB,AAC1E"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@autofleet/nitur",
3
- "version": "2.2.1-0",
3
+ "version": "2.2.1-2",
4
4
  "description": "A package for service monitoring",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",
@@ -1,31 +0,0 @@
1
- import Pino from "pino";
2
-
3
- //#region ../logger/src/index.d.ts
4
- declare enum LogLevel {
5
- trace = "trace",
6
- debug = "debug",
7
- info = "info",
8
- warn = "warn",
9
- error = "error",
10
- fatal = "fatal",
11
- }
12
- type MiddlewareFunction = () => Record<string, unknown>;
13
- declare class LoggerInstanceManager {
14
- #private;
15
- constructor(logLevel?: LogLevel);
16
- // To support winston like logging in pino
17
- private winstonLikeLoggerCall;
18
- private addMetadata;
19
- addContextMiddleware: (middleware: MiddlewareFunction) => number;
20
- trace: (message: string, meta?: unknown) => void;
21
- debug: (message: string, meta?: unknown) => void;
22
- info: (message: string, meta?: unknown) => void;
23
- warn: (message: string, meta?: unknown) => void;
24
- error: (message: string, meta?: unknown) => void;
25
- fatal: (message: string, meta?: unknown) => void;
26
- child: (metadata: Record<string, unknown>) => Pino.Logger;
27
- get level(): Pino.LevelWithSilentOrString;
28
- }
29
- //#endregion
30
- export { LoggerInstanceManager };
31
- //# sourceMappingURL=index.d.cts.map
@@ -1,31 +0,0 @@
1
- import Pino from "pino";
2
-
3
- //#region ../logger/src/index.d.ts
4
- declare enum LogLevel {
5
- trace = "trace",
6
- debug = "debug",
7
- info = "info",
8
- warn = "warn",
9
- error = "error",
10
- fatal = "fatal",
11
- }
12
- type MiddlewareFunction = () => Record<string, unknown>;
13
- declare class LoggerInstanceManager {
14
- #private;
15
- constructor(logLevel?: LogLevel);
16
- // To support winston like logging in pino
17
- private winstonLikeLoggerCall;
18
- private addMetadata;
19
- addContextMiddleware: (middleware: MiddlewareFunction) => number;
20
- trace: (message: string, meta?: unknown) => void;
21
- debug: (message: string, meta?: unknown) => void;
22
- info: (message: string, meta?: unknown) => void;
23
- warn: (message: string, meta?: unknown) => void;
24
- error: (message: string, meta?: unknown) => void;
25
- fatal: (message: string, meta?: unknown) => void;
26
- child: (metadata: Record<string, unknown>) => Pino.Logger;
27
- get level(): Pino.LevelWithSilentOrString;
28
- }
29
- //#endregion
30
- export { LoggerInstanceManager };
31
- //# sourceMappingURL=index.d.ts.map
package/lib/logger.d.cts DELETED
@@ -1,7 +0,0 @@
1
- import { LoggerInstanceManager } from "./logger/src/index.cjs";
2
-
3
- //#region src/logger.d.ts
4
- declare const logger: LoggerInstanceManager;
5
- //#endregion
6
- export { logger };
7
- //# sourceMappingURL=logger.d.cts.map
package/lib/logger.d.ts DELETED
@@ -1,7 +0,0 @@
1
- import { LoggerInstanceManager } from "./logger/src/index.js";
2
-
3
- //#region src/logger.d.ts
4
- declare const logger: LoggerInstanceManager;
5
- //#endregion
6
- export { logger };
7
- //# sourceMappingURL=logger.d.ts.map