@autofleet/nitur 2.2.1-2 → 2.2.1-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,2 +1,2 @@
1
- const e=require(`../logger.cjs`),t=require(`./shared.cjs`);function n(n){let r=n?.logger??e.logger;return async(e,n)=>{try{return await t.eventLoopHeartbeat(),n.json({status:`alive`}),!0}catch(e){return r.error(`Liveness failed`,{err:e}),n.status(500).json({err:e.message}),!1}}}exports.livenessEndpoint=n;
1
+ const e=require(`../logger.cjs`),t=require(`./shared.cjs`);function n(n){let r=n?.logger??e.logger;return async(e,n)=>{try{return await t.eventLoopHeartbeat(),r.debug?.(`Liveness check passed`,{pid:process.pid}),n.status(200).json({status:`ok`}),!0}catch(e){return r.error(`Liveness failed`,{err:e}),n.status(500).json({err:e.message}),!1}}}exports.livenessEndpoint=n;
2
2
  //# sourceMappingURL=liveness.cjs.map
@@ -1 +1 @@
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
+ {"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 logger.debug?.('Liveness check passed', { pid: process.pid });\n res.status(200).json({ status: 'ok' });\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,CAIF,OAHA,KAAM,GAAA,oBAAoB,CAC1B,EAAO,QAAQ,wBAAyB,CAAE,IAAK,QAAQ,GAAK,EAAC,CAC7D,EAAI,OAAO,IAAI,CAAC,KAAK,CAAE,OAAQ,IAAM,EAAC,EAC/B,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
- import{logger as e}from"../logger.js";import{eventLoopHeartbeat as t}from"./shared.js";function n(n){let r=n?.logger??e;return async(e,n)=>{try{return await t(),n.json({status:`alive`}),!0}catch(e){return r.error(`Liveness failed`,{err:e}),n.status(500).json({err:e.message}),!1}}}export{n as livenessEndpoint};
1
+ import{logger as e}from"../logger.js";import{eventLoopHeartbeat as t}from"./shared.js";function n(n){let r=n?.logger??e;return async(e,n)=>{try{return await t(),r.debug?.(`Liveness check passed`,{pid:process.pid}),n.status(200).json({status:`ok`}),!0}catch(e){return r.error(`Liveness failed`,{err:e}),n.status(500).json({err:e.message}),!1}}}export{n as livenessEndpoint};
2
2
  //# sourceMappingURL=liveness.js.map
@@ -1 +1 @@
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
+ {"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 logger.debug?.('Liveness check passed', { pid: process.pid });\n res.status(200).json({ status: 'ok' });\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,CAIF,OAHA,KAAM,IAAoB,CAC1B,EAAO,QAAQ,wBAAyB,CAAE,IAAK,QAAQ,GAAK,EAAC,CAC7D,EAAI,OAAO,IAAI,CAAC,KAAK,CAAE,OAAQ,IAAM,EAAC,EAC/B,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=>{if(!e)throw Error(`RabbitMQ is not connected`);return c.debug?.(`RabbitMQ is connected`,{pid:process.pid}),e})),i&&e.push(i.authenticate().then(()=>(c.debug?.(`Sequelize connection is authenticated`,{pid:process.pid}),!0))),a&&e.push(a.ping().then(()=>(c.debug?.(`Redis is connected`,{pid:process.pid}),!0))),o&&e.push(o.ping()),await t.runParallelChecks(e,s),c.debug?.(`Readiness check passed`,{pid:process.pid}),n.status(200).json({status:`ok`}),!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 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
+ {"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) {\n checks.push(rabbit.isConnected().then((ok) => {\n if (!ok) {\n throw new Error('RabbitMQ is not connected');\n }\n logger.debug?.('RabbitMQ is connected', { pid: process.pid });\n return ok;\n }));\n }\n if (sequelize) checks.push(sequelize.authenticate().then(() => {\n logger.debug?.('Sequelize connection is authenticated', { pid: process.pid });\n return true;\n }));\n if (redis) checks.push(redis.ping().then(() => {\n logger.debug?.('Redis is connected', { pid: process.pid });\n return true;\n }));\n if (elasticsearch) checks.push(elasticsearch.ping());\n\n await runParallelChecks(checks, timeoutMs);\n logger.debug?.('Readiness check passed', { pid: process.pid });\n res.status(200).json({ status: 'ok' });\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,EAuBrC,OAtBI,GACF,EAAO,KAAK,EAAO,aAAa,CAAC,KAAK,AAAC,GAAO,CAC5C,IAAK,EACH,KAAM,CAAI,MAAM,4BAAA,CAGlB,MADA,GAAO,QAAQ,wBAAyB,CAAE,IAAK,QAAQ,GAAK,EAAC,CACtD,CACR,EAAC,CAAC,CAED,GAAW,EAAO,KAAK,EAAU,cAAc,CAAC,KAAK,KACvD,EAAO,QAAQ,wCAAyC,CAAE,IAAK,QAAQ,GAAK,EAAC,EACtE,GACP,CAAC,CACC,GAAO,EAAO,KAAK,EAAM,MAAM,CAAC,KAAK,KACvC,EAAO,QAAQ,qBAAsB,CAAE,IAAK,QAAQ,GAAK,EAAC,EACnD,GACP,CAAC,CACC,GAAe,EAAO,KAAK,EAAc,MAAM,CAAC,CAEpD,KAAM,GAAA,kBAAkB,EAAQ,EAAU,CAC1C,EAAO,QAAQ,yBAA0B,CAAE,IAAK,QAAQ,GAAK,EAAC,CAC9D,EAAI,OAAO,IAAI,CAAC,KAAK,CAAE,OAAQ,IAAM,EAAC,EAC/B,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,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=>{if(!e)throw Error(`RabbitMQ is not connected`);return l.debug?.(`RabbitMQ is connected`,{pid:process.pid}),e})),a&&e.push(a.authenticate().then(()=>(l.debug?.(`Sequelize connection is authenticated`,{pid:process.pid}),!0))),o&&e.push(o.ping().then(()=>(l.debug?.(`Redis is connected`,{pid:process.pid}),!0))),s&&e.push(s.ping()),await n(e,c),l.debug?.(`Readiness check passed`,{pid:process.pid}),r.status(200).json({status:`ok`}),!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 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
+ {"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) {\n checks.push(rabbit.isConnected().then((ok) => {\n if (!ok) {\n throw new Error('RabbitMQ is not connected');\n }\n logger.debug?.('RabbitMQ is connected', { pid: process.pid });\n return ok;\n }));\n }\n if (sequelize) checks.push(sequelize.authenticate().then(() => {\n logger.debug?.('Sequelize connection is authenticated', { pid: process.pid });\n return true;\n }));\n if (redis) checks.push(redis.ping().then(() => {\n logger.debug?.('Redis is connected', { pid: process.pid });\n return true;\n }));\n if (elasticsearch) checks.push(elasticsearch.ping());\n\n await runParallelChecks(checks, timeoutMs);\n logger.debug?.('Readiness check passed', { pid: process.pid });\n res.status(200).json({ status: 'ok' });\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,EAuBrC,OAtBI,GACF,EAAO,KAAK,EAAO,aAAa,CAAC,KAAK,AAAC,GAAO,CAC5C,IAAK,EACH,KAAM,CAAI,MAAM,4BAAA,CAGlB,MADA,GAAO,QAAQ,wBAAyB,CAAE,IAAK,QAAQ,GAAK,EAAC,CACtD,CACR,EAAC,CAAC,CAED,GAAW,EAAO,KAAK,EAAU,cAAc,CAAC,KAAK,KACvD,EAAO,QAAQ,wCAAyC,CAAE,IAAK,QAAQ,GAAK,EAAC,EACtE,GACP,CAAC,CACC,GAAO,EAAO,KAAK,EAAM,MAAM,CAAC,KAAK,KACvC,EAAO,QAAQ,qBAAsB,CAAE,IAAK,QAAQ,GAAK,EAAC,EACnD,GACP,CAAC,CACC,GAAe,EAAO,KAAK,EAAc,MAAM,CAAC,CAEpD,KAAM,GAAkB,EAAQ,EAAU,CAC1C,EAAO,QAAQ,yBAA0B,CAAE,IAAK,QAAQ,GAAK,EAAC,CAC9D,EAAI,OAAO,IAAI,CAAC,KAAK,CAAE,OAAQ,IAAM,EAAC,EAC/B,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 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"}
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 debug?: (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":"AAOA,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,8 +1,9 @@
1
1
  //#region src/health/shared.d.ts
2
2
  interface SimpleLogger {
3
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;
4
+ warn: (message: string, meta: Record<string, unknown>) => void;
5
+ info: (message: string, meta: Record<string, unknown>) => void;
6
+ debug?: (message: string, meta: Record<string, unknown>) => void;
6
7
  }
7
8
  //#endregion
8
9
  export { SimpleLogger };
@@ -1,8 +1,9 @@
1
1
  //#region src/health/shared.d.ts
2
2
  interface SimpleLogger {
3
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;
4
+ warn: (message: string, meta: Record<string, unknown>) => void;
5
+ info: (message: string, meta: Record<string, unknown>) => void;
6
+ debug?: (message: string, meta: Record<string, unknown>) => void;
6
7
  }
7
8
  //#endregion
8
9
  export { SimpleLogger };
@@ -1 +1 @@
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"}
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 debug?: (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":"AAOA,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-2",
3
+ "version": "2.2.1-4",
4
4
  "description": "A package for service monitoring",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",